Commit Graph

54326 Commits

Author SHA1 Message Date
Ethan Nicholas
707d31578c Refactored DSL variable creation
Prior to this change, we were creating the SkSL variable and declaration
immediately on DSLVar creation. This causes problems with function
parameters, which are sometimes supposed to be tagged
SK_MAIN_COORDS_BUILTIN. If we have already created the variable and
inserted it into the symbol table, then by the time we determine the
variable is supposed to be SK_MAIN_COORDS_BUILTIN, it is too late to
modify the (now-const) variable.

We are not yet doing this tagging, but refactoring the creation in this
fashion paves the way to making it possible.

Change-Id: I031170502c5e7c1fff5ecfac01bea470ff4e61ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389216
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-03-25 23:02:04 +00:00
John Stiles
0c9d888748 Run SkSL inliner tests as part of dm.
Previously, these tests were never actually executed, only read during
code review. They are now properly tested for correctness whenever dm
is run. Non-ES2 compliant statements (do/while/switch) are unfortunately
excluded here, as they are not compatible with Runtime Effects yet.

Change-Id: I965c782baad6f8dd3961a400ae791fb2c1f844d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389296
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-25 22:58:54 +00:00
John Stiles
70cd59880d Code cleanup: add helper functions for matrix-vector rewrites.
The nitty-gritty details of this optimization don't belong in the body
of BinaryExpression::Make.

Change-Id: I7077d0ccf4ca1b049239f27443db897ed51a5895
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389060
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-25 22:54:34 +00:00
Weston Tracey
7ddc9b9941 [infra] Add ios-dev-image-14 asset script
Change-Id: I6733cc41b5b9b11b2d86a8b08bfa2dcfe04ff0d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388838
Auto-Submit: Weston Tracey <westont@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
2021-03-25 22:26:04 +00:00
Dominik Röttsches
2e04df9a06 Support PaintTranslate in COLRv1 rasterisation
Found during implementation of COLRv1 fuzzer for FreeType that translate
operation was still missing.

Added a test glyph containing two squares filled with a radial gradient
shifted by dx 128, dy -128 and dx -308, dy 307
combined using a PaintComposite.

Bug: skia:11790
Change-Id: I4cbfe34a111a450777dc2f8fa9d32a405f808a89
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389116
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-03-25 20:14:21 +00:00
skia-autoroll
ced1d35bc5 Roll skcms from 65de465d622d to b9593d4e39ea (1 revision)
https://skia.googlesource.com/skcms.git/+log/65de465d622d..b9593d4e39ea

2021-03-25 mtklein@google.com inclusivity in comments

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC reed@google.com,mtklein@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: luci.chromium.try:linux-blink-rel
Tbr: reed@google.com,mtklein@google.com
Change-Id: I7e5a4e221e5442d663fee36a214b3f46b5acb6cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389198
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-25 19:25:41 +00:00
Mike Reed
5514431d0e Extend drawAtlas with optional sampling parameter
Change-Id: Id26f0d9ca5381da807b072c8b59745f2afd8df60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386860
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Yegor Jbanov <yjbanov@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-25 18:04:32 +00:00
Weston Tracey
c98b2afc7b [infra] Remove Upload tasks for Test.* jobs using the default recipe.
Bug: skia:11785
Change-Id: Ie66d0c49c978c02c23412b6525ee5d5e94f5d5d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388137
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-03-25 16:52:51 +00:00
Weston Tracey
593c99ef5e [infra] Remove Upload tasks for Test.*Canvaskit jobs.
Bug: skia:11785
Change-Id: I0f176c1ab3c5679c74efb727d55bf5431d5dae47
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387636
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-03-25 16:52:51 +00:00
Mike Reed
c28336e5c2 No one needs legacy sprite behavior
Change-Id: I3ab0f671c16cb951eed9543e90c224cc4f00eec1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389056
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2021-03-25 14:18:15 +00:00
Eric Boren
a1db799824 Fix Python3 compatibility
Bug: skia:11768
Change-Id: I6107362457dce380e3fb1647ad58d8e33e453e2d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388743
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2021-03-25 14:15:35 +00:00
Mike Reed
764bc210e6 Complete mipmapmode enum
Change-Id: I95d491ae0364897b3f48d81d0ca6fb5714c1ae9e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388718
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2021-03-25 14:06:23 +00:00
Eric Boren
942db50454 [infra] Remove LenovoYoga jobs and associated code
These devices died in the flood a year ago.

Change-Id: Ibf2561016279b1c91eabffd3a5eb76995466b265
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388745
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-03-25 12:58:45 +00:00
Mike Reed
c028c5c1f8 Revert "Don't reuse scratch textures when texsub image banned for FBO textures"
This reverts commit 2a88456c15.

Reason for revert: speculative -- fix marshmellow gl on chrome roll?

Original change's description:
> Don't reuse scratch textures when texsub image banned for FBO textures
>
> If writePixels uses a scratch surface it will likely bind it to a FBO.
> If this workaround is in play that texture then becomes "poisoned" as
> a temp surface for a future writePixels(). However, our caching
> mechanism will still find it and we'll incur an extra recursion in
> writePixels to allocate a new texture that has never been bound to a
> FBO. This pattern can repeat itself with increasing recursion depth
> until the cache budget has been reached and we start purging the
> "poisoned" textures.
>
> Disallowing reuse of scratch textures avoids this issue.
>
> Bug: skia:11204
> Change-Id: I8002a673900a9a34e889c92e816781d4b7f84688
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388696
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,robertphillips@google.com

Change-Id: Ic5d5731d30031bdcddc444aa2c4d9d552dc75838
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11204
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/389016
Reviewed-by: Mike Reed <reed@google.com>
2021-03-25 11:05:05 +00:00
Weston Tracey
39c0f4e0f3 [infra] Add Test-Mac11-Clang-MacMini9.1-CPU-AppleM1-arm64-Debug-All-NativeFonts
Bug: skia:11334
Change-Id: Ibc1c63391f4f43f76e34ffc9178e2b67c427c696
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388744
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Weston Tracey <westont@google.com>
2021-03-25 10:56:15 +00:00
skia-autoroll
a6748aa802 Roll Chromium from 18606de65b54 to f3d16e168f8c (466 revisions)
18606de65b..f3d16e168f

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 reed@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: reed@google.com
Change-Id: I61bf3577719366c5bacc49e62862387076a8193e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388856
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-25 05:25:35 +00:00
skia-autoroll
3db061f143 Roll SwiftShader from a98fb3f8380a to 8969f861fc24 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/a98fb3f8380a..8969f861fc24

2021-03-25 swiftshader.regress@gmail.com Regres: Update test lists @ 2eed61ff
2021-03-24 capn@google.com Ensure compressed image copy is height compliant

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 reed@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: reed@google.com
Change-Id: I0f78b0808f23537fddadbc13aaac73209f87b0ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388878
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-25 05:10:45 +00:00
skia-autoroll
3cdeaba813 Roll ANGLE from d146222879dc to 3d6cedb1e956 (11 revisions)
d146222879..3d6cedb1e9

2021-03-25 ynovikov@chromium.org Leave Android devices in portrait orientation after test
2021-03-24 cclao@google.com Vulkan: Add A few other *-None-04584 VVL error to skip list
2021-03-24 senorblanco@chromium.org SSBO handling rewrite.
2021-03-24 doughorn@google.com Fix potential mod by 0 with invalid formats.
2021-03-24 jmadill@chromium.org Disable Framebuffer Fetch test.
2021-03-24 m.maiya@samsung.com Add missing qualifier type handling in translator
2021-03-24 cnorthrop@google.com Scripts: Ignore robin_hood headers in VVL
2021-03-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from f1617b736428 to bda1e3894abc (469 revisions)
2021-03-24 amy.liu@arm.com Compression of the data from vkGetPipelineCacheData.
2021-03-24 xiaoxuan.liu@arm.com Vulkan: Fix gl_SamplePosition XY-flip and rotation.
2021-03-24 reveman@google.com [Fuchsia] Add ifndefs to vulkan_fuchsia_ext.h

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 reed@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: reed@google.com
Test: Test: GLSLTest_ES31.VaryingTessellationSampleInAndOut*Test: Test: Verify no crash when format is invalid.Test: Test: dEQP-GLES31.functional.shaders.multisample_interpolation.Test: Test: dEQP-GLES31.functional.shaders.sample_variables.sample_pos.
Change-Id: I89e2e80dc5f850f1fa918710bb0f53860f364f19
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388876
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-25 05:08:15 +00:00
skia-autoroll
7cae908221 Roll Dawn from 54e150b7c22e to 6d0438c21e0f (14 revisions)
https://dawn.googlesource.com/dawn.git/+log/54e150b7c22e..6d0438c21e0f

2021-03-24 cwallez@chromium.org Add documentation for the codegen.
2021-03-24 senorblanco@chromium.org Roll third_party/angle/ d8557cc88..0c9f22d3a (162 commits)
2021-03-24 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 84ef13c84fb3 to 5c9906e3079f (3 revisions)
2021-03-24 rharrison@chromium.org Add test to confirm validation rejects invalid WGSL
2021-03-24 cwallez@chromium.org Pull buildtools DEPS directly instead of via recursedeps
2021-03-24 cwallez@chromium.org Remove the dependency on shaderc and glslang.
2021-03-24 cwallez@chromium.org Remove utility to create shader modules from GLSL
2021-03-24 bclayton@google.com ComputePipelineD3D12 - check result of CreateComputePipelineState()
2021-03-24 bclayton@google.com .vscode/tasks.json: Implement tasks for Windows
2021-03-24 bclayton@google.com .gitignore: Add Visual Studio config directory
2021-03-24 bclayton@google.com Add .vscode/tasks.json
2021-03-24 bclayton@google.com Port ComputeSharedMemoryTests to WGSL
2021-03-24 bclayton@google.com Port TextureViewTests to WGSL
2021-03-24 enga@chromium.org Validate the texture Aspect enum in ImageCopyTexture

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 84ef13c84fb3 to 5c9906e3079f

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 bclayton@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: bclayton@google.com
Change-Id: If690282d4d5877f519ff73bb46ee5b031dabe294
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388877
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-25 05:01:15 +00:00
John Stiles
06b6f47950 Update blendmode benchmark to allow less than 1000 iterations.
On Mali 400 devices, 1000 iterations is way too many, causing this
benchmark to take five seconds per variation:
http://screen/5AdKPZynP7myjfR

This change should help lighten the load on the tree for older devices.

Change-Id: I3f719093c3f7fdbc81ab41c29ce6d93f36360b7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388444
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-24 21:32:23 +00:00
John Stiles
9e13fe86b1 Rewrite matrix * vector multiplication on ARM GPUs.
If sk_Caps.rewriteMatrixVectorMultiply is false, we generate the same
code as before.

If sk_Caps.rewriteMatrixVectorMultiply is true, and optimization is
enabled, medium-precision multiplication of `matrix * vector` is
rewritten in BinaryExpression as the sum of
(m[0]*v[0] + m[1]*v[1] + ... + m[N]*v[N]).

Change-Id: I9796158fd4203b5cd2278c0d0e9a2e8cda82b136
Bug: skia:11769
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388460
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-24 19:21:44 +00:00
John Stiles
15da98ce58 Revert "Performance experiment: Disable SkSL inliner in nanobench/skpbench."
This reverts commit 3f5bee1a7a.

Reason for revert: concluding experiment

Original change's description:
> Performance experiment: Disable SkSL inliner in nanobench/skpbench.
>
> This is a reland of 045d7513d7
>
> This will allow us to measure the impact (positive or negative) of
> inlining functions before submitting a shader to the driver.
> In previous trials, we encountered an issue with overloads of cross()
> which prevented us from collecting data on some platforms.
>
> Original change's description:
> > Performance experiment: Disable SkSL inliner in nanobench/skpbench.
> >
> > This is a reland of 3f35ac10b4
> >
> > Time to run this experiment again.
> >
> > 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>
> >
> > Change-Id: I278a770d4129f4ad0bf867c33a01b49a88cea588
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387256
> > Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> > Commit-Queue: John Stiles <johnstiles@google.com>
>
> Change-Id: I49a1555bde93c339fda567fc85a85e937af95628
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388396
> Commit-Queue: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

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

Change-Id: Ifd63edeb06fea8eea4ac0a4242c93449b288b074
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388796
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-24 19:21:25 +00:00
Michael Ludwig
8b6788079f Revert "Use objc_externally_retained to cut down retain/release in Metal"
This reverts commit 78381ee5e0.

Reason for revert: breaking chromium and flutter mac builds

Original change's description:
> Use objc_externally_retained to cut down retain/release in Metal
>
> Until we get off of ARC, these extra retains and releases can really
> add up in previous profiling of Metal, especially on iOS.
>
> Change-Id: Ib3aaa0b863c4469bdb6ad930395a170719c0293d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/381110
> Commit-Queue: Adlai Holler <adlai@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=jvanverth@google.com,bsalomon@google.com,adlai@google.com

Change-Id: I36aff7698a70052a42b91a910b92fd512b3eecd4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388717
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-03-24 19:06:05 +00:00
Brian Salomon
2a88456c15 Don't reuse scratch textures when texsub image banned for FBO textures
If writePixels uses a scratch surface it will likely bind it to a FBO.
If this workaround is in play that texture then becomes "poisoned" as
a temp surface for a future writePixels(). However, our caching
mechanism will still find it and we'll incur an extra recursion in
writePixels to allocate a new texture that has never been bound to a
FBO. This pattern can repeat itself with increasing recursion depth
until the cache budget has been reached and we start purging the
"poisoned" textures.

Disallowing reuse of scratch textures avoids this issue.

Bug: skia:11204
Change-Id: I8002a673900a9a34e889c92e816781d4b7f84688
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388696
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-03-24 18:29:42 +00:00
Adlai Holler
78381ee5e0 Use objc_externally_retained to cut down retain/release in Metal
Until we get off of ARC, these extra retains and releases can really
add up in previous profiling of Metal, especially on iOS.

Change-Id: Ib3aaa0b863c4469bdb6ad930395a170719c0293d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/381110
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-03-24 16:32:42 +00:00
Brian Salomon
5ca24f94ab Reland "Reland "Add GrRuntimeFPBuilder""
This is a reland of 7508b54af3

Original change's description:
> Reland "Add GrRuntimeFPBuilder"
>
> This is a reland of 4b39aaf2cb
>
> Original change's description:
> > Add GrRuntimeFPBuilder
> >
> > Like SkRuntimeShaderBuilder but for internal use for creating FPs.
> >
> > Currently it requires that the code be a static string so it can
> > easily make a static SkRuntimeEffect instance for each effect.
> >
> > Bug: skia:11771
> >
> > Change-Id: I18148eb33e7d28c804e4a13bcef88c89c06b2c9b
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386889
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
>
> Bug: skia:11771
> Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian10-GCC-x86_64-Release-Shared_Docker,Build-Win-Clang-x86_64-Release-Shared,Build-Win-MSVC-x86_64-Release-Shared
> Change-Id: I10a7974aa209f9cd63a5dc1ef21a36822b49bda3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388097
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Bug: skia:11771
Change-Id: Id20797ecf5b34847fdc22e28d3e68db88f2519c3
Cq-Include-Trybots: luci.skia.skia.primary:Canary-Android
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388458
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-03-24 16:11:42 +00:00
Michael Ludwig
e50167091c Move Sk3Perspective and Sk3Lookat into SkM44
Sk3Perspective -> SkM44::Perspective
Sk3LookAt -> SkM44::LookAt

Also adds some SK_API tags to the SkV[2,3,4] structs. Also fixes
linkage issues around Sk3Perspective/LookAt by moving them into the
exported SkM44 (if we don't like them as SkM44 factories, will just need
to add SK_API tags to old Sk3Perspective/Lookat directly).

Change-Id: I3f125211b76899f216e63cc8d587776004516e36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388476
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-03-24 15:47:22 +00:00
Ben Wagner
1546053269 SkFontMgr_New_Custom_Data to take SkData
Have the canvaskit bindings provide SkData since only the bindings know
the correct release procedure for the underlying data.

Bug: skia:11778
Change-Id: I0fac15287b014ea01dfc0d4b87dd2fe7987fe1d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388496
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-03-24 15:02:03 +00:00
John Stiles
e8da4d2757 Code cleanup: Add isMain() accessor to FunctionDeclaration.
This returns true if the function name is `main`. We have special
treatment for functions named `main` in various places throughout the
compiler, so this accessor comes in handy fairly often.

Change-Id: I9da17648800f0385875e1e7d66aacb5f3dea3817
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388443
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-24 14:35:12 +00:00
John Stiles
3f5bee1a7a Performance experiment: Disable SkSL inliner in nanobench/skpbench.
This is a reland of 045d7513d7

This will allow us to measure the impact (positive or negative) of
inlining functions before submitting a shader to the driver.
In previous trials, we encountered an issue with overloads of cross()
which prevented us from collecting data on some platforms.

Original change's description:
> Performance experiment: Disable SkSL inliner in nanobench/skpbench.
>
> This is a reland of 3f35ac10b4
>
> Time to run this experiment again.
>
> 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>
>
> Change-Id: I278a770d4129f4ad0bf867c33a01b49a88cea588
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387256
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

Change-Id: I49a1555bde93c339fda567fc85a85e937af95628
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388396
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-24 13:24:50 +00:00
skia-autoroll
30e05095b2 Roll Chromium from 22909c8c40af to 18606de65b54 (468 revisions)
22909c8c40..18606de65b

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 reed@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: reed@google.com
Change-Id: Ide09f37b4ab784c1b55bc1c043e0d37a863ee363
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388388
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-24 06:19:32 +00:00
skia-autoroll
d35603acdf Roll ANGLE from ef17c6503bdc to d146222879dc (9 revisions)
ef17c6503b..d146222879

2021-03-23 syoussefi@chromium.org Vulkan: Use VK_EXT_multisampled_render_to_single_sampled
2021-03-23 ianelliott@google.com Update ANGLEWrangling.md with Hotlist-Wrangler
2021-03-23 rafael.cintron@microsoft.com Enable D3D11 debug names in ANGLE release builds
2021-03-23 penghuang@chromium.org Disable timestamp queries for Mali-G31 and older GPUs
2021-03-23 jmadill@chromium.org Revert "Save/Load missing members"
2021-03-23 jmadill@chromium.org Vulkan: Rename Uniforms/XFB descriptor desc.
2021-03-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 3eced2421f5a to f1617b736428 (473 revisions)
2021-03-23 cnorthrop@google.com Tests: Add Real Cricket 20 trace
2021-03-23 ianelliott@google.com Fix copyright dates of new test files per Shabi

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 reed@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: reed@google.com
Test: Test: angle_perftests --gtest_filter="*real_cricket_20*"
Change-Id: I31ea6a88cdb050df529a20bbdef761edafaa08d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388423
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-24 05:29:32 +00:00
skia-autoroll
db40eb2b2e Roll Dawn from d42f4b3ca5ff to 54e150b7c22e (9 revisions)
https://dawn.googlesource.com/dawn.git/+log/d42f4b3ca5ff..54e150b7c22e

2021-03-23 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 2e97435ba613 to 84ef13c84fb3 (4 revisions)
2021-03-23 cwallez@chromium.org Avoid unnecessary recompiles with code generators.
2021-03-23 cwallez@chromium.org Port Animometer's vertex shader to WGSL
2021-03-23 cwallez@chromium.org Use SPVASM for ShaderFloat16Tests.
2021-03-23 cwallez@chromium.org BUILD.gn: Remove warning suppression for Skia
2021-03-23 cwallez@chromium.org Port the last BufferZeroInitTest to WGSL
2021-03-23 enga@chromium.org Update the wire-based fuzzers to always assume an injected error
2021-03-23 cwallez@chromium.org Port VertexFormatTests to WGSL
2021-03-23 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 4daddd1759c6 to 2e97435ba613 (13 revisions)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 4daddd1759c6 to 84ef13c84fb3

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 bclayton@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: bclayton@google.com
Change-Id: Iad7747f39e0535da965021b7ce9c48051eb68504
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388389
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-24 05:08:12 +00:00
John Stiles
85749c0b22 Add caps bit for RewriteMatrixVectorMultiply.
On ARM GPUs, the Vulkan driver does not honor relaxed precision when
evaluating SpvOpMatrixTimesVector. This leads to reduced performance
(compared to GLSL, where mediump matrices and floats do evaluate all
intermediate values at mediump).

This caps bit will be enabled on ARM GPUs and, in a followup CL, will
be used to toggle a workaround where `m*v` is rewritten as the sum of
(m[0]*v[0] + m[1]*v[1] + ... + m[N]*v[N]).

Change-Id: I310fa73639b6498552c9672e76860f2eded15d0a
Bug: skia:11769
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388459
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-23 22:40:02 +00:00
Mike Klein
f2b3f916fc split off --dylib from --jit in nanobench
This makes nanobench like the other tools.

Change-Id: I145cb559489588fa27f07d7e91b96105f7afcc81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388379
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-03-23 20:57:42 +00:00
Ethan Nicholas
7f01588f15 Revert "Revert "Added more RelaxedPrecision decorations""
This reverts commit 7bba1f55e8.

Change-Id: I707a3c215f37376086e22eaa43916afeed6da4c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388456
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-03-23 19:34:42 +00:00
skia-autoroll
2159f8b220 Roll skcms from 16a890f7be9d to 65de465d622d (1 revision)
https://skia.googlesource.com/skcms.git/+log/16a890f7be9d..65de465d622d

2021-03-23 mtklein@google.com parse profile following user-supplied A2B priority

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC reed@google.com,mtklein@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: luci.chromium.try:linux-blink-rel
Tbr: reed@google.com,mtklein@google.com
Change-Id: Ic59268102ac3e65a0161e7ee0eed822c972924ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388377
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-23 19:17:22 +00:00
Robert Phillips
84fd1c2dec Clean up remaining NVPR bits & bobs
Bug: skia:11760, skia:11787
Change-Id: Idfedb90576e0484bf32a9002081c0fcb888141eb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388216
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-03-23 19:12:12 +00:00
Brian Salomon
bb0ed8e487 Revert "Reland "Add GrRuntimeFPBuilder""
This reverts commit 7508b54af3.

Reason for revert: android roll

Original change's description:
> Reland "Add GrRuntimeFPBuilder"
>
> This is a reland of 4b39aaf2cb
>
> Original change's description:
> > Add GrRuntimeFPBuilder
> >
> > Like SkRuntimeShaderBuilder but for internal use for creating FPs.
> >
> > Currently it requires that the code be a static string so it can
> > easily make a static SkRuntimeEffect instance for each effect.
> >
> > Bug: skia:11771
> >
> > Change-Id: I18148eb33e7d28c804e4a13bcef88c89c06b2c9b
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386889
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
>
> Bug: skia:11771
> Change-Id: I10a7974aa209f9cd63a5dc1ef21a36822b49bda3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388097
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I01a1567edd4162f1054137886052f5065a9e6175
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11771
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388397
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-03-23 18:11:47 +00:00
skia-autoroll
ffc49942b2 Roll skcms from 57e818ae88b7 to 16a890f7be9d (1 revision)
https://skia.googlesource.com/skcms.git/+log/57e818ae88b7..16a890f7be9d

2021-03-23 mtklein@google.com simplify diagnostic ignored "-Wpsabi"

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC mtklein@google.com,reed@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: luci.chromium.try:linux-blink-rel
Tbr: mtklein@google.com,reed@google.com
Change-Id: Id5c30dc38d2aac787f1c3ba647c2e3577c734c78
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388256
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-23 17:52:05 +00:00
Ethan Nicholas
8b3dd34956 Refactored IRGenerator::convertProgram
This breaks the setup & cleanup code into separate chunks, which both
reduces the size of this overlong method and makes the setup & cleanup
functionality available for use from DSL code in the future.

Change-Id: Id0a33292d7cf62da89d6e62fa47d692f3ad7277b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387957
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-03-23 17:47:17 +00:00
John Stiles
345f140e83 Abort in Nanobench if a shader compilation error occurs.
Currently, Nanobench is silently reporting bad performance metrics when
a shader can't be compiled; this is, at the very least, misleading, and
can often cause real problems to be magnified or ignored.

Change-Id: I7a826dfd6e680e42a0c3eeebf76cc21cbd7f9dbb
Bug: skia:11776
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388140
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-23 17:11:54 +00:00
Ben Wagner
e31b526f03 Document SkTextBlobBuilder::allocRunText*
Now that these methods are used in Chromium to produce PDFs with
embedded text, properly document how to use them.

Change-Id: I68fb477b65ec41af9fcc46429275bda03680bff0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387976
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Dominik Röttsches <drott@chromium.org>
2021-03-23 16:51:15 +00:00
John Stiles
2ef627aba9 Add a custom ShaderErrorHandler to Nanobench.
In this CL, the custom ShaderErrorHandler retains the existing failure
mode of the DefaultShaderErrorHandler (using SkDEBUGFAILF) to minimize
breakage on the tree.

Change-Id: I52ecbcadf2ce93eaf47bf400b5faa8955f9526ca
Bug: skia:11776
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388139
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-23 15:53:08 +00:00
Robert Phillips
ced5e83773 Retract GrRenderTarget from GrCaps & GrProgramDesc where possible
Fully retracting GrRenderTarget is still blocked on Dawn, D3D,
and Vk uses.

Change-Id: I59ebce40d85134f8ee18c143df2a3f4b70c3dcb1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386840
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-03-23 15:44:58 +00:00
Brian Salomon
ed3c75b0a5 adjust values in very_large_sigma_gpu_blur gms
Only the largest sigma (320) would hit the downscale limit with the
old sigmas and image sizes. However, that sigma was far too large
to produce reference values in a reasonable amount of time.

Reduce the image sizes so that the downscale limit can be hit with a
smaller sigma.

Bug: skia:11735
Change-Id: Ia7f4385c6114f7071a14336ca39f81cf9ac68861
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386058
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-03-23 15:23:18 +00:00
Herb Derby
0da2c146fd remove paint from SkGlyphRunList
Change-Id: I0f9027f1a360d90d2c91680d414a6591bc8192cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387956
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-03-23 15:21:48 +00:00
Julia Lavrova
5625ef5043 Too long placeholder should start from a new line
Bug: skia:11783
Change-Id: Ide5f0976bc20ababb483ddd10d2f081ad3d13a86
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388138
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-03-23 14:53:28 +00:00
Brian Osman
d1f3b97a64 Remove sk_SampleMask support from SkSL
Change-Id: I22837a4921238749664217e595d24d196503534d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388096
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-03-23 14:37:28 +00:00
Robert Phillips
f10535f6fa Fuse GrGLSLPrimitiveProcessor and GrGLSLGeometryProcessor ...
into a new GrGLSLGeometryProcessor. Since NVPR is no more this
distinction (between GLSL- Primitive and Geometry -Processor)
probably isn't needed/useful.

Bug: skia:11760
Change-Id: I75621725bd2b0ef3dbac2ea6449bd571551babab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388036
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-23 14:30:18 +00:00