Commit Graph

59820 Commits

Author SHA1 Message Date
John Stiles
351b86128a Simplify Porter-Duff coefficient blending expression.
The earlier implementation generated a very very long expression on a
single line. I split out the logic across into multiple lines, and
also realized that the majority of the logic was repeated two times. Now
we use a vec2 to avoid spelling out the math twice.

Change-Id: I1a60e3663de3d774c5abdcd166734b07ea3dbaaa
Bug: skia:13109
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525841
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-03-30 17:28:53 +00:00
Jorge Betancourt
c422f3ea06 Revert "add egl through swiftshader to unix builds"
This reverts commit 1df5520f50.

Reason for revert: blocks g3, need supplement cl to land before pushing this one

Original change's description:
> add egl through swiftshader to unix builds
>
> To be submitted with g3 cl/438169003
>
> Change-Id: Idbdfc2e5b64d26a0dae9773fa08caabe4acf9147
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525839
> Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
> Auto-Submit: Jorge Betancourt <jmbetancourt@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Florin Malita <fmalita@google.com>
> Commit-Queue: Florin Malita <fmalita@google.com>

Change-Id: I6ab6fd6c583d4901c4e71845e0bf4d431b55644f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525840
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2022-03-30 16:07:14 +00:00
Jorge Betancourt
1df5520f50 add egl through swiftshader to unix builds
To be submitted with g3 cl/438169003

Change-Id: Idbdfc2e5b64d26a0dae9773fa08caabe4acf9147
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525839
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Auto-Submit: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2022-03-30 15:05:35 +00:00
Kevin Lubick
cfd219ed33 [debugger] Fix missing include in WASM bindings
Change-Id: I9395b8f4ced3fafe2bbd144e2c90e23af65ee54a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525896
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2022-03-30 14:59:56 +00:00
John Stiles
9287beb9eb Use a uniform to drive Porter-Duff shader composition.
This lets most simple Porter-Duff based Compose operations share the
same shader text; the values in a uniform control which blend mode we
will use. This is only enabled in reduced-shader mode.

Best-case scenario I could find:
- Original: http://screen/EkXsnfNPC9CxiwE
- Uniforms: http://screen/9rJLe6JMrhteD24

Change-Id: I0edc7910a9a2ae7f4e5abbd57128d7b3b52971bf
Bug: skia:13109
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525317
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-03-30 14:44:47 +00:00
Robert Phillips
2e9bc4700a [graphite] Set up to use fewer allocations when collecting uniforms
This doesn't actually change the memory allocation but sets up to do so.
90% of the CL is just renaming SkPipelineData to SkPipelineDataGatherer.
The main interesting changes are those to:
    ExtractPaintData
    in DrawPass.cpp
and SkPipelineData.h/.cpp

Bug: skia:12701
Change-Id: I3e18f9b3f16166649de1bf1f4399d5521d817eb3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524763
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-03-30 14:44:41 +00:00
Greg Daniel
6368d39a9e Remove vk workaround to do partial clears as draws on adreno.
Qcomm did some investigations of this workaround, and even though it was
giving some cpu savings, it was causing a big hit to GPU performance and
power. So we're removing this now to get back the various wins on the
GPU.

Change-Id: I01ba4e271dc02ae4ab6155fc794a5a1e3c796341
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525638
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-30 14:11:58 +00:00
Herb Derby
2b925c4a21 remove device capture from SkNWayCanvas
Change-Id: Icc6d1345c59d6f6529db39bf4b5bd8097f1f6b5f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525837
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2022-03-30 14:07:41 +00:00
Kevin Lubick
556ca8f7ee [includes] Enforce IWYU for //tools/debugger/...
This moves the Build-Debian10-BazelClang-x86_64-Release-IWYU
job from experimental to on when a file in one of the
folders that we enforce IWYU is modified (currently
for svg, sksl, and now, debugger).

Change-Id: Ia6fe1e7b30fc486db3eb081b6a64bc4c250cbf0b
Bug: skia:13052
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525796
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-30 13:53:13 +00:00
John Stiles
4cd5e50c5d Add a hardwired-blend-mode version of GrBlendFragmentProcessor::Make.
When `Make<BlendOp>(src, dst)` is used, the blend mode will always be
hard-coded into the shader, instead of using a uniform to apply a
generic Porter-Duff blend.

Change-Id: I59a05eea3417b1880cef63738c0116d19f01ee3e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525641
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-03-30 13:51:06 +00:00
skia-autoroll
33782728ee Roll ANGLE from 53e432febda1 to 9a0b306dcc6d (8 revisions)
53e432febd..9a0b306dcc

2022-03-30 aeubanks@google.com Remove set but otherwise unused variables
2022-03-30 syoussefi@chromium.org Vulkan: Use storeOp=None more opportunistically
2022-03-29 syoussefi@chromium.org Vulkan: Remove suppression of fixed VVL errors
2022-03-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 8da5cdbde887 to e38e969e37fe (4 revisions)
2022-03-29 lubosz.sarnecki@collabora.com Tests: Add Shadowgun Legends trace.
2022-03-29 geofflang@google.com Reland: Emulate RGB10 (no alpha) on desktop OpenGL.
2022-03-29 steven@valvesoftware.com Vulkan: add tests for clearing/drawing after invalidate
2022-03-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 737665b8eab1 to 8da5cdbde887 (2 revisions)

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

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/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: jcgregorio@google.com
Test: Test: angle_perftests --gtest_filter="*shadowgun_legends*"
Change-Id: I280b7e4288b9636be9f2a8e1e22532bf5957397e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525777
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-30 05:31:37 +00:00
skia-autoroll
2eeedae56f Roll SK Tool from 7b4d14262c73 to 0cb7d512aa40
https://skia.googlesource.com/buildbot.git/+log/7b4d14262c73..0cb7d512aa40

2022-03-29 rmistry@google.com [cherrypick-watcher] Add gerrit library for cherrypicks
2022-03-29 rmistry@google.com [cherrypick-watcher] Add Branch and CherrypickOf search terms
2022-03-29 rmistry@google.com [cherrypick-watcher] Add CherrypickOfChange/CherrypickOfPatchSet to go/gerrit

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Tbr: kjlubick@google.com
Change-Id: I28f2e2c1e1ac314e89ce1a04ccb1ec1195f74e2f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525701
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-29 21:19:57 +00:00
Herb Derby
f54d418b01 enable pictures to record drawSlug
This should fix many issues that Chrome is seeing. The problem is the
picture recorder had no idea about Slug, so the canvas super class
would try to use the device to draw. This hooks up the recorder
to capture drawSlug into the picture.

I tested this with a specialized gl sink in DM which I'm struggling
to check in. But, it was functional enough to show that this works.

Bug: chromium:1302036
Bug: chromium:1307279
Bug: chromium:1306329
Bug: chromium:1307446

Change-Id: I6a27bf43702400c80b2044433e7b00347f522763
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525636
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-03-29 19:30:03 +00:00
Kevin Lubick
f5ae4c7e15 [bazel] Use RBE when building task drivers
Local measurements show that using RBE (with a warm cache)
vs local can result in a 2x faster build.

No-Try: true
Change-Id: Ib900a90564f105de848c9aeb0b745e5fec77da53
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525637
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-29 18:01:33 +00:00
Kevin Lubick
8442ca1858 [bazel] Run RBE CI tasks on 16 core machines
Because these tasks use RBE, the machines they run on do not
need to be as powerful. In practice, we are seeing a lot of
the build steps be a hit on the remote-cache, so we don't need
the number of Bazel jobs to be as high, so I've arbitrarily
set it to be 100. We can revisit this later if we notice
things are slow.

To facilitate this change, I had to add cloud-platform scope
to all our GCE VMs. There is a script in the infra repo [1]
that helped with this:
go run ./scripts/add_gce_scopes/add_gce_scopes.go \
  --zone us-central1-c --project skia-swarming-bots \
  --scope https://www.googleapis.com/auth/cloud-platform \
  --instance skia-e-gce-100,skia-e-gce-101,...

[1] b103ea24f5/scripts/add_gce_scopes/add_gce_scopes.go

No-Try: true
Change-Id: I7f1e7b1e9e4a22f5383cf9ce1c8c0350e62b5283
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525577
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-29 18:00:34 +00:00
Julia Lavrova
0e5601d08b Letter/Word spacing gone on the initial Runs
So we don't have to drag these shifts through the entire process.
This is the first step for simplified layout optimization.
(Need letter spacing because it's common in iOS Flutter)

Change-Id: I28b066e4dd8bcc6e489752dafbda1b73b0444fbe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524223
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2022-03-29 16:46:30 +00:00
Kevin Lubick
57f0d2a9d0 [bazel] Add documentation for Bazel/Bazelisk
Change-Id: I19c584696a3bc2dcc28d1a6c4eafeddcde40e06c
Bug: skia:12541
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525576
Reviewed-by: Heather Miller <hcm@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2022-03-29 15:23:37 +00:00
Kevin Lubick
a753b0da89 [infra] Move ASAN jobs from Golo machines to Skolo
There are a few driver issues on the Golo machines that we
are trying to work out.

This removes 2 Perf-ASAN jobs, as one is probably sufficient
given that we have Test-ASAN variants too.

Change-Id: Id2aa492a64706562286b820709f082f2374e2222
Bug: 1309590
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525191
Reviewed-by: Ravi Mistry <rmistry@google.com>
2022-03-29 15:09:19 +00:00
Herb Derby
ab4120f023 glslug again using a direct override of SkCanvas
Change-Id: I811c8d2b9a113c7bd35ea5a480017ea4b794a745
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525318
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-03-29 14:16:51 +00:00
Greg Daniel
e09592ede7 [graphite] Upload graphite results from bots.
Bug: skia:12974
Change-Id: I3524b7a7d15e5a4c55d6af5a6a1a0e0113ea76e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525319
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-03-29 13:06:57 +00:00
Kevin Lubick
1ddbe1aa69 [bazel] Use bigger disk when compiling task drivers
The root disk on our GCE VMs typically only have 15GB
and have a much larger disk attached to them.

We want the Bazel cache to be on this larger disk so
we don't run out of disk space as often.

BuildTaskDrivers was not doing that, but the task
drivers which use Bazel are.

Change-Id: I0f797188576707341972a1db7418e8916633333c
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525456
Reviewed-by: Ravi Mistry <rmistry@google.com>
2022-03-29 12:47:06 +00:00
skia-autoroll
b4f177ef05 Roll ANGLE from 7a85d114b5a3 to 53e432febda1 (10 revisions)
7a85d114b5..53e432febd

2022-03-29 syoussefi@chromium.org Vulkan: Track LOAD/STORE_OP_NONE in perf counters
2022-03-29 zequanwu@google.com Fix -Wunused-but-set-variable
2022-03-29 steven@valvesoftware.com Vulkan: always respect deferred clears in render pass
2022-03-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from ea9806003d9e to bc5bec05c369 (15 revisions)
2022-03-28 cnorthrop@google.com Vulkan: Add tessellation to GetPipelineStage helper
2022-03-28 steven@valvesoftware.com Vulkan: mark image contents defined on clear-invalidate-clear
2022-03-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 9fd63df2bc48 to 737665b8eab1 (13 revisions)
2022-03-28 ianelliott@google.com Add back another Pixel-6-specific FAIL expectation
2022-03-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 823d49cf5f5e to fbc38865227d (6 revisions)
2022-03-28 hans@chromium.org Remove a set but otherwise unused var in DynamicImage2DHLSL.cpp

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 jcgregorio@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/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: jcgregorio@google.com
Test: Test: GFXBench Car Chase
Test: Test: GLSLTest_ES31.TessellationTextureBufferAccess
Change-Id: I2b3b1cceb8c18821fc8a5b1c95c4f06cb6076465
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525169
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-29 05:26:00 +00:00
skia-autoroll
0d7e13d358 Roll SwiftShader from 0a1985c2b294 to bc5bec05c369 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/0a1985c2b294..bc5bec05c369

2022-03-28 capn@google.com Update SPIR-V Tools to bd325d298

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 jcgregorio@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: jcgregorio@google.com
Change-Id: I36268b7b50e14c52b571ff43e4bfc112e13d040e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525170
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-29 04:53:43 +00:00
Kevin Lubick
a3ff876e16 [bazel] Add CQ job to warn if Bazel files need to be regenerated.
This adds Housekeeper-PerCommit-CheckGeneratedBazelFiles

Error and resolution http://screen/38UwJ28vtucu75Z

Change-Id: If12a6a98900fc492f0809b28fc688789c18edc15
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525237
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-28 22:16:30 +00:00
Jim Van Verth
d9c178ac9a [graphite] Add get{Read|Write}Swizzle support
Bug: skia:12845
Change-Id: I8e9d7dcfaf4f356b65638f0f8490edd8b0dd2644
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525177
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-28 21:55:39 +00:00
Jason Simmons
4302396f15 Cache hb_font instances for each typeface instead of hb_face
The hb_font will hold a reference to an hb_face created for the typeface
along with other attributes associated with the SkTypeface
(in particular, the variation design position)

See https://github.com/flutter/flutter/issues/100523

Change-Id: I5e211d670996f8f36e0d1027006c7bb67a9b8d2a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524801
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-03-28 21:19:36 +00:00
Greg Daniel
5d67b1797a [graphite] Use finished callbacks in nanobench to manage frames.
In nanobench we want to try and simulate a GPUs swapbuffering and not
get too far ahead on the CPU. Thus we use finished callbacks to know if
we get more than 3 frames ahead of the GPU. This CL adds support for
Graphite to do this.

Bug: skia:12974
Change-Id: I8be505c5769399dcc0f5954f9f999f4448633647
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525186
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2022-03-28 20:14:30 +00:00
Brian Osman
b2af4f4e8d Avoid integer underflow in SkMergeImageFilter
We need to convert the final result of this subtraction to an SkScalar
anyway. Doing it before the subtraction avoids potential undefined
behavior.

Bug: oss-fuzz:46051
Change-Id: I7e0880238fd894ad836cd5e9e1ab24a17ec0d1dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525183
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-28 18:52:02 +00:00
John Stiles
116b0d564f Use diagonal-matrix constructor for an identity matrix.
This simplifies the IR and emits cleaner Metal code; Metal does not
directly support matrix-construction from a list of scalars.

Change-Id: I0f2415e4c84d4f999aaaeaec3623f0eae41c24dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525179
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-28 18:48:32 +00:00
John Stiles
c4b7b28913 Add support in Metal for builtin functions using builtin globals.
The Metal function-requirements checking logic assumed that a builtin
function would never have any requirements. This would cause us to
generate invalid Metal code if a builtin function included a reference
to sk_FragCoord.

Change-Id: I9992981b03306b254a3fc4b87b940ddb4c646bf1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525182
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-03-28 18:32:40 +00:00
Florin Malita
9b8fcc242f [skottie] Nested animation fixes
Update our utils to fix a couple of nested animation issues:

1) Use RenderFlag::kSkipTopLevelIsolation to prevent unconditional
   nested animation layers.  This matches default AE semantics.

2) Use the main animation ResourceProvider when loading nested
   animations (otherwise any nested resources are ignored).

Change-Id: Ib489549066c9e42a96e5113fc817278d9ed06d59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524636
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2022-03-28 18:17:09 +00:00
Kevin Lubick
e7c76234e8 [bazel] Regenerate and fix IWYU
Steps to run:
make -C bazel generate
bazelisk build //example:hello_world_gl --config=linux-rbe \
    --features skia_enforce_iwyu
# manual fixes of the .h and .cpp files
make -C bazel generate

This will be followed up by a CQ job that checks the generated
Bazel files.

Bug: skia:12541
Change-Id: I7651f885e182a60177839cd78a2d4047e73a676a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525181
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2022-03-28 17:40:18 +00:00
Jim Van Verth
ecd4b09bb6 [graphite] Some cleanup for makeTextureImage and Caps CLs
* Removes unnecessary static function (it's been copied elsewhere).
* Uses Caps info for colorTypeToFormat.

Bug: skia:12845
Change-Id: I557da58ec4456db1d8b1bb9a3d419e3330200a47
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525178
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-28 17:15:05 +00:00
Herb Derby
ba1f853c0c stop processing after first bad subrun
It looks like the fuzzer specified many subruns, but all were failing.
There was a TODO to exit early after the first subrun failed.
I implemented the TODO.

Bug: oss-fuzz:45704

Change-Id: I719d5bf8fa3fe8d7eb6963dbd79854dae877e7d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525176
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-03-28 16:36:01 +00:00
John Stiles
30d3d1ab19 Fix Shader compile-mode radio buttons in Viewer.
Originally, these radio buttons would allow the user to immediately
switch between different compile stages and view the change in output.
At some point, this broke, and clicking the radio buttons would clear
the shader list, so that the user would need to click View again to see
the shaders. This made it much harder to visualize the difference in
compilation stages at a glance.

Now the radio buttons work normally again.

Change-Id: I234c305817909c4345dd12318df3cbe4505121a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524936
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-28 15:59:45 +00:00
John Stiles
99b7434daf Remove get_es2_loop_unroll_info helper function.
This only needed a helper function to make error-reporting optional, but
NoOpErrorReporter (previously TrivialErrorReporter) can serve this
purpose equally well.

Change-Id: Iac249483f2013cbf8563c0ea44c680d3e03e2894
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524766
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-03-28 15:54:38 +00:00
John Stiles
4449ca6cd4 Allow builtin code to reference builtin variables.
The builtin variable scanner did not check builtin code for the presence
of sk_FragColor, etc. We currently get away with this because none of
the existing builtin code uses a builtin variable.

Now FindAndDeclareBuiltinVariables checks shared program elements too.

Change-Id: Ifb3ee3857ef73b18d9e4f406970f0f67681dd4be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525042
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-03-28 15:37:20 +00:00
Jim Van Verth
f151351f47 [graphite] Add format tables to MtlCaps
Bug: skia:12845
Change-Id: If3ac2b6ba2c8e28328ee5805a29fc83353220364
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524756
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-28 14:10:29 +00:00
Ethan Nicholas
a06240b2dc Improved positions of SkSL loop analysis errors
Change-Id: Ib775943273dece245daf313137c12876ed1a3170
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524697
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-03-28 14:04:25 +00:00
Ethan Nicholas
0dd66fea56 Added full position tracking to Swizzle
No visible effect yet, but this will enable better error reporting in a
future CL.

Change-Id: I09e1c5d3bb423a7ce42701f15c4bb142b0a9473c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524638
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-03-28 14:04:14 +00:00
Kevin Lubick
c40158ab98 [bazel] Add CI job that uses RBE to enforce includes
The toolchain now uses extract_ar from
https://skia-review.googlesource.com/c/buildbot/+/524764
which is a static executable to extract the .deb files.
This was necessary because the llvm-ar that had previously
been used requires glibc 2.31+ to run, but our Debian10
machines on Swarming have an older version (2.28).

A longer-term fix is to have Bazel support .ar files,
which I plan to attempt to contribute this week.

The RBE task will be added as an experimental CQ job, to
see how it handles the load of running often. With the
remote execution cache, I hope it performs well, once
the toolchains are cached on both the Swarming
machines and in the RBE workers.

Note: We had to add several files to the CAS spec
(see compile_cas.go) which are required for Bazel to work.

Change-Id: Ie70c70d5f33768c957760f9eeb7835025109b487
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524759
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2022-03-28 13:56:16 +00:00
Kevin Lubick
fed97e8f40 [bazel] Add RBE support using hermetic Linux Clang toolchain
A new RBE worker-pool called gce_linux was created in
conjunction with this CL. See
https://docs.google.com/document/d/14xMZCKews69SSTfULhE8HDUzT5XvPwZ4CvRufEvcZ74/edit#
for some details on that.

Note: everything under bazel/rbe/gce_linux was autogenerated
and can be ignored from manual review. It basically specifies
what files are on the RBE image that are necessary for running
Bazel.

Testing it out can be done by authenticating for RBE
gcloud auth application-default login --no-browser

Then, run make -C bazel rbe_known_good_builds
to test it out.

On my 4 core laptop with an empty local cache, but a
warm remote cache, the build took <2 min instead of the
10+ minutes it would have [1].

The folder structure in //bazel/rbe is meant to let us
have multiple remote configurations there, e.g.
//bazel/rbe/gce_windows.

Suggested Review Order:
 - bazel/rbe/README.md
 - bazel/rbe/gce_linux_container/Dockerfile to see the
   bare-bones RBE image.
 - bazel/rbe/BUILD.bazel to see a custom platform defined.
   It is nearly identical to the autogenerated one
   in bazel/rbe/gce_linux/config/BUILD, with one extra
   field to force the gce_linux pool to be used.
 - .bazelrc to see the settings needed to make
   --config=linux-rbe work. The naming convention was
   inspired by SkCMS's setup [2], and allows us to have
   some common RBE settings (i.e. config:remote) and
   some specialized ones for the given host machine
   (e.g. config:linux-rbe) A very important, but subtle
   configuration, is on line 86 of .bazelrc where we say
   to use our hermetic toolchain and not whatever C++
   compiler and headers are on the host machine (aka
   the RBE container).
 - toolchain/build_toolchain.bzl to see some additional
   dependencies needed in the toolchain (to run IWYU) which
   I had installed locally but didn't realize were important.
 - third_party/BUILD.bazel to see an example of how failing
   to specify all files can result in something that works
   locally, but fails remotely.
   --execution_log_json_file=/tmp/execlog.json helped debug
   these issues.
 - All other files.

[1] http://go/scrcast/NjM1ODE4MDI0NzM3MTc3Nnw3ODViZmFkMi1iOA
[2] https://skia.googlesource.com/skcms/+/30c8e303800c256febb03a09fdcda7f75d119b1b/.bazelrc#20


Change-Id: Ia0a9e6a06c1a13071949ab402dc5d897df6b12e1
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524359
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-03-28 13:56:16 +00:00
Kevin Lubick
54bd442fad [bazel] Use hermetic Python with jinja2+MarkupSafe
The file generation logic that dawn [1] uses to make some
source files requires jinja2, which also requires MarkupSafe.

The GN build handles this by specifying those repos in
DEPS, checking them out at a certain git hash, and then
providing them via a command line arg [2].

We do not have to do it this way in Bazel to have reproducible
builds. This CL specifies an exact version (verified by sha256)
of those two deps and then uses a hermetic version of
Python 3.9 to run all py_binary commands.

Previously, we would rely on the system Python (and installed
libraries). That happened to work on my machine, but not on
other machines without jinja2 and MarkupSafe installed. After
this CL, it should work on machines that do not have python
even installed.

I chose the same jinja2 version used by Dawn [3], which was
2.11.3. Then I chose the newest version of MarkupSafe that
was compatible with jinja2 (2.0.1).

If we have other python scripts that need external deps, we
should be able to specify them in the py_binary that needs
them and in requirements.txt. Then, the pip_install() step
in WORKSPACE.bazel will download them and make them available.

[1] https://dawn.googlesource.com/dawn.git/+/refs/heads/main/docs/dawn/overview.md
[2] https://dawn.googlesource.com/dawn.git/+/e45ff6a4b3c2f06dade68ec0f01ddc3bfd70c282/generator/generator_lib.gni#77
[3] ee69aa00ee

Change-Id: I3d0074f3003de179400e239e00107c34f35f4901
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524217
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-03-28 13:56:16 +00:00
Kevin Lubick
aab019a15e [bazel] Fix build
Most of these are pretty mechanical generated changes.

IWYU noticed one issue with DSLCore.h, which was fixed here.

Change-Id: I5629565ad3c2817daa71907c62f932d93f9d78ab
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524617
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-03-28 13:56:16 +00:00
skia-autoroll
7527f901d1 Roll ANGLE from c8f86c217479 to 7a85d114b5a3 (19 revisions)
c8f86c2174..7a85d114b5

2022-03-27 syoussefi@chromium.org Use [[nodiscard]] on RAII classes
2022-03-27 gert.wollny@collabora.com Capture/Replay: limit per shader image uniforms when capturing
2022-03-26 cnorthrop@google.com Debug: Add angle_enable_trace_events
2022-03-26 cnorthrop@google.com Fix handling of incomplete CubeMapArray textures
2022-03-26 syoussefi@chromium.org Vulkan: Track color attachment usage like D/S in render pass
2022-03-25 ianelliott@google.com Reland Remove unnecessary suppressions for Pixel6 dEQP
2022-03-25 syoussefi@chromium.org Vulkan: Dirty bits for depth/stencil access and feedback loop
2022-03-25 cnorthrop@google.com Capture/Replay: Fixes for Car Chase
2022-03-25 senorblanco@chromium.org D3D: generalize more stuff (mImages, mReadonlyImages).
2022-03-25 senorblanco@chromium.org D3D: generalize Image2D, ReadonlyImage2D and AtomicCounter.
2022-03-25 senorblanco@chromium.org D3D: more generalization: cached Image2DBindLayouts.
2022-03-25 hans@chromium.org Suppress -Wunused-but-set-variable in Bison-generated code
2022-03-25 senorblanco@chromium.org D3D: generalize the Image2DBindLayoutCache to be per-shader.
2022-03-25 senorblanco@chromium.org D3D: generalize mImage2DUniforms.
2022-03-25 senorblanco@chromium.org D3D: generalize DynamicHLSL calls to take a shaderType.
2022-03-25 romanl@google.com Migrate capture_replay sample to trace_fixture
2022-03-25 ianelliott@google.com Remove unnecessary SKIPs for Pixel4* dEQP tests
2022-03-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 3ef0c7c00c08 to 9fd63df2bc48 (6 revisions)
2022-03-25 ianelliott@google.com Revert "Remove unnecessary suppressions for Pixel6 dEQP tests"

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 jcgregorio@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/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: jcgregorio@google.com
Test: Test: IncompleteTextureTestES31.IncompleteTextureCubeMapArray
Change-Id: Idb34e3804d68f29fbb96562918620be44f7ac0e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524978
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-28 05:25:45 +00:00
skia-autoroll
5cfaceff2c Roll SwiftShader from e1c0739cdd2d to 0a1985c2b294 (9 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/e1c0739cdd2d..0a1985c2b294

2022-03-26 swiftshader.regress@gmail.com Regres: Update test lists @ 40b410f4
2022-03-25 srisser@google.com Update simple limits for Vulkan's 2022 profile
2022-03-25 sugoi@google.com Add new core Vulkan 1.3 structures
2022-03-25 sugoi@google.com Use template functions for core Vulkan 1.3 properties
2022-03-25 sugoi@google.com Fix SPV_EXT_shader_stencil_export
2022-03-25 sugoi@google.com VK_KHR_shader_terminate_invocation implementation
2022-03-25 sugoi@google.com VK_KHR_shader_terminate_invocation promoted structures
2022-03-25 sugoi@google.com VK_EXT_shader_demote_to_helper_invocation support
2022-03-25 sugoi@google.com VK_EXT_shader_demote_to_helper_invocation promoted structures

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 jcgregorio@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: jcgregorio@google.com
Change-Id: I36f0aa86623360e762fc3daeb93e97214f3c900f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524977
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-28 04:50:44 +00:00
skia-autoroll
f700cf3cf4 Roll Dawn from 1e988b417ccb to 6cacdc460ad2 (12 revisions)
https://dawn.googlesource.com/dawn.git/+log/1e988b417ccb..6cacdc460ad2

2022-03-27 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from e3c449196324 to bd173f0e8791 (1 revision)
2022-03-27 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 041c4c6d285c to e3c449196324 (2 revisions)
2022-03-26 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 04680183f6f4 to 041c4c6d285c (3 revisions)
2022-03-26 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 9fd63df2bc48 to e4527c95aeeb (8 revisions)
2022-03-26 bajones@chromium.org Format texture sample types and aspects in errors
2022-03-26 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 45543295b758 to 04680183f6f4 (11 revisions)
2022-03-25 senorblanco@chromium.org OpenGL: refactor texture-to-texture copies into UtilsGL.
2022-03-25 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 1006b06c7d4a to 444e051faa2e (1 revision)
2022-03-25 alex.vestin@gmail.com Initial Android surface
2022-03-25 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 3ef0c7c00c08 to 9fd63df2bc48 (6 revisions)
2022-03-25 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 18c36f8aa629 to 45543295b758 (6 revisions)
2022-03-25 jiawei.shao@intel.com Add missing space in the description of Toggle::DisallowSpirv

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 1006b06c7d4a to 444e051faa2e

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 jrprice@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: jrprice@google.com
Change-Id: Ief79d95cbca048cebd7cc6d32b6a7f0254c0ffe3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524976
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-28 04:39:17 +00:00
skia-autoroll
fae7be2a9c Roll SK Tool from 1360409d518c to dbf3a215bd7a
https://skia.googlesource.com/buildbot.git/+log/1360409d518c..dbf3a215bd7a

2022-03-27 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com Update CIPD Packages

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

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Tbr: kjlubick@google.com
Change-Id: I50407626200186bb7a12d646289ce71d2ce888de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524896
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-27 06:24:34 +00:00
John Stiles
2ac7682b53 Implement constant-folding for vector/matrix multiplication.
This closes one of the last gaps in SkSL's constant-folding abilities.

Change-Id: I65c0f2e5fe11a7d47ab2069b2992403fca78b8a7
Bug: skia:12819
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524761
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Arman Uguray <armansito@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-03-25 21:42:47 +00:00
Ben Wagner
e85afc2b18 Cache result of CTFontCopyVariationAxes.
CTFontCopyVariationAxes appears to be extremely slow due to localizing
the name of the axis. WebKit moved to using the internal SPI
CTFontCopyVariationAxesInternal to avoid this cost. Since Skia would
like to avoid using internal SPI, just cache this information per
typeface to avoid the cost of calling it as often.

Bug: https://github.com/flutter/flutter/issues/100523
Bug: https://bugs.webkit.org/show_bug.cgi?id=232690
Change-Id: I175e34e9aa526d58e6b7a4ff54cb13d1ef8a9fd9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524760
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-03-25 20:52:42 +00:00