Commit Graph

50303 Commits

Author SHA1 Message Date
Chris Dalton
6b3c2f653b Move GrWangsFormula::nextlog2 to sk_float_nextlog2
Other code outside this namespace will want to use this method soon.

Bug: skia:10419
Change-Id: Ib155f224866fd333b8f9a4b78e6c9e51ac0600df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311936
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-08-19 23:45:12 +00:00
John Stiles
da8588879b Remove final vestiges of sk_InColor.
Change-Id: Ic10676b76ec2ea93a280626a89ec8dadd7225bd6
Bug: skia:10619
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311996
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-08-19 22:12:22 +00:00
Ethan Nicholas
284f2c4bea SkSL now supports uniform array types
Change-Id: I809e9c424ee92b05f0a87d75d1384c92849e1474
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308498
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-08-19 21:50:56 +00:00
Chris Dalton
26766ad427 Add utilities to SkGeometry for quad and cubic rotation angles
Adds methods to measure the rotation angles of quadratics and cubics,
and to chop curves at locations that divide the rotation angle in half.

Bug: skia:10419
Change-Id: I840e12034fc66e1a459de875fefda07a27a78335
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308880
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-08-19 21:39:44 +00:00
Mike Klein
f647dc752d update placeholder approx op count
Now that approxOpCount() can recurse into sub pictures,
adding ~0 will overflow its total count.

New tests fail at head, pass now.

Change-Id: Icdb7d8a062739724207c9a6369734510f00f2ffd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311774
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-19 21:33:54 +00:00
John Stiles
1f02286ea6 Remove sk_InColor from unit tests.
It's been replaced with a `uniform half4` in tests where it was needed,
which tends to generate similar code overall.

Change-Id: Iacc062efaeae37ebecf78505abe0fc563b69ceb0
Bug: skia:10619
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311099
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-08-19 21:26:54 +00:00
Adlai Holler
ed1bf120d9 Remove GrContext variant of SkImageGenerator::isValid
This method isn't used by anyone, and I needed to land SOMETHING
in the middle of banging my head against CL 310656 :-)

Bug: skia:104662
Change-Id: Iaf529ac7551b22213891eb4be78d7904938aa989
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311816
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-08-19 19:47:14 +00:00
John Stiles
9d944236e8 Fix simplification of switch statements with casts.
The original code assumed that the switch value and case value would
both be IntLiterals, and asserted if this were not true. However, in
sufficiently complicated cases, the switch value can sometimes be a
Constructor containing a scalar.

It's possible that there's a fix to constant propagation which would
flatten out this Constructor to just a scalar, but that has eluded me
for today, and this approach does seem to solve the issue. (Also, it's
surprising that the optimizer does not notice that it can simplify
`half4(1.0, 2.0, 3.0, 4.0).yyyy`.)

Change-Id: Id490b15c724dd174c448665a19242cc80cdce213
Bug: skia:10623
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311636
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-19 18:43:27 +00:00
Mike Reed
18305c3d36 pass 'nested' bool to approximateOpCount
Change-Id: I5b1baf2bc3aafa03c1d0cace4f7c09a09cf4a084
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311112
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-08-19 16:45:53 +00:00
Mike Klein
1a5b9b0628 clean up SK_LATE_DITHER
Change-Id: I2da0889ee34bf82a7ee0529cdff5107bb81c7d28
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311758
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-19 16:44:22 +00:00
Ethan Nicholas
338e57d4b1 Added support for the 'inline' hint on SkSL functions
Change-Id: Ib78e0ad9fd1cc15e7afeb2a9ddd6b1249828fbe7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311603
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-08-19 15:47:09 +00:00
Mike Klein
7f1117e886 remove sksl interpreter guards
This is only used by particles, benchmarks, and tests,
and should be swept away by dead code elimination otherwise.

Change-Id: I10462d6ae0a08dd8219fc49325160ec6790632af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311759
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-19 14:44:09 +00:00
John Stiles
17c5b70242 Add as<SymbolSubclass> to downcast Symbols more safely.
The as<T>() function asserts that the Symbol is of the correct kind
before performing the downcast, and is also generally easier to read
as function calls flow naturally from left-to-right, and C-style casts
don't.

This CL updates several Symbol downcasts in SkSL to the as<T>
syntax, but is not intended to exhaustively replace them all (although
that would be ideal). In places where we SkASSERTed the expression's
fKind immediately before a cast, the assert has been removed because it
would be redundant with the behavior of as<T>().

Change-Id: I33cb2b9657dc410241dbc96be85c4ce182a1b391
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311436
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-08-19 14:21:40 +00:00
Ethan Nicholas
bc6fb279fe SkSL CPP and H backends no longer emitted in non-dev builds
As these backends are never used at runtime, it's pointless to include
them in the Skia binaries. We still include them in GR_TEST_UTILS mode
to support unit tests.

Change-Id: I9ec9cc9300b74c501985656323ec894008255a70
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311454
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-08-19 14:12:49 +00:00
Mike Klein
4a56f4c29e densify dump_record
I don't know why the meat is in a separate file.

Change-Id: I9bbc475d1644dd1d596cb7c98ae0e0292846e5d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311585
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-19 13:35:09 +00:00
skia-autoroll
356838b9f8 Roll Chromium from 06c431ffe930 to ff3c275665f9 (515 revisions)
06c431ffe9..ff3c275665

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC stani@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: stani@google.com
Change-Id: Icd13238c7103cd1b5acc8c4ed2f1e90bc9cf0474
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311589
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-19 04:48:30 +00:00
skia-autoroll
da057238a2 Roll ANGLE from dceaabb18162 to 699bcde0b729 (17 revisions)
dceaabb181..699bcde0b7

2020-08-19 jmadill@chromium.org Feedback Loop Redesign 2/3: Track bound FBOs in Texture.
2020-08-19 jmadill@chromium.org Vulkan: Add overlay widget for RP buffer count.
2020-08-18 jmadill@chromium.org Feedback Loop Redesign 1/3: Framebuffer Serials.
2020-08-18 lehoangq@gmail.com Metal: autogen format caps from json
2020-08-18 jmadill@chromium.org Vulkan: Add DS ReadOnly mode to Framebuffer/RP caches.
2020-08-18 lehoangq@gmail.com Metal: Fix missing image view for texture from IOSurface.
2020-08-18 jmadill@chromium.org Auto-gen more Overlay code.
2020-08-18 jmadill@chromium.org Clean up Overlay code duplication.
2020-08-18 jmadill@chromium.org Vulkan: Clean up ImageLayout enum.
2020-08-18 cnorthrop@google.com Tests: Add COD:Mobile trace
2020-08-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Headers from 99638d8d7fc6 to 834673eaa34a (1 revision)
2020-08-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from 758b30727efc to f257e0ea6b9a (2 revisions)
2020-08-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from b8de4f57e983 to e28436f2b8a2 (3 revisions)
2020-08-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from 527e67e9d933 to 30b3f3857835 (13 revisions)
2020-08-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from c1db3b8e7960 to 9d431ae2eeb4 (1 revision)
2020-08-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from abe07b943855 to 6f74415e2f74 (2 revisions)
2020-08-18 jmadill@chromium.org Vulkan: Clean up handleDirtyTexturesImpl.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC stani@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: stani@google.com
Test: Test: angle_perftests --gtest_filter=TracePerfTest.Run/*cod_mobile*
Change-Id: I9937cf6f9f6b6bd816e3fca6f5bdb4d83ef78a98
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311696
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-19 04:47:10 +00:00
skia-autoroll
b941277395 Roll SwiftShader from 6f74415e2f74 to cbfd396756c6 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/6f74415e2f74..cbfd396756c6

2020-08-18 sugoi@google.com Control Flow Integrity (cfi) fix

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC stani@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: stani@google.com
Change-Id: I99720f0048311d6a53b4db686b82cb1e4afb10be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311588
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-19 04:33:39 +00:00
skia-autoroll
6004bcb3bd Roll dawn from d95180deded1 to b54c82ed3948 (4 revisions)
https://dawn.googlesource.com/dawn.git/+log/d95180deded1..b54c82ed3948

2020-08-18 enga@chromium.org Support depth-only/stencil-only COPY_SRC on OpenGL
2020-08-18 cwallez@chromium.org Metal: Remove usage of MTLTextureUsagePixelFormatView
2020-08-18 dpranke@google.com Fix visibility rules for configs enforced by latest GN.
2020-08-18 cwallez@chromium.org OpenGL: Unconditionally set glFrontFace

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: cwallez@google.com
Change-Id: I0a922c8a0762fd8be730f1c3672371385be175d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311656
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-19 04:29:09 +00:00
Ben Wagner
81eabce6a3 SkCustomTypefaceBuilder to set SkFontStyle
Allow the user of SkCustomTypefaceBuilder to set the SkFontStyle of the
resulting SkTypeface. This allows users to build font families.

Fix the Font_flatten test to actually work (instead of relying on the
magic behavior of nullptr for SkTypeface), add a test with the custom
typeface, and reduce the number of times the inner loop runs from
302,400 times to 4,032 times so that the test finishes in a reasonable
amount of time.

Bug: skia:10630
Change-Id: I0b5e939552ee4a9a1249eefbb7a7279a59b38e5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311596
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Xiao Yu <xster@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-08-19 00:09:55 +00:00
Florin Malita
59a3c3be94 SFML [1] backed for SkAudioPlayer/Linux
For now this relies on system libs and requires explicit opt-in
(skia_use_sfml=true).

[1] https://www.sfml-dev.org/

TBR=
Change-Id: Iff89efdb4494f79530d0d41dee80ff38d4e75671
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310065
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-08-18 17:58:55 +00:00
Brian Osman
eb3fb90675 Tweak viewer's shader panel
Base the box size on the shader length (within reason).

Change-Id: If847cb4de0cea3cb2267f284fd5bbb653f25e185
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311455
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-08-18 17:44:35 +00:00
John Stiles
0e8149c6bd Add support for more basic types in SkSLCPPCodeGenerator.
While writing test code for skia:10623, I encountered a separate bug in
the SkSL compiler. Specifically, the codegen would assert when trying to
emit a function that returned an int. There were several basic types
missing from `glsltype_string`. I've added them, and created a unit
tests to exercise a subset of them.

Change-Id: Ied6aaacc67f472998cb6673490c4d98ce98886d2
Bug: skia:10631
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311453
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2020-08-18 17:19:16 +00:00
John Stiles
a5a97b4858 Replace various C-style casts in SkSLCompiler with as<T>.
This also shook out a few minor const-correctness issues which had been
masked by C-style casts.

Change-Id: I7680d43b1bb52c6e5d7c2e7e0f6d7e5ff7dea0d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311448
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-08-18 15:53:05 +00:00
John Stiles
afbf899cf1 Mark helper functions as static to prevent external linkage.
Change-Id: I4268a3dbc8b0d60f1824d09bd0be68b0f2aa7348
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311439
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-18 14:44:35 +00:00
John Stiles
26f9850a5a Add as<StatementSubclass> to downcast Statements more safely.
The as<T>() function asserts that the Statement is of the correct kind
before performing the downcast, and is also generally easier to read
as function calls flow naturally from left-to-right, and C-style casts
don't.

This CL updates several Statement downcasts in SkSL to the as<T>
syntax, but is not intended to exhaustively replace them all (although
that would be ideal). In places where we SkASSERTed the expression's
fKind immediately before a cast, the assert has been removed because it
would be redundant with the behavior of as<T>().

Change-Id: If92a1740d49c7670ded80cdbbfde67a7d5f73740
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311216
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-18 14:39:07 +00:00
Ben Wagner
32cc384755 Fix SkBitmap::allocPixels logging
The sized type printf macros like PRId32 contain only the conversion
format specifier. The introductory '%', flags, width, precision, and
length modifier are separate and must be specified if desired.

Change-Id: I8a88d9ee8bebe0275eb712728e146393d7837280
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311441
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-08-18 14:36:45 +00:00
Leon Scroggins III
21706f1d14 Switch Skia's libjpeg-turbo used for testing to Chromium version
Bug: chromium:922430
Bug: b/135180511

Chromium has diverged from upstream libjpeg-turbo in order to take
advantage of SIMD optimizations that have not yet been merged into
upstream. Android is also interested in using these. Switch to the
version with the optimizations in order to test them.

Chromium has its own jconfig.h and jconfigint.h, so ours are never used
after the switch. Remove them. The only Skia-specific modification to
these files was to define flags to enable arithmetic encoding. Move
them to BUILD.gn, so they're still applied. Also remove jsimdcfg.inc,
which is currently unused. (It appears to be only for x86/x64, where we
are not building SIMD anyway.)

Update BUILD.gn to build SIMD files on arm. The existing ones have
moved, and there are new ones to build, too.

Change-Id: I47606609c23be43b319150ffb5a4fe55d8869755
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311105
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-08-18 14:08:15 +00:00
John Stiles
81365aff6e Add as<ExpressionSubclass>() to downcast Expressions more safely.
The as<T>() function asserts that the Expression is of the correct kind
before performing the downcast, and is also generally easier to read
as function calls flow naturally from left-to-right, and C-style casts
don't.

This CL updates several Expression downcasts in SkSL to the as<T>
syntax, but is not intended to exhaustively replace them all (although
that would be ideal). In places where we SkASSERTed the expression's
fKind immediately before a cast, the assert has been removed because it
would be redundant with the behavior of as<T>().

Change-Id: I67e7de2697aee4d9d09e6594a9abc5f2ecacc887
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311114
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-18 14:04:15 +00:00
Robert Phillips
8e54a6e9e1 Enhance assert to dump more information
Hopefully, this will let Chrome track down promiseImage fulfillment
mismatches.

Bug: 1116848
Change-Id: Ia1e5d6f7af4e2808ae4adfad85f4e96c1ea4fbd2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311096
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-08-18 13:53:25 +00:00
John Stiles
534d79979d Fix constness of ExternalValue* inside ExternalValueReference.
Objects in the symbol table are intentionally constant. However, when
converting "ExternalValue" AST nodes into symbols via symbol table
lookup, IRGenerator::convertIdentifier was casting away constness
because ExternalValueReference held a non-const pointer. Fixing this
involved significant ripple-effect additions of "const" throughout the
ExternalValue class and its subclasses.

These changes generally appear to be benign, but one interesting edge
case is `ExternalValue::write`, which intuitively does not seem to make
sense as a const method. However, invoking `write` should not alter the
ExternalValue object itself; rather, it is intended to alter the
*external value* that is being referenced. (In practice, nothing invokes
write() anyway except for one unit test, which continues to pass.)

This issue was discovered while converting casts to `as<T>()` calls.

Change-Id: I8ff6a477e475833d2a99c72f1c79c766b57767ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311276
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-18 13:44:05 +00:00
Chris Dalton
a8b16365f9 Stop discarding stencil buffers on tilers
Bug: b/160958008
Change-Id: I67851cb4be1a95f9f1d813846f5d4ba4b1535d9c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303721
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2020-08-18 12:52:35 +00:00
skia-autoroll
f9fb071651 Roll ANGLE from a9b199b05c1f to dceaabb18162 (11 revisions)
a9b199b05c..dceaabb181

2020-08-18 jmadill@chromium.org Vulkan: Clean up ImageHelper barrier functions.
2020-08-18 ynovikov@chromium.org Re-enable a dEQP-EGL test on SwANGLE
2020-08-17 jmadill@chromium.org Vulkan: Minor cleanup to vk_helpers.
2020-08-17 cnorthrop@google.com Capture/Replay: Don't capture unused default uniforms in MEC
2020-08-17 cclao@google.com Vulkan: Add test for RGB texture not break renderpass
2020-08-17 jmadill@chromium.org Update commit ID when the git ref changes.
2020-08-17 cnorthrop@google.com Capture/Replay: Fix 1010102 vertex attrib type name
2020-08-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Headers from 6eaf979e7366 to 99638d8d7fc6 (1 revision)
2020-08-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 1980311465cf to c1db3b8e7960 (1 revision)
2020-08-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from b4c4da3e7606 to b8de4f57e983 (4 revisions)
2020-08-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from d253278f9865 to 758b30727efc (2 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC stani@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: stani@google.com
Test: Test: Capture and replay first 1200 frames of COD.Test: Test: MEC capture of COD:Mobile
Change-Id: Ib796dbdba3720707f998177b07523d649c12f955
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310950
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-18 04:49:34 +00:00
skia-autoroll
8b7bbb50b2 Roll SwiftShader from abe07b943855 to 6f74415e2f74 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/abe07b943855..6f74415e2f74

2020-08-17 amaiorano@google.com Update README to add details on Vulkan and less about GLES
2020-08-17 capn@google.com Don't rely on VectorType::get() default parameter

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC stani@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: stani@google.com
Change-Id: Ib97e95f7d5fa8babfc7e272eb910dbe3c917cf57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310948
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-18 04:45:34 +00:00
skia-autoroll
e5be0fa645 Roll Chromium from 39dd8685cfa7 to 06c431ffe930 (443 revisions)
39dd8685cf..06c431ffe9

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC stani@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: stani@google.com
Change-Id: Ice2e4acc822fdd6d43614e67f9f3b202529ae234
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311256
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-18 04:35:04 +00:00
skia-autoroll
688e0966cb Roll dawn from 5e9b29fab92d to d95180deded1 (3 revisions)
https://dawn.googlesource.com/dawn.git/+log/5e9b29fab92d..d95180deded1

2020-08-17 rharrison@chromium.org Roll 4 dependencies
2020-08-17 enga@chromium.org D3D12: only lazy clear OutputAttachment textures with render target ops
2020-08-17 bryan.bernhart@intel.com Pool sub-allocated resource heaps.

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang from d253278f9865 to f257e0ea6b9a
  https://chromium.googlesource.com/external/github.com/google/shaderc from ffd805115ed6 to 21b36f736809

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: cwallez@google.com
Change-Id: Ia00c6bfd8b74e0745a9bd31db702c9fd18bbea81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310949
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-18 04:29:34 +00:00
Mike Reed
e9d783c4d2 use pathbuilder
Change-Id: I4b40107b45cd829595e89d75e19fd063acee4221
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311106
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2020-08-17 22:05:00 +00:00
Kevin Lubick
f5931f3399 [infra] Update go to 1.15
Change-Id: Id934558f413f0931282931764bd93d3c22c38115
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311101
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-08-17 18:07:57 +00:00
Brian Osman
b65dc4a374 SkSL: Disallow swizzles that *only* contain '0' or '1' components
These are very easy to mis-read, and they don't make much sense.
Swizzles should refer to the base expression at least once.

Change-Id: I4c2740c7439a11b51b2eb41263c6435e3aefad35
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310376
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-08-17 17:49:09 +00:00
Robert Phillips
37e6f530dc Remove some (presumably) unneeded calls to textureParamsModified in GrGLGpu
Just wrapping the backend texture shouldn't invalidate any parameters.

Change-Id: I02859e519b2c8e9612533b2230da753d5fff97b7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261084
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-08-17 16:14:29 +00:00
John Stiles
ce1d885a57 Update the Gradient documentation.
Since this doc was written, we've made several changes to how gradients
work under the hood:

- Colorizers receive the t interpolant via explicit-coordinate sampling,
  not via sk_InColor
- Unused components passed to the colorizer are guaranteed to be zero
  instead of potentially arbitrary values
- We no longer have a dedicated colorizer that is responsible for
  sampling a generated texture map; GrTextureEffect is used directly
- Rewrote the section about how layout processors encode their return
  value to hopefully be more clear to a reader unfamiliar with gradients

Change-Id: I037b5718c9f67a1bece96a9b6a4daea79ccdcd80
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311076
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-17 15:57:21 +00:00
Ethan Nicholas
63d7ee398a SkSL now detects modifiers used in incorrect contexts
Change-Id: I3847a17450c3185284961f35064c4f225aeb8b61
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308769
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
2020-08-17 15:40:19 +00:00
Nigel Tao
5cfa7194d5 Drop support for Wuffs v0.2
We now only support Wuffs v0.3.

Change-Id: Iaace012977ab88922ccdf2a929dc4c809bbb4047
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311016
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2020-08-17 14:42:09 +00:00
John Stiles
fdbd50a8dc Simplify SkSL::String by removing unused parts.
- reset, findLastOf: these were entirely unused
- find: already existed in C++11's std::string, can just be inherited
- defaulted constructors: in C++11, these can be inherited directly from
  std::string via 'using'

Change-Id: I1772ef04e49ab905aaada2ec38c1abeb9a8e26bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311039
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-08-17 14:21:09 +00:00
Mike Reed
15a5403cd3 Migrate to using SkPathBuilder
Change-Id: I86a75670d7b919313747175ca3e49ef7472061fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310977
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2020-08-17 14:17:49 +00:00
Robert Phillips
6704bc87d2 Better encapsulate the GrDrawOpAtlas w/in the GrSmallPathAtlasMgr
This brings the GrSmallPathAtlasMgr into closer correspondence with
the GrAtlasMgr.

It also centralizes where we update the GrSmallPathShapeData's
atlas information.

Change-Id: I892be262a85b3878dbd7f71b0503208943203d46
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310476
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-08-17 14:15:59 +00:00
Derek Sollenberger
866d2894eb Add android:exported values to all SkQP activities.
This fixes an issue on newer versions of Android where activities
with intent filters need to specify whether or not they are exported
in order to successfully complete installation on a test device.

Bug: b/163792247
Test: successful install on device with AOSP build
Change-Id: Iddeb27af55245e926dbf43c03ab48b257461188d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/309980
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2020-08-17 13:33:09 +00:00
skia-autoroll
c4245f475b Roll ANGLE from eb85c0213d43 to a9b199b05c1f (12 revisions)
eb85c0213d..a9b199b05c

2020-08-17 cnorthrop@google.com Capture/Replay: Add ability to override entry points
2020-08-14 jmadill@chromium.org D3D: disable to translate uniform block to StructuredBuffer
2020-08-14 jmadill@chromium.org Reduce spam in native perf tests.
2020-08-14 jmadill@chromium.org Vulkan: Switch buffer barrier check.
2020-08-14 nguyenmh@google.com Add unittests of ANGLE commit message format check
2020-08-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from 61bf3be73c1e to 527e67e9d933 (1 revision)
2020-08-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 6b0de7007af5 to 1980311465cf (2 revisions)
2020-08-14 msisov@igalia.com X11 and Ozone: fix compilation of tests.
2020-08-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from cda86eff6461 to abe07b943855 (1 revision)
2020-08-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from df859f77dab3 to b4c4da3e7606 (2 revisions)
2020-08-14 ynovikov@chromium.org Create dummy DEPS entry for Chromium.
2020-08-14 ynovikov@chromium.org Reenable AttributeLayout end2end tests on Linux SwANGLE

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC stani@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: chromium:1085700,chromium:1112112
Tbr: stani@google.com
Test: Test: Capture and play back first 1200 frames of COD.
Change-Id: I9d496392e0c1668a7d347fae3c7583d903deddf7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310998
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-17 04:45:39 +00:00
skia-autoroll
fc225ed21e Roll Chromium from 00c099ff627a to 39dd8685cfa7 (521 revisions)
00c099ff62..39dd8685cf

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC stani@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: stani@google.com
Change-Id: Icf5c5d85dc597fc7535f9655eb1686580b4a6d76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310996
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-17 04:40:39 +00:00
skia-autoroll
d882e93e41 Roll dawn from d315022be5b7 to 5e9b29fab92d (3 revisions)
https://dawn.googlesource.com/dawn.git/+log/d315022be5b7..5e9b29fab92d

2020-08-14 enga@chromium.org Fix ASSERT in WindowsDebugLogger
2020-08-14 enga@chromium.org end2end_tests: Forward Windows debug messages to stderr
2020-08-14 cwallez@chromium.org Remove deprecated wgpu::BufferCopyView members

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: cwallez@google.com
Change-Id: I189e000ba90520c4ce4ae7fafa65ebccb27c10ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/310997
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-08-17 04:29:39 +00:00