A few first steps toward a Bazel build.
To try it out, I think just
$ bazel test ...
I added third_party to .bazelignore to prevent Bazel from looking there.
It can handle external dependencies itself, so no need to poke into what
we sync from DEPS. Some of those have Bazel configs and we don't want
to be building them yet.
I've started by with libpng using new_git_repository(), mostly because
it's small, with a mildly complex build, and needs dependencies of its
own, zlib. Mysteriously zlib is built-in to Bazel, so that was easy.
Next up is probably a dependency that does support Bazel, using
git_repository(). That should make sure we can handle the full mix.
Change-Id: I5775a1b254d341b9a90630aa1cc433a24167f2fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316636
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Golden SkSL outputs are intended to eventually replace the majority of
our unit tests, since they can automatically update themselves when we
change implementation details of the compiler.
If you change the compiler output without updating the Golden files, the
CheckGeneratedFiles housekeeper will be triggered. Set
`skia_compile_processors` or `skia_compile_sksl_tests` to true in your
GN args to regenerate them.
Almost all of the tests from SkSLFPTests.cpp and SkSLGLSLTests.cpp can
be migrated into separate unit-test .fp/.sksl files in a followup CL.
hcm@ has signed off on removing the copyright boilerplate preamble from
our unit test files.
Change-Id: I9e24a944bbac8f8efd62c92481b022a0b1ecdd0b
Bug: skia:10694
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316336
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
In this CL, the IR generator still performs inlining as well; this will
be removed in a followup CL. However, the optimization pass is able to
find more inlining opportunities because it allows itself to exceed
the 50-IRNode limit when a function is only used once. In our test code
this is uncommon, but in SkSL generated from trees of fragment
processors, it is very common; any FP that is only sampled once tends
to qualify.
Change-Id: I8b2f653b2dd05d4de18bb15f3a4c1f034b8252ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315639
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
We had several defines around the code base that were not
very descriptive. Additionally, we had a patch of extra
runtime restrictions living in oss-fuzz that were applied
when fuzzing over there for some fuzzers.
This has all be consolidated and controlled via the defines
documented in site/dev/testing/fuzz.md
As such, we can remove one of the patches that is in oss-fuzz,
taking us closer to being able to fuzz in the CI/CQ.
PS 1 renames existing fuzz defines to the new schema.
PS 2-3 backports skia.diff from oss-fuzz and changes those
definitions to have the _GREATLY modifier.
PS 5+ further condenses the defines so that there is one
define for gating the runtime checks.
Change-Id: Ia4ad96f30c1e9620a2123b510e97c6f501a2e257
Docs-Preview: https://skia.org/?cl=316443
Bug: skia:10713
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316443
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Disambiguates Switch from SwitchCase, and makes is() and as() work.
Change-Id: I9b9b71dabd730247b20ec9b6df02b87e4978d534
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316577
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Allows the user to limit the stream to a subset of the entire file.
SkFILEStream uses the current FILE position as the base position for the
stream; this allows the user to further limit the length of the stream
to a range of bytes in the file.
Change-Id: I36131ff19e75b65d501eabdfd9368f8fbb2e177f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316357
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Rename fSize to fEnd (since it is actually the offset of the end
underlying file, not the size of the file), fOriginalOffset to
fStart, and fOffset to fCurrent. Also initialize in the order fEnd,
fStart, then fCurrent to maintain the invariant that fCurrent should
always be kept within the range of fStart and fEnd, inclusive.
Change-Id: I8801288320cf82b071e4621c0e770ce16016953a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316453
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Bug: oss-fuzz:25584
Change-Id: I3d6007e373f2b3b684065cad276695fb78c0bd8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316537
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
This improves perf on ANGLE D3D11 ES3. Will make conditional
if any other config regresses.
Also makes the varyings passed to append_index_uv_varyings be
purely output params.
Change-Id: I332940d9d55be854d3bba72286ca89840ab43d50
Bug: skia:10644
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316226
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This change doesn't accomplish anything by itself, but is a necessary
prerequisite for followup changes to node handling. Eventually all data
is going to be stored within IRNode itself, and the subclasses will not
add any fields; this is just the first step in that process.
Change-Id: If2bea4c62bd8f680e9d9f39248bb9679332b245b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315867
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
This is a reland of ff9dc8240e
ASAN errors were resolved at http://review.skia.org/316451
Original change's description:
> Add InlineCandidateAnalyzer to locate candidate functions for inlining.
>
> The analyzer will be enabled in followup CLs. At present, if the
> commented-out code is enabled, it will properly identify candidate
> functions that should be inlined.
>
> Change-Id: Icb6e7c2394a3828df81f75b855c69a25bf297842
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315217
> Commit-Queue: John Stiles <johnstiles@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
Change-Id: I851bde66c5e490c237b88606f23fb3c5077a2393
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316452
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
This removes the always use dedicated allocations for newer Mali's
and removes the "small image" check in GrVkMemory. The later is not
needed since the allocators we use have their own heuristics for using
dedicated memory which includes querying the driver itself to see if
it is recommended or not. We can also add a limit back here if we find
it necessary.
Bug: chromium:1127358
Change-Id: Ia7fa6281abb058293805c9c1c3dba9b79e7e12fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/314320
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Bug: skia:7647
Change-Id: Ic4709817804610783de8ff3d9eaa32f57fb72729
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313316
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This reverts commit ff9dc8240e.
Reason for revert: tree on fire
Original change's description:
> Add InlineCandidateAnalyzer to locate candidate functions for inlining.
>
> The analyzer will be enabled in followup CLs. At present, if the
> commented-out code is enabled, it will properly identify candidate
> functions that should be inlined.
>
> Change-Id: Icb6e7c2394a3828df81f75b855c69a25bf297842
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315217
> Commit-Queue: John Stiles <johnstiles@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com
Change-Id: I1f07b406c4d56f2fdb6d3c5360f15397fc26d783
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316448
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
We don't expect raw literals to ever appear here; this is a defensive
maneuver. See http://review.skia.org/316440 for an example case where
raw literals accidentally made it all the way to the inlining pass, due
to a missing `coerce`.
Change-Id: I80198f2f135791931aa53e0d6d92f1edfe4fb3b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315970
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
This CL adds a new type GrDstSampleType to say how we will sample the dst.
We add tracking of the GrDstSampleType in the recording of GrOps and
then during execution passing the information along to the GrPipeline.
In general the tracking of GrDstSampleType is a global state of a GrOpsTask
so it is kept separate fro the DstProxyView which is more specific to a
single Op on the GrOpsTask.
Bug: skia:10409
Change-Id: Ie843c31f2e48a887daf96cee99ed159b196cb545
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315645
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Plumb layer size information and add machinery for retrieving layer
content as an SkPicture.
Implement the effect in SkSL.
Current limitations:
* displacement source layer must be above (on top in stacking order)
of the target layer
* if animated, the displacement layer timeline (in/out points) must
fully cover the target layer timeline
* Hue/Sat/Lightness selectors are not supported at the moment
These will be addressed in follow-up CLs.
Note: Bodymovin does not export hidden layers by default; if the
displacement source layer is hidden, one should select the "Hidden"
export option.
Change-Id: I11a5c760a9df1e75835a51371f60d5b798e7e38a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/314798
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Constant propagation wasn't performing type coercions, so we'd end up
propagating a constant into its final location and using the constant's
type rather than the destination type. This allowed things like
$floatLiteral to sneak into final output.
Change-Id: I5b63c70370095e291dea6374e139329b695fa0b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316440
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
'::' is now the only way to access enum members, and it can no longer be
used to do swizzles and other field-access type things. This also
prevents a parser assert when there's a dangling '::' (that fell through
to the float-literal case and didn't see the expected '.').
Bug: skia:10627
Change-Id: I26f6ddeec33e45182a587dbb266ca4b45459cb2d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316230
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
29b1f07f4a..0c8f66c716
2020-09-11 jiawei.shao@intel.com OpenGL: Get VendorID and DeviceID with angle::GetSystemInfo()
2020-09-11 jmadill@chromium.org Enable -Wweak-template-vtables.
2020-09-11 courtneygo@google.com Fix mismatch issue with precision qualifiers.
2020-09-11 courtneygo@google.com Refactor to pass ProgramMergedVaryings to link impl
2020-09-11 jmadill@chromium.org De-templatize ResourceManagerBase.
2020-09-10 jonahr@google.com Cleanup disable_program_binary workaround
2020-09-10 hidehiko@chromium.org Expand is_linux to is_linux || is_chromeos.
2020-09-10 sugoi@google.com Added integer overflow detection to ClipRectangle
2020-09-10 syoussefi@chromium.org Make gl::DrawBufferMask a BitSet8
2020-09-10 emaxx@chromium.org Fix useless move() in SizedMRUCache_unittest.cpp
2020-09-10 timvp@google.com Vulkan: Avoid linking to SPIR-V validation if possible
2020-09-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 4ede8ee6e2ec to fcb7ecbe49c5 (5 revisions)
2020-09-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from ce08265ba5b7 to b24900a1aa39 (1 revision)
2020-09-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from a715b1b40535 to 2de7d3af0c0e (2 revisions)
2020-09-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from e9ccdaed3414 to 30a5da059e5d (421 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 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
Bug: chromium:1091364,chromium:1110266,chromium:1122844
Tbr: reed@google.com
Test: Test: Built locally. Tryjob.Test: Test: CQ
Change-Id: Id9e8104860e66d1b6b46a28901d417a8a57796ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316204
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
The stroke tessellator can't handle inflections and can't handle
rotations greater than 180 degrees. Before this CL we had to use the CPU
to chop curves at their inflections and midtangents in order to meet
these constraints. This CL adds a vertex shader to the tessellation
pipeline that handles all the chopping logic on the GPU.
Bug: skia:10419
Change-Id: I2d3279076bafa415395e014772a305e616fcff71
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315797
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
In case the default font family is not there.
Bug: skia:10701
Change-Id: Ie1155d820bfcc25870bedcd0310b0e779d55e942
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316087
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
We had two copies of IsAssignment. Move everything into Compiler, with
consistent parameter names, etc...
Change-Id: Icc91da69075f4d20cac9b1a7328b717b05984b3f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316223
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
The analyzer will be enabled in followup CLs. At present, if the
commented-out code is enabled, it will properly identify candidate
functions that should be inlined.
Change-Id: Icb6e7c2394a3828df81f75b855c69a25bf297842
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315217
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Four of the first 12 cases in the new unit test previously failed (the
logic to reduce from vector to scalar type coercion didn't test the
reverse order, so (half * float4) would only test if (half * float) was
possible going right-to-left.
Also, the matrix multiplication logic was missing a check when doing *=,
allowing things like (matrix *= vector) to compile (then fail later in
GL, etc.)
Finally, we were never checking if the op was valid for vectors when
doing the vector/scalar combination. Added test cases to
BinaryTypeMismatch that previously failed, and now work.
Change-Id: I1e2709e3ba4df31f9300672189826151eabe017a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315964
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
In FreeType bitmap strikes don't have any inexpensive conservative
bounds. The existing code was covering for this by guessing at some
possible likely bounds, but they are likely to be wrong. Leave the old
guess but mark these bounds as unreliable to prevent bogus clipping when
used in relation to text blobs.
Change-Id: I6eb4448bf40237ac0b15aec6c06c98025d1e58b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316219
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
This is necessary to avoid an infinite death spiral of inlining once we
enable the inline-analysis pass of optimization. Right now it has no
effect because the IR generator can't inline recursive calls.
Change-Id: I5e5a13962e3fc3901f2a340ef11d6483379c063d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315640
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Combine the drawingMatrix and drawingOrigin in
GrRenderTargetContext::drawGlyphRunList. This simplifies canReuse
and GrTextBlob::Make.
Change-Id: I4be4b67c26df90564b10ee803ae81edf5722dfcf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315969
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This reverts commit 038ba443a0.
Reason for revert: Perf data is in
Original change's description:
> Temporary hack to force text texture index varying to be float.
>
> Previous experiment showed disabling integer support in GrShaderCaps
> improved ANGLE D3D11 ES3 perf.
>
> Trying to determine if perf hit on ANGLE D3D11 ES3 is from
> integer vertex attribs and unpack operations in VS or from
> using an int varying to communicate the index to the FS.
>
> Will revert this after observing trend on perf.skia.org.
>
> Change-Id: I40f4c0397b1377922c3018be864c1b7048bcfba9
> Bug: skia:10644
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315866
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=jvanverth@google.com,bsalomon@google.com
Change-Id: I4b32ff2c2472a046769d68a468642aa63e79a0df
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10644
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316082
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
41c93c550b..29b1f07f4a
2020-09-10 syoussefi@chromium.org Vulkan: Boilerplate for vkCmdNextSubpass
2020-09-10 courtneygo@google.com Fix ASAN issue with accessing application name
2020-09-09 jonahr@google.com Workaround bogus MscRate reported by some XWayland drivers.
2020-09-09 shrekshao@google.com Suppress AtomicCounterBufferRangeRead failure on Nexus6P
2020-09-09 jdapena@igalia.com GCC: init kImageMemoryBarrierData with initializer constructor
2020-09-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 10121443c16d to ce08265ba5b7 (3 revisions)
2020-09-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 1ab52e54abfd to a715b1b40535 (2 revisions)
2020-09-09 syoussefi@chromium.org Vulkan: Free 8 bits in RenderPassDesc
2020-09-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 4a41eb42842c to e9ccdaed3414 (365 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 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
Bug: chromium:1042393,chromium:819294
Tbr: reed@google.com
Change-Id: I8aab9c151f2d0d96daa99b88a03ebfda6484ac60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315993
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>