Commit Graph

54299 Commits

Author SHA1 Message Date
John Stiles
2654187396 Eliminate unused local variables during SkSL optimization.
This can eliminate const variables which have been completely folded
away, unnecessary synthetic variables created during codegen/inlining,
or code that simply didn't need to exist at all.

Change-Id: I37a65e455e6527a6a6c2f4dde918f48d84dc2638
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383496
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-16 17:22:53 +00:00
John Stiles
f10eff363b Fix misdetection of dead global variables.
A global variable should be considered "dead" if it's never written and
never read. The previous code checked if it was never written OR never
read, which is not the same.

This would generate GLSL/Metal that didn't compile. In SPIR-V, it would
SkASSERT, then crash, during codegen. The fuzzer was able to detect the
SPIR-V issue, but it was wrong in all three cases.

Change-Id: Id59a2499eb5baa3839b93826bfbc24191bfd490b
Bug: oss-fuzz:32005
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385280
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>
2021-03-16 16:02:03 +00:00
Herb Derby
3230255e06 Reland "remove the OpMemoryPool"
Add ClearCache() {} to the non-caching case.

This is a reland of cfdae5a56c

Original change's description:
> remove the OpMemoryPool
>
> Change-Id: I987384f8009445ba8308e85b75daf4880a8d36be
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383957
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

Change-Id: I03f80ba61f5643c40f812a9687b12a5d2aa663b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385276
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-03-16 14:49:28 +00:00
Michael Ludwig
34271a3455 Revert "Merge MSL vertex and fragment shaders into one string before compiling."
This reverts commit 30980650f7.

Reason for revert: iphone6 on ios12 fails to find vertexMain

Original change's description:
> Merge MSL vertex and fragment shaders into one string before compiling.
>
> Invoking the MSL compiler seems to have a significant startup cost.
> So rather than running it twice -- one each for the vertex and fragment
> shaders -- this CL merges them into a single string using namespaces,
> thus allowing a single compiler invocation.
>
>
> Bug: skia:11389, skia:11392
> Change-Id: I49facf995cc7f7529e61dc9d2af194a00ed1ccb6
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384700
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

TBR=jvanverth@google.com,brianosman@google.com,johnstiles@google.com

Change-Id: Ifa96e7a370264f878fb0413c3acbb7c505c47905
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11389
Bug: skia:11392
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385238
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-03-16 14:46:05 +00:00
Michael Ludwig
bf58add00e Revert "Only include header once in combined MSL shader."
This reverts commit e7a8f85e4f.

Reason for revert: must revert dependent CL

Original change's description:
> Only include header once in combined MSL shader.
>
> Bug: skia:11389
> Change-Id: I3e24dcaa2cfeddc7efd7985f9f42a59bfc8175f2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385137
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

TBR=jvanverth@google.com,johnstiles@google.com

Change-Id: I7a886b6c57a666e54e65365e41dcb57bd9ab4ba6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11389
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385237
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-03-16 14:44:25 +00:00
Adlai Holler
539db2ff3c Migrate GrResourceAllocator::fIntvlHash to SkTHashMap
SkTDynamicHash is semi-deprecated and this simplifies life a little bit.

Bug: skia:10877
Change-Id: Ie64f476fcab0a53d8cb8044fe4c68571bc0d2a66
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384857
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2021-03-16 14:37:53 +00:00
John Stiles
d2702fa155 Update SkSL benchmark code to match actual Skia output.
Our benchmarks had drifted away from actual codegen in several ways, and
were no longer representative of actual output. In particular, every
function in the existing benchmarks used a scratch `_output` variable
which would make it ineligible for return-statement-only inlining.

Updated the tests to match modern codegen. `small` and `large` use the
same sources as before. The code from `medium` is older and had diverged
quite far from today's output; I could not find a representative code
snippet at all. It has been replaced with SkSL of roughly similar
complexity.

Change-Id: Iadd32cbb6725554355ddfe384ce538f3dc49aca3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385160
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-16 13:59:23 +00:00
Brian Osman
8c595fed7c Change sksl tests to avoid SPIR-V validation errors
'in' variables without locations aren't allowed. Use uniforms instead.

Bug: skia:11738
Change-Id: Ic066106deb7409cff154b4be7cfb3e03a7025c7d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385000
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-03-16 13:39:53 +00:00
Ravi Mistry
13646a8900 Set "binary_size_${source}" output.property on Build-Stats-* bots
Setting multiple "binary_size_plugin" properties were overriding each
other.

Bug: skia:11744
Change-Id: Ie57b6c524d870f6efe4a05d2a69f5ae660dfe475
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385138
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-03-16 12:56:48 +00:00
skia-autoroll
242ae6c45e Roll SwiftShader from 5cdf55ff2084 to 69b79eec6533 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/5cdf55ff2084..69b79eec6533

2021-03-15 adelva@google.com Disable named mmap usage for host/ndk Android

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 michaelludwig@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: michaelludwig@google.com
Change-Id: Id6bab970da1d24716f73d5020dba90c78ec92dc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385203
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-16 05:09:52 +00:00
skia-autoroll
16720fa518 Roll Chromium from 1f9e430e837e to 1797c4602f46 (420 revisions)
1f9e430e83..1797c4602f

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 michaelludwig@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: michaelludwig@google.com
Change-Id: Ic9a884d7dd5acdafc01a7d56e2618e0d9087b225
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385202
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-16 05:06:32 +00:00
skia-autoroll
0b16892fa3 Roll ANGLE from cd881848f3bb to 687d3153197e (5 revisions)
cd881848f3..687d315319

2021-03-16 timvp@google.com Skip plants_vs_zombies_2 on Windows+AMD
2021-03-15 james@clarkezone.io Reland "Add support for building in Flutter Windows UWP configuration"
2021-03-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from ea8c29e1ee20 to d70f9e670332 (4 revisions)
2021-03-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 3c4fd15fb075 to 5cdf55ff2084 (6 revisions)
2021-03-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from e90a7a4d378a to 1572b5ac9572 (403 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 michaelludwig@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
Tbr: michaelludwig@google.com
Change-Id: Ic1f3632261f3fab6663f2971c55778dada3b4482
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385082
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-16 05:00:52 +00:00
skia-autoroll
b94f5af2ce Roll Dawn from c357bcad5f7d to 8c40cad1c92d (4 revisions)
https://dawn.googlesource.com/dawn.git/+log/c357bcad5f7d..8c40cad1c92d

2021-03-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from d614dd5d12a4 to c205c28bc3dc (2 revisions)
2021-03-15 cwallez@chromium.org Fix the vertex attribute offset alignment rule.
2021-03-15 cwallez@chromium.org Remove usage of deprecated std::codecvt
2021-03-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 717fbbf18387 to d614dd5d12a4 (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 717fbbf18387 to c205c28bc3dc

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: I42bd99d313ce1d358c0994728a256749451ae20e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385201
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-16 04:55:52 +00:00
Mike Reed
ead52dc068 Revert "Add bench for skparagraph"
This reverts commit 1aa25c3217.

Reason for revert: crashing on windows bots

Original change's description:
> Add bench for skparagraph
>
> Change-Id: Ib33e06527660b33984b9171f51026a935ef99f79
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385156
> Reviewed-by: Julia Lavrova <jlavrova@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com,jlavrova@google.com

Change-Id: I7b8524c449f3c484b777af31f83e1372a689de55
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385163
Reviewed-by: Mike Reed <reed@google.com>
2021-03-15 22:55:40 +00:00
Mike Reed
1aa25c3217 Add bench for skparagraph
Change-Id: Ib33e06527660b33984b9171f51026a935ef99f79
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385156
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-15 22:32:16 +00:00
John Stiles
132cfdd49d Revert "Inline functions of the form 'return (expr)' only."
This reverts commit 92748af1a5.

Reason for revert: SkSLCommaSideEffects_GPU crashing on Android

Original change's description:
> Inline functions of the form 'return (expr)' only.
>
> This drastically reduces the number of functions which we allow to be
> inlined. If this change does not hurt our performance, it will allow us
> to trivially remove hundreds of LOC. All current data leads us to
> believe that it may affect the Mali 400 but is highly unlikely to change
> results on any other device in the tree.
>
> More info: http://go/optimization-in-sksl-inliner
>
> Change-Id: Ia6b706742ce5407453e0e697b6c1f9201084c0e8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384858
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

Change-Id: I6a670dacaa58fe3386ff50375ac6d1cac4fd7f2c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385161
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-15 22:08:48 +00:00
Jim Van Verth
e7a8f85e4f Only include header once in combined MSL shader.
Bug: skia:11389
Change-Id: I3e24dcaa2cfeddc7efd7985f9f42a59bfc8175f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385137
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-03-15 21:42:06 +00:00
Brian Salomon
f970746dd2 Add GM that tests GPU blur with very large sigmas.
GM initially does not draw correctly because of large sigma drop outs.

Make SkGpuBlurUtils::GaussianBlur use the correct translation when both
sigmas are (effectively) 0.

Bug: skia:11735
Change-Id: I674c63cc57b56995a7ade4c098bb997bd5baee8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383703
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-03-15 21:40:26 +00:00
Robert Phillips
e44c484811 Revert "remove the OpMemoryPool"
This reverts commit cfdae5a56c.

Reason for revert: See if this is blocking the G3 roll

Original change's description:
> remove the OpMemoryPool
>
> Change-Id: I987384f8009445ba8308e85b75daf4880a8d36be
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383957
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=bsalomon@google.com,herb@google.com,michaelludwig@google.com

Change-Id: I31879e272b91f8d476c14e437cb7e20b0b34ca74
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385159
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-03-15 21:27:27 +00:00
Ethan Nicholas
a9c187e5cc Revert "Refactored SPIR-V RelaxedPrecision handling"
This reverts commit 9e476b798f.

Reason for revert: Angry Vulkan bots

Original change's description:
> Refactored SPIR-V RelaxedPrecision handling
>
> The RelaxedPrecision decoration is now handled by nextId(), to make it
> easier to see all spots where a RelaxedPrecision decoration might be
> necessary. The goal of this initial refactor is not to actually fix the
> issues with RelaxedPrecision decorations, but rather to lay the
> groundwork for doing so in followup CLs.
>
> The initial intent of this change was to not affect the SPIR-V at all,
> saving modifications for followups, but there ended up being three kinds
> of changes to the output:
>
> 1. Doing things at nextId() time rather than later means some
> decorations move to an earlier spot in the output. This results in
> diffs, but should not cause any behavioral changes.
> 2. We were incorrectly tagging bools as RelaxedPrecision in some
> situations. By funneling things through fewer code paths, the refactor
> would have caused this to happen in even more situations, and the code
> responsible for the bug was being rewritten in this CL anyway, so it
> seemed worth just fixing the issue as part of this change.
> 3. Funneling things through fewer code paths ended up adding
> (correct) RelaxedPrecision modifiers to binary operations that had
> previously been missing them. It seemed better to just let it happen
> than to try to maintain bug-for-bug compatibility with the previous
> approach.
>
> Change-Id: Ia9654d6b5754e2c797e02226660cb618c9189b36
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384318
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

Change-Id: I9ada728e5fd5798bc1179640560c2e6045b7efd1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385158
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-03-15 21:24:47 +00:00
Ethan Nicholas
9e476b798f Refactored SPIR-V RelaxedPrecision handling
The RelaxedPrecision decoration is now handled by nextId(), to make it
easier to see all spots where a RelaxedPrecision decoration might be
necessary. The goal of this initial refactor is not to actually fix the
issues with RelaxedPrecision decorations, but rather to lay the
groundwork for doing so in followup CLs.

The initial intent of this change was to not affect the SPIR-V at all,
saving modifications for followups, but there ended up being three kinds
of changes to the output:

1. Doing things at nextId() time rather than later means some
decorations move to an earlier spot in the output. This results in
diffs, but should not cause any behavioral changes.
2. We were incorrectly tagging bools as RelaxedPrecision in some
situations. By funneling things through fewer code paths, the refactor
would have caused this to happen in even more situations, and the code
responsible for the bug was being rewritten in this CL anyway, so it
seemed worth just fixing the issue as part of this change.
3. Funneling things through fewer code paths ended up adding
(correct) RelaxedPrecision modifiers to binary operations that had
previously been missing them. It seemed better to just let it happen
than to try to maintain bug-for-bug compatibility with the previous
approach.

Change-Id: Ia9654d6b5754e2c797e02226660cb618c9189b36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384318
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-15 20:45:26 +00:00
John Stiles
92748af1a5 Inline functions of the form 'return (expr)' only.
This drastically reduces the number of functions which we allow to be
inlined. If this change does not hurt our performance, it will allow us
to trivially remove hundreds of LOC. All current data leads us to
believe that it may affect the Mali 400 but is highly unlikely to change
results on any other device in the tree.

More info: http://go/optimization-in-sksl-inliner

Change-Id: Ia6b706742ce5407453e0e697b6c1f9201084c0e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384858
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-15 19:46:46 +00:00
John Stiles
65abd2f556 Disable OutParams test on GPU.
This test fails on SPIR-V when the inliner is turned off:

error: SPIR-V validation error: Pointer operand 250[%250] must be a memory object declaration
  %252 = OpFunctionCall %void %out_half %250

Change-Id: Ibfa9cef371af2eea766a4218ec8a581289ee100e
Bug: skia:11748
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384999
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-15 19:46:16 +00:00
Brian Osman
164bafafbe Reland "On NVIDIA + ANGLE, test 4x MSAA, not 8x"
This is a reland of c0c3231bde

Original change's description:
> On NVIDIA + ANGLE, test 4x MSAA, not 8x
>
> By all accounts, this should produce much more deterministic output,
> letting us remove quite a few ignores.
>
> Bug: skia:6813 skia:6545
> Change-Id: I7bc2c8e05c2f6e8110ea550882d5f0a45548008b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384856
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

Bug: skia:6813 skia:6545
Change-Id: I2bbff8c8807940024eeefbca823656ab105acdd1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384998
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-03-15 18:39:38 +00:00
Adlai Holler
729ba5e83c Remove fAssignedSurface from GrResourceAllocator::Interval
The surface on the proxy should be the source of truth here.

Bug: skia:10877
Change-Id: Id2126a259202be4c426f2cbf8f025ef69dd50551
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384702
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2021-03-15 18:12:36 +00:00
Herb Derby
cfdae5a56c remove the OpMemoryPool
Change-Id: I987384f8009445ba8308e85b75daf4880a8d36be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383957
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-03-15 17:58:48 +00:00
Brian Osman
fca83e5ef7 Revert "On NVIDIA + ANGLE, test 4x MSAA, not 8x"
This reverts commit c0c3231bde.

Reason for revert: Need new configs in dm

Original change's description:
> On NVIDIA + ANGLE, test 4x MSAA, not 8x
>
> By all accounts, this should produce much more deterministic output,
> letting us remove quite a few ignores.
>
> Bug: skia:6813 skia:6545
> Change-Id: I7bc2c8e05c2f6e8110ea550882d5f0a45548008b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384856
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

TBR=bsalomon@google.com,kjlubick@google.com,brianosman@google.com

Change-Id: Ia754601787b986778c83f919498eacabb696632f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:6813 skia:6545
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384997
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-03-15 17:39:37 +00:00
Brian Osman
c0c3231bde On NVIDIA + ANGLE, test 4x MSAA, not 8x
By all accounts, this should produce much more deterministic output,
letting us remove quite a few ignores.

Bug: skia:6813 skia:6545
Change-Id: I7bc2c8e05c2f6e8110ea550882d5f0a45548008b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384856
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-03-15 17:19:25 +00:00
John Stiles
5755a5fb98 Update simple gradient functions to use only a single return.
By avoiding the introduction of a temporary variable, they can remain
candidates for inlining even after we pare back the inliner logic.
More info: http://go/optimization-in-sksl-inliner

Change-Id: If58c757b8754036b0b0530379b639c09953744ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384859
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-15 16:59:25 +00:00
Brian Osman
fc4b9919d3 Force global initializers to be constant expressions
Prevents us from accepting code that can't be correctly transformed to
GLSL, like:

  uniform float x;
  float y = x;

(Previously, writing code like that in a runtime effect would
effectively produce the exact same code all the way through to GLSL, and
the driver would fail to compile it).

Bug: skia:11336
Change-Id: Iaa797587c4a4a7289ed59ce2736cf0bf0fc5bca3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384698
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-03-15 16:54:05 +00:00
Jim Van Verth
30980650f7 Merge MSL vertex and fragment shaders into one string before compiling.
Invoking the MSL compiler seems to have a significant startup cost.
So rather than running it twice -- one each for the vertex and fragment
shaders -- this CL merges them into a single string using namespaces,
thus allowing a single compiler invocation.


Bug: skia:11389, skia:11392
Change-Id: I49facf995cc7f7529e61dc9d2af194a00ed1ccb6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384700
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-03-15 16:46:05 +00:00
John Stiles
99b2d04d31 Add 'kOnlySingleReturn' complexity type to the Inliner.
This can be used in followup CLs to test various forms of inliner
simplification. (More info: http://go/optimization-in-sksl-inliner )

Change-Id: Icd12a1ae1481c9aeacf3f11e85872fecfa972ec3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384836
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>
2021-03-15 16:34:21 +00:00
Adlai Holler
da16367907 Remove fFreeIntervalList from GrResourceAllocator
Now that we assign all surfaces upfront, intervals are not reused.

In the future, with ops task clustering, it could
theoretically be useful for multi-pass allocation (i.e. the
clustered version was rejected for memory budget,) but
that scenario is so rare that this machinery should just go away.

Bug: skia:10877
Change-Id: I261987d7ba68a49bc1d9c01eb1df3bfcb4747c9f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384701
Auto-Submit: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-15 16:29:15 +00:00
Herb Derby
310dc4e0b9 remove unused code SkGlyphIDSet
Change-Id: I66340bbe5c4fcf8f9bcdac3436602c5edf689761
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384756
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-03-15 15:31:15 +00:00
Robert Phillips
d074b6293c Switch GrTextureFreedMessages over to using DirectContextIDs
Bug: skia:11728
Change-Id: I514f917577a4166c2834f72fc8c64ab85b259938
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382879
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-03-15 15:23:35 +00:00
Greg Daniel
e895ab2fc8 Have GrVkTexture not derive from GrVkImage.
A side effect of this change is that I've tried to pass GrVkAttachments
around GrVkGpu instead of GrVkTextures where I could to start the
transition within the backend code.

Bug: skia:10727
Change-Id: Ibc9553cdbd7f6ae845c56aad3f25f58e4c478e46
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/379577
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-03-15 15:18:55 +00:00
Weston Tracey
4bcb56f389 [infra] Add initial job for testing on Apple M1.
Bug: skia:11713
Change-Id: I16b2e74a946cf28cf46bf0e8515da2415b6f29af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382876
Commit-Queue: Weston Tracey <westont@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2021-03-15 14:52:25 +00:00
John Stiles
97d8d7fce0 Remove obsolete TODO.
The referenced bug is closed, and the compiler does correctly emit an
error here.

Change-Id: I824f7819a1e077163f528ac503f3743aab5e58a1
Bug: skia:11322
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384697
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-03-15 14:43:25 +00:00
Adlai Holler
78d51fff70 Track number of render passes in GR_GPU_STATS
Also dump them in key-value pairs so we can see them remotely.

Bug: skia:10877
Change-Id: I09654444336ea2db92db375d4baae67ecce2dd79
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384177
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2021-03-15 13:52:35 +00:00
skia-autoroll
4fb13e026b Roll Dawn from d89814ed7a11 to c357bcad5f7d (2 revisions)
https://dawn.googlesource.com/dawn.git/+log/d89814ed7a11..c357bcad5f7d

2021-03-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from e2bc7aa74709 to 717fbbf18387 (2 revisions)
2021-03-15 jiawei.shao@intel.com Add "opengles" in the helper information of Dawn samples

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from e2bc7aa74709 to 717fbbf18387

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 kainino@google.com,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: kainino@google.com,cwallez@google.com
Change-Id: Ic7fbb9faa0783bb1e501375a4a5de0d776cca167
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384636
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-15 12:10:35 +00:00
skia-autoroll
a9f6a3b4c3 Roll Chromium from ed657436836f to 1f9e430e837e (424 revisions)
ed65743683..1f9e430e83

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 michaelludwig@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: michaelludwig@google.com
Change-Id: Ief5a525989bf02d78b3968f33471c296b1b69622
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384540
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-15 05:32:34 +00:00
skia-autoroll
c3935b9a8a Roll SwiftShader from 3c4fd15fb075 to 5cdf55ff2084 (6 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/3c4fd15fb075..5cdf55ff2084

2021-03-13 capn@google.com Remove vkGetInstanceProcAddr from exported symbols on Fuchsia
2021-03-12 capn@google.com Remove vkGetInstanceProcAddr from exported symbols on Android
2021-03-12 natsu@google.com Handle semaphore update in vkAcquireImageANDROID
2021-03-12 natsu@google.com Update AHB default YUV range to NARROW
2021-03-12 capn@google.com Regres: Roll dEQP to 1.2.5.2-dev revision 288b9dd
2021-03-12 swiftshader.regress@gmail.com Regres: Update test lists @ 3c4fd15f

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 michaelludwig@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: michaelludwig@google.com
Change-Id: I09477cb3f58083a0cf9eacb01158a048ab258efb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384542
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-15 05:08:34 +00:00
skia-autoroll
98d3513161 Roll ANGLE from 225e1952d494 to cd881848f3bb (12 revisions)
225e1952d4..cd881848f3

2021-03-13 ianelliott@google.com Actually skip a flaky/timeout test
2021-03-12 timvp@google.com Create GN arg to enable non-conformant features
2021-03-12 ianelliott@google.com Suppress flaky test on win-swangle
2021-03-12 lunpujun@google.com Micro-optimization for loading 3-channel images.
2021-03-12 ianelliott@google.com Suppress flaky EGL resize failure on Linux
2021-03-12 jmadill@chromium.org Vulkan: Add test for UBO descriptor allocations.
2021-03-12 ynovikov@chromium.org Remove old Mac bot from CQ
2021-03-12 natsu@google.com Vulkan: Use optimal tiling for AHB
2021-03-12 j.vigil@samsung.com EGL: Add attribute check in ValidateQueryContext
2021-03-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from a2fe8e1b2111 to 3c4fd15fb075 (2 revisions)
2021-03-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from a4e10bfde719 to ea8c29e1ee20 (5 revisions)
2021-03-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 9e42f9e4abc6 to e90a7a4d378a (458 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 michaelludwig@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
Tbr: michaelludwig@google.com
Test: Test: angle_end2end_test --gtest_filter=EGLCreateContextAttribsTestTest: Test: passed the CQ dry run.
Change-Id: I00cab3898b89244e2bd37231e4b89ed2c5cdf229
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384541
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-15 04:53:54 +00:00
skia-autoroll
64366ffde4 Roll Dawn from b458fc835925 to d89814ed7a11 (10 revisions)
https://dawn.googlesource.com/dawn.git/+log/b458fc835925..d89814ed7a11

2021-03-15 jiawei.shao@intel.com Enable DepthStencilCopyTests.ToStencilAspect on Windows/Intel/Vulkan
2021-03-12 rharrison@chromium.org Add reflection for fragment inputs/outputs from Tint
2021-03-12 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 4c8d7259da8a to e2bc7aa74709 (1 revision)
2021-03-12 brandon1.jones@intel.com Don't use depth offset in TextureCopySplitter
2021-03-12 jiawei.shao@intel.com Workaround the compile error when calling std::begin on C arrays
2021-03-12 bryan.bernhart@intel.com D3D12: Pass usage to ProduceTexture
2021-03-11 bajones@chromium.org Updating RenderPipelineDescriptor to the newest layout
2021-03-11 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from d9250a5a2175 to 4c8d7259da8a (9 revisions)
2021-03-11 jiawei.shao@intel.com D3D12: Add workaround for T2T copy issue on Intel GPUs
2021-03-11 aleksi.sapon@builditsoftware.com CMake fix

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from d9250a5a2175 to e2bc7aa74709

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,kainino@google.com,enga@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,kainino@google.com,enga@google.com
Change-Id: I0f696dd7b2fcf0bf6bb174a5851c8576d3eebfcd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384576
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-15 04:45:34 +00:00
Ravi Mistry
441f3c72d7 Set "binary_size_plugin" output.property on Build-Stats-* bots
* The output.property looks like this: {"canvaskit.wasm": 7394679}
  (from https://ci.chromium.org/raw/build/logs.chromium.org/skia/5236eb95c4490b11/+/annotations)

* Refactored scripts to avoid hardcoding the magic_seperator and total_size_bytes.

* Added this capability to all 4 infra/bots/buildstats/* scripts.

* Added missing tests for analyze_web_file and analyze_cpp_lib.


The output.property will be eventually consumed by a Gerrit plugin to display change in bytes in the UI.

Note: buildstats_cpp.py is not currently used by any bot. But if it is in the future it will work.

No-Tree-Checks: true
Bug: skia:11744
Change-Id: I593bae8ff73c35089cc2785a1cc4bc5b630007c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/377840
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-03-14 23:26:38 +00:00
Brian Osman
4f3f64c110 Preserve 'const' on globals and function parameters in runtime effects
Bug: skia:11716
Change-Id: Ic09071544b5b5216b01fbc9b478b6269dd96202f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382280
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-03-13 13:32:27 +00:00
John Stiles
bf16b6c5df Add Make factory function to Block.
Block::Make always makes a real Block object. This is important because
many callers rely on Blocks specifically; e.g. a function body must be a
scoped Block, nothing else will do.

However, unscoped Blocks are just a collection of Statements and usually
have more flexibility. So, Block::MakeUnscoped is a factory function
that will return the Statement as-is for a single-statement unscoped
Block. For an entirely empty Block, MakeUnscoped returns Nop.

Change-Id: Ied65d505bde4ea7f6157a039944018546e4b7333
Bug: skia:11342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384180
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-03-13 13:28:17 +00:00
John Stiles
ad22300d6c Remove fForceInline argument from EmitArgs.
This improved codegen when it was first introduced. Since that time, our
inliner has become much smarter and no longer needs these hints.

Change-Id: I7725da1eb9814e656849881ad2ca2b1bc038e4a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384320
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-13 13:18:47 +00:00
John Stiles
46e7507b0d Revert "Performance experiment: Disable SkSL inliner in nanobench/skpbench."
This reverts commit 3f35ac10b4.

Reason for revert: concluding experiment

Original change's description:
> Performance experiment: Disable SkSL inliner in nanobench/skpbench.
>
> This will allow us to measure the impact (positive or negative) of
> inlining functions before submitting a shader to the driver.
>
> Change-Id: Icbd64096445a353187b30feea68573d89ca18664
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384317
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

TBR=brianosman@google.com,johnstiles@google.com

Change-Id: Ia7c34e3e2bb4f777a4bd18a5646e494eeb3c93ce
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384456
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-13 13:08:19 +00:00
Brian Osman
ddcb4d94f9 In pipeline stage generator, never emit declarations for opaque types
This only affects fragmentProcessors (children) - and the backend SkSL
we're emitting should not contain those. We've just been silently
ignoring those declarations when converting to GLSL, MSL, etc.

Change-Id: I241f2f4fe4614b49ebccc9c2976fd408e94656d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384316
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-03-13 01:46:06 +00:00