SkStrikeSpecStorage is the centralized class for creating different sets of
SkScalerContextRecs/Effects for different text rendering methods.
It is initailly called SkStrikeSpecStorage, but as a last stage will be
renamed to SkStrikeSpec as it encompasses the current functionality of
the existing SkStrikeSpec.
I'm breaking up a much larger prototype for this CL and several
following CLs. The prototype is at:
https://skia-review.googlesource.com/c/skia/+/209109
Change-Id: I617eaae6fcb4b0b29914c3f1a82c52c81d81aabe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212733
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
With the following CL:
https://skia-review.googlesource.com/c/skia/+/213220 (Alter createTestingOnlyBackendTexture methods)
we lose the BGRA-ness of testingOnlyBackendTextures on desktop machines so, upon upload, the required swizzle isn't happening. This CL switches all the DDL images to RGBA to work around the problem. Once the backendTexture API settles down we will need a way to specify the format of the uploaded data separate from the format of the backendTexture.
Change-Id: Id92e1ad65cb7eb332696ce509b576d25bb7dbbaf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213466
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Bug: chromium:957946
Change-Id: I443d0960113471ffca398cc552ffd1fe26f293d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213132
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This reverts commit 13f02be291.
Reason for revert: Vulkan assert
Original change's description:
> Remove some uses of GrBytesPerPixel
>
> GrPixelConfig needs to go away. Towards that end, switch the Vk and GL backends over to using their native formats.
>
> Change-Id: I92c80eb27e5d639097a40745429721208fe26836
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213428
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
TBR=egdaniel@google.com,robertphillips@google.com
Change-Id: I253b6587a33c9195266772386aace1c53e0652cf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213468
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
GrPixelConfig needs to go away. Towards that end, switch the Vk and GL backends over to using their native formats.
Change-Id: I92c80eb27e5d639097a40745429721208fe26836
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213428
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
I don't particularly care about Python 2 vs 3,
and don't think we're likely to leave 2 soon.
Bug: skia:9079
Change-Id: Ia28c1312309d4d9218d05915dcd21a45fe6f3727
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213506
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Change-Id: I0cf8e12d5ddb9b89aff39f484d8a017f61e4a20f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213465
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Introduce SkAutoMutexExclusive for SkMutex RAII.
Unsubclass SkMutex from SkBaseMutex to allow annotations
for class field mutexes separate from global mutexes.
Leave SkAutoMutexAcquire for handling global mutexes using
SkBaseMutex.
Test using GrSingleOwner.h.
Change-Id: I19d9d0ae0d05206cbb6ef137dc362969048c9c07
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213136
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This intended to bring this API more into line with the proposed GrBackendObject API with an eye towards replacing the former with the latter.
TBR=bsalomon@google.com
Change-Id: I4367f03fb10fff788749f21c4843060111a6df1c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213220
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Finds the (octagonal) intersection of the path's bounding octagon and
the scissor, and draws that octagon instead. This allows us to avoid
ever using the scissor when drawing paths to the main canvas. It will
also let us use that same octagon without scissor when resolving the
stencil buffer to coverage in MSAA mode.
Bug: skia:
Change-Id: Ia7fe60343424bc77532fa9919d3fa108337a5d63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212840
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
The mutex was originally added to support the use of multiple GrContext's
accessing the semaphore when using cross context images. However, we no
longer use semaphores for Vulkan cross contexts. We require the VkQueue to
be the same in the shared context, so this allows a simple barrier to do
the trick for us.
Change-Id: I92c80df6b14249de85e35c56c90a0910ad6c5bfc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213300
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
ebab670cb3..3dbe480b55
git log ebab670cb32d..3dbe480b559e --date=short --no-merges --format='%ad %ae %s'
2019-05-10 shrekshao@google.com Validating draw buffers now also considers color mask settings
2019-05-10 jonahr@google.com generate_stats filters duplicate neighboring rows.
2019-05-10 jmadill@chromium.org Rename state change notification messages.
2019-05-10 syoussefi@chromium.org Vulkan: Support unsigned int uniform types
2019-05-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src e291f7a09f67..2dd4ab3a4acb (4 commits)
2019-05-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 89fe836fe22c..f6d9a1784313 (1 commits)
2019-05-10 syoussefi@chromium.org Vulkan: Enable EXT_frag_depth
2019-05-10 syoussefi@chromium.org Vulkan: Support flat and centroid qualifiers
2019-05-10 syoussefi@chromium.org Vulkan: fix qualifier erase for unused vertex attributes
2019-05-10 syoussefi@chromium.org Vulkan: Implement EXT_draw_buffers
2019-05-09 jonahr@google.com Change all ANGLE workarounds to use struct definition with info.
2019-05-09 timvp@google.com Allow mis-matched Android Context versions
2019-05-09 tobine@google.com Remove dontRemoveInvariantForFragmentInput WA
2019-05-09 jmadill@chromium.org Print current file in ASSERT macro failures.
2019-05-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src f88e5824d2cf..e291f7a09f67 (1 commits)
2019-05-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src d0a1f5a05a2b..89fe836fe22c (4 commits)
Created with:
gclient setdep -r third_party/externals/angle2@3dbe480b559e
The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=michaelludwig@google.com
Change-Id: I629ecf35ec3540a6d1e268b351f88a9e1ed0cc41
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213401
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Change-Id: I4553bbdb7be5f5bd9e6efc12f4e3aba7557c4549
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213133
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
No users are defining this macro any more, so it should now be safe to
remove. With this change 'linearMetrics' now means 'normal metrics' if
false and 'unhinted metrics' if true.
Change-Id: I32916a7b0fc291feff7ab8cd6d68bb58847337f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213135
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Initial version. Current limitations: No Metal support, no color space
conversions, for each src color type only one dst color type is legal (
which may or may not be the src color type), no alpha type conversions.
Bug: skia:8962
Change-Id: I6f046a32342b8f5ffb1799d67d7ba15c250ef9bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212981
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Start out with spinlock. I tried to be more extensive, but some
of our abstractions confused the analysis. Will expand further
in following CLs.
Change-Id: I3e320c957d8ef427065a2b7e7d2187b7c6b0aef1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213060
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
These bots all auto-updated.
Change-Id: Ia500c871b62b48ce951ca94f4422a3a245c6e14b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/213120
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Bug: b/123437630
Change-Id: I13409286910067d83654ba7df787784ded6736f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212726
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Workaround for the SkSL sources being part of the gpu component in GN,
causing link errors in CanvasKit CPU builds. Better solution is to move
the SkSL interpreter into a separate component.
Change-Id: I0438d8eff16f335eb07ff557f7917697767c58f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212987
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
This reverts commit a15f355be8.
Reason for revert: ANGLE failing new test
Original change's description:
> Release YUVA planes in SkImage_GpuYUVA after flattenning to RGBA.
>
> Also removed unused virtual function from SkImage_GpuBase and override
> on SkImage_GpuYUVA.
>
> Change-Id: Ib47b46b529b16976181cb9453976133d66e0f952
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212734
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com
Change-Id: Ib2566ff8aa99d3698d6044167e70a1d75542f2e9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212986
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This will allow clients to specify a set of SkImages and SkSurfaces that they
want transitioned to a state which they can use for their own external IO.
Specifically for Vulkan this will move the surface and images back to the queues
in which they were originally wrapped or created with.
Bug: skia:8802
Change-Id: I6a76c4c4a333a8e752632d349899f5fd9921329d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210460
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Change-Id: Ib440570ecbd46b5bc98d346592cbbb72f58ae85a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212500
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Encapsulates all the various code dealing with 45-degree bounding
boxes into a central GrOctoBounds class.
Bug: skia:
Change-Id: Ibc8ac4371af8f310e711579c3c77e0b3a53aff0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212563
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Also removed unused virtual function from SkImage_GpuBase and override
on SkImage_GpuYUVA.
Change-Id: Ib47b46b529b16976181cb9453976133d66e0f952
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212734
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Allows updating the global inputs of a cached Interpreter object.
Change-Id: I626e63294a441a7f52ae484755c99f5d04bb614f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212980
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Introduce a new SkottieShaper VAlign option (kResizeToFit), to scale the text
size for the best box fit.
The basic idea is to perform a binary search on the font size, until
the shaped text fits snuggly within the specified box. The search is
focused on height, as horizontal fitting is assumed to be handled in
SkShaper.
Change-Id: I56269e02dda7a34e4ef3b79c205ea651b909f370
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212962
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Will be helpful to display bot failures because of merge conflicts or
gn_to_bp.py script errors.
Bug: skia:9056
Change-Id: I21dd3fb5552e5f28497c425ec1e15c997afe8090
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212940
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
This reverts commit 360dc593c0.
Reason for revert: Doesn't reproduce issue.
Original change's description:
> Large circle clipping gm.
>
> Seeing if this reproduces a reported problem on PowerVR devices.
>
> Bug: b/123437630
>
> Change-Id: I161cd04034cb7d217ff519a4b26e521bf36ed4b5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212727
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,brianosman@google.com
Change-Id: Ida6225513c24ba68d4744e7871cce38555dddb61
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/123437630
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212964
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This reverts commit 693bc2bae5.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Revert "Add flush() to SkImage."
>
> This reverts commit d0503a72ac.
>
> Reason for revert: <INSERT REASONING HERE>
>
> Original change's description:
> > Add flush() to SkImage.
> >
> > This allows a client to ensure all uses of a texture-backed image have
> > been flushed.
> >
> > Does nothing if the image isn't texture-backed.
> >
> > The implementation adds support for triggering a flush if any of a set
> > of proxies are used rather than just a single proxy.
> >
> > Change-Id: I358882d9737e63c6e69b924c0767f49b8f8f36ec
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212405
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
>
> Change-Id: Ie376bf4225307f45b8fb3eb4a63bf84702365797
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212884
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
Change-Id: Idcba378ce2e3af0af9d0eef35737670055539ec5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212960
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Seeing if this reproduces a reported problem on PowerVR devices.
Bug: b/123437630
Change-Id: I161cd04034cb7d217ff519a4b26e521bf36ed4b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212727
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This reverts commit d0503a72ac.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Add flush() to SkImage.
>
> This allows a client to ensure all uses of a texture-backed image have
> been flushed.
>
> Does nothing if the image isn't texture-backed.
>
> The implementation adds support for triggering a flush if any of a set
> of proxies are used rather than just a single proxy.
>
> Change-Id: I358882d9737e63c6e69b924c0767f49b8f8f36ec
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212405
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
Change-Id: Ie376bf4225307f45b8fb3eb4a63bf84702365797
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212884
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This allows a client to ensure all uses of a texture-backed image have
been flushed.
Does nothing if the image isn't texture-backed.
The implementation adds support for triggering a flush if any of a set
of proxies are used rather than just a single proxy.
Change-Id: I358882d9737e63c6e69b924c0767f49b8f8f36ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212405
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Bug: skia:9035
Change-Id: I99ba10c36274f9f4b97c059bd8414c5b8cdf32de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212761
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
19905aea14..ebab670cb3
git log 19905aea14e0..ebab670cb32d --date=short --no-merges --format='%ad %ae %s'
2019-05-08 mihu@microsoft.com Adding new extension GL_OVR_multiview
2019-05-08 tobine@google.com Vulkan:Exclude pragma_vertex test on MAC
2019-05-08 jonahr@google.com Modify 'bb ls' command for generate_stats for more precision.
2019-05-08 jmadill@chromium.org Don't inherit ANGLETest SetUp and TearDown.
2019-05-08 shaforostoff@gmail.com fix a freeze when returning from fullscreen to maximized (nvidia only)
2019-05-08 jonahr@google.com Remove SystemInfo::primaryGPUIndex
2019-05-08 courtneygo@google.com Refactor in preparation of adding OES_depth_texture
2019-05-08 timvp@google.com Vulkan: Enable standard derivatives extension
2019-05-08 staphany@chromium.org Roll ./third_party/googletest/src/ 9997a830e..3f5b5b8f8 (3 commits)
2019-05-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src c0640dabfddd..f88e5824d2cf (1 commits)
2019-05-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 63f57d95d6fa..d0a1f5a05a2b (3 commits)
Created with:
gclient setdep -r third_party/externals/angle2@ebab670cb32d
The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=robertphillips@google.com
Change-Id: Ic574f6e80b4b97854dd3b8198b2220a716fd7e6f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/212842
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>