Commit Graph

55896 Commits

Author SHA1 Message Date
Chris Dalton
b1e8f85fb8 Add an 'opBeingClipped' param to GrClip::apply
The tessellation atlas needs this to call visitProxies.

Bug: b/188794626
Bug: chromium:928984
Change-Id: I5bfb2559abcaf5c7602393e96adb846bcfbce971
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420878
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-06-23 20:41:39 +00:00
Herb Derby
d1d0a9f1f3 Small cleanups to drawVertices
Change-Id: I16301e6fb7193ba67b9fea292f931fda480c8ac3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420956
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-06-23 19:43:18 +00:00
Greg Daniel
1a3f4ab490 Fix texture barriers on DMSAA
Bug: skia:11396
Change-Id: Iad74958c05ed086fe85656b9dc5418d5ab4589e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419838
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-06-23 19:30:38 +00:00
Ethan Nicholas
d0f4d0d5d4 Switched more DSL APIs over to skstd::string_view
Change-Id: I87defa005fab8b1be92a700bf38c91b92c0ab8a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420616
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-06-23 18:59:16 +00:00
Brian Salomon
b149700e01 Avoid non-indexed quad draws on PowerVR Rogue and 54x
Bug: chromium:1203652
Change-Id: Id83ac81c40eda2653e97a7c8ae9326c273f0f00b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420537
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-06-23 18:11:18 +00:00
Brian Salomon
b18a947a35 Don't use strokerect op with reduced shader mode.
Bug: skia:11844
Change-Id: I8a5fdd6b074ba070022b6da3e31d8642b2f35181
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420896
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-06-23 17:48:36 +00:00
Greg Daniel
095185d175 Ignore another vk extension implemented by nvidia but not in validation layers yet.
Change-Id: I015cc2401c9f4a87fa7a02a93890bcf0a6704a91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420901
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2021-06-23 17:08:35 +00:00
Brian Osman
48f83fd5d1 Reland "Replace GrColorMatrixFragmentProcessor with a runtime FP"
This reverts commit 3366efd581.

Reason for revert: Perf regression root cause fixed.

Original change's description:
> Revert "Replace GrColorMatrixFragmentProcessor with a runtime FP"
>
> Triggered a perf regression, somehow.
>
> This reverts commit 311010405e.
>
> Change-Id: Ic468d34c8ccd28aaaed2d3028ce9559115860844
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420816
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

# Not skipping CQ checks because this is a reland.

Change-Id: Iea53fba22ef08b0ed97220b9cd2a9a0d054ecf57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420900
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-06-23 17:05:15 +00:00
Brian Osman
d02d4eb6de In GrSkSLFP, advance the iterator pointer while building the key
We were checking the flags for each uniform, but never advancing the
uniform iterator. As a result, for each uniform that was specialized,
we'd just fold in another copy of the *first* uniform's data.

This led to a nasty performance regression (extra shader compiles) in
certain scenarios. (And it was a correctness issue, as well).

Change-Id: Iaac878a7b9eb37e98815f56dc55a58d1f8e85c22
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420820
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-06-23 17:02:31 +00:00
Jorge Betancourt
b75ee08162 [androidkit] add bounds and paint to canvas.saveLayer()
Change-Id: I55701ebb23bcf31a8f1e1533b030f685f2f10127
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420117
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2021-06-23 16:40:45 +00:00
Ethan Nicholas
b4f8b7a9f2 Cleaned up DSL error handling
This unifies various chunks of error handling code and makes the DSL
more gracefully handle failed object construction.

Change-Id: I4edc581c9eba276ce2ee2a17125ea7bd6057134a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420237
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-06-23 15:22:35 +00:00
skia-autoroll
c5fb326453 Roll SK Tool from 7aa627c29dba to 1e6dc2e432bd
https://skia.googlesource.com/buildbot.git/+log/7aa627c29dba..1e6dc2e432bd

2021-06-23 borenet@google.com Fix gazelle
2021-06-23 borenet@google.com [autoroll] Add CAS Client -> recipes-py roller
2021-06-23 borenet@google.com [sk] Actually fix logging

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

Tbr: jcgregorio@google.com
Change-Id: I339d6d33034e9bc95f6e336c3f19ed177a1ce343
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420837
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-23 15:19:05 +00:00
Robert Phillips
c29810e882 [ngatoy] add ovals
Adding ovals reveals the clipping failure. The "actual" results with the
oval clips are currently incorrect.

Bug: skia:11837
Change-Id: I0789d5f758457425250ff6cecc0a5bb44f6e82ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420637
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-06-23 14:06:05 +00:00
Brian Osman
3366efd581 Revert "Replace GrColorMatrixFragmentProcessor with a runtime FP"
Triggered a perf regression, somehow.

This reverts commit 311010405e.

Change-Id: Ic468d34c8ccd28aaaed2d3028ce9559115860844
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420816
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-06-23 13:47:35 +00:00
Dominik Röttsches
7b9b738517 Gate breaking FreeType change in COLRv1 struct names
Bug: chromium:1223001
Change-Id: I969d86e5678961c3daad7995e1fe8dd9b976f077
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420796
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Auto-Submit: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Florin Malita <fmalita@google.com>
2021-06-23 13:21:15 +00:00
John Stiles
f9edf3528d Use skstd::optional in SkBitSet.
Change-Id: Id1c0375d78c7b481e60aeeda53e3f89acf543c9e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420636
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-06-23 13:18:25 +00:00
Jim Van Verth
f87f5b02ec Add state checks in GrMtlRenderCommandEncoder.
Change-Id: I9dcfc0dd559fe1596019f0d8051f665f69a6960d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419163
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-06-23 13:13:55 +00:00
skia-autoroll
90401eb437 Roll Chromium from 9aeecd90eabf to 493d9cce5082 (9105 revisions)
9aeecd90ea..493d9cce50

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 tdenniston@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/main/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: tdenniston@google.com
Change-Id: I798c6dd078c9905b3c58f5d2b77ad849d770fd03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420570
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-23 08:53:24 +00:00
skia-autoroll
e981e90993 Roll Dawn from 987fbed32c85 to a7173fcab4af (12 revisions)
https://dawn.googlesource.com/dawn.git/+log/987fbed32c85..a7173fcab4af

2021-06-23 jrprice@google.com Metal: Pass fixed sample mask to MSL transform
2021-06-23 enga@chromium.org Vulkan: Ensure fences are properly tracked if vkQueueSubmit fails
2021-06-23 enga@chromium.org Disallow creating stencil textures with multiple mips on Metal
2021-06-23 enga@chromium.org Remove TODO for invalid bug
2021-06-23 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 35b514ff06d2 to ae0bf04ad224 (6 revisions)
2021-06-22 rharrison@chromium.org Revert "Revert "Vulkan: honor bufferImageGranularity the simplest way.""
2021-06-22 rharrison@chromium.org Revert "Vulkan: honor bufferImageGranularity the simplest way."
2021-06-22 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 3c9086d6a5e3 to 35b514ff06d2 (1 revision)
2021-06-22 cwallez@chromium.org Vulkan: Fix FindBestType logic for device-local preference.
2021-06-22 cwallez@chromium.org Roll third_party/vulkan-deps/ 6cbd7212a..85e758a22 (4 commits)
2021-06-22 cwallez@chromium.org Vulkan: honor bufferImageGranularity the simplest way.
2021-06-22 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from b96ed7bda4ee to 3c9086d6a5e3 (17 revisions)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from b96ed7bda4ee to ae0bf04ad224

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: rharrison@google.com
Change-Id: I950fbea4cc7ab87051453f672c14374a1aa84456
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420569
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-23 06:08:14 +00:00
skia-autoroll
4bd938617f Roll ANGLE from 9412ac9c7c84 to 09bd55786427 (14 revisions)
9412ac9c7c..09bd557864

2021-06-22 syoussefi@chromium.org Test runner: Capture test stderr
2021-06-22 syoussefi@chromium.org Allow capturing process stdout and stderr interleaved
2021-06-22 lexa.knyazev@gmail.com Fix overflow in gl::ValidateES2TexImageParametersBase
2021-06-22 syoussefi@chromium.org Vulkan: SPIR-V Gen: Support most non-texture/image built-ins
2021-06-22 jmadill@chromium.org Trace Tests: Print serialization diff on failure.
2021-06-22 jmadill@chromium.org Test Runner: Add maximum failure count.
2021-06-22 jmadill@chromium.org Better stack traces on Linux.
2021-06-22 syoussefi@chromium.org Add regression test for GL bug w.r.t cached programs
2021-06-22 jmadill@chromium.org Add simple UBSAN ignorelist.
2021-06-22 xiaoxuan.liu@arm.com Update glColorspace(EGL_KHR_gl_colorspace) enable logic
2021-06-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 6cbd7212ad42 to 85e758a22b7a (4 revisions)
2021-06-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 4a304244dd86 to f0a9f88dd5cb (1 revision)
2021-06-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 637b4cdf0c64 to 685eab2b2e45 (109 revisions)
2021-06-22 syoussefi@chromium.org Tests: Add support for --renderdoc

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 tdenniston@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/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: tdenniston@google.com
Change-Id: I9fd1e25afbfb4403b8f8e2f7ba68b0a9b31fba1d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420599
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-23 05:27:24 +00:00
John Stiles
80c83a1225 Take 'gCoeffs' array out of global scope.
This array isn't used anywhere outside of a single function; we don't
need it to exist at global scope.

Change-Id: I66d65dcb92d5c7bbcfbd067ef6b6908e4dfd3dd6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420617
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-06-22 23:45:05 +00:00
John Stiles
e2c4e7e62d Add comparison operators to skstd::optional.
This involves a significant number of overloads, as optionals can be
compared against other optionals, or nullopt, or a value; either side
can mix and match as desired.

Change-Id: I26b8420e417300d32569fc76a55bcfd8e01eb322
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420576
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-06-22 21:11:15 +00:00
Robert Phillips
343588ddf0 [ngatoy] Remove duplicate rects array from ClipCmd
Bug: skia:11837
Change-Id: I76e1cfdf7d2f7ca649612c8155571425684cf2d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420236
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-06-22 18:13:15 +00:00
Robert Phillips
050a14ec4a [ngatoy] Record painter's order when clips are popped off the stack
Bug: skia:11837
Change-Id: I07c7b3e3b55be8b0340a012e965bd23b92d27e1d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420218
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-06-22 17:45:15 +00:00
Eric Boren
e76e96adf8 Reland "[infra] Roll Infra dep to update CIPD packages" with fix
This reverts commit 8cb7c3be75.

Just leave Win7 Golo tasks on python 2.

Change-Id: Idf1d6cc6d303107afd8e74cdec94e7a9ec91399e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/416316
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-06-22 17:31:55 +00:00
John Stiles
e53cf99728 Add nullopt to skstd::optional.
Change-Id: Ie0ed256fce79e2a03fcd468c820f468dc8bf25b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420536
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-06-22 17:19:55 +00:00
John Stiles
fbd9faef88 Migrate matrix-inversion code to a dedicated SkMatrixInvert file.
This allows SkM44 and optimize_intrinsic_call to share the same matrix
inversion logic.

Support for 2x2 and 3x3 matrix inversion was also added to
SkMatrixInvert, but is not currently used anywhere in Skia besides
optimize_intrinsic_call. (The perspective case of SkMatrix::ComputeInv
could probably be adapted to use the shared 3x3 code.)

Change-Id: Ie55aab536b4bd0c0a04f2c24527747670ca68fbb
Bug: skia:12054
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420219
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-06-22 17:11:15 +00:00
Eric Boren
2874f080aa [infra] Update recipe dependencies
Change-Id: I657ad573fe30e7793d20548c48b824229a3df3d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420538
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-06-22 17:07:35 +00:00
Jorge Betancourt
7280b36687 [androidkit] add gaussian blur filter to java ImageFilters
Change-Id: I63f3f3feaf590971633c88857105ed14dbab2bb8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420122
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-06-22 15:42:11 +00:00
skia-autoroll
60cc3e171c Roll SK Tool from 434610020352 to 33ee1b0906af
https://skia.googlesource.com/buildbot.git/+log/434610020352..33ee1b0906af

2021-06-22 borenet@google.com [sk] Fix(?) logging for asset creation script subprocess

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

Tbr: jcgregorio@google.com
Change-Id: I107eb585cf9cdb205e68fe26967cf3d9bfb05263
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420401
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-22 15:33:22 +00:00
Robert Phillips
11bc305898 Make current GPU blurring implementation be OGA-only
Bug: skia:11837
Change-Id: I8b209b362238e18a110fc518cb1c0b2f2244c22f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419840
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-06-22 14:52:21 +00:00
Brian Osman
5946589e58 Replace GrOverrideInputFragmentProcessor with a runtime FP
Change-Id: Ife4dcd5627851b2dac1ed05b38c551d5d258e39c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419797
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-06-22 14:21:48 +00:00
Kevin Lubick
0ba3bbf778 [canvaskit] Add perf tests for different font formats
As is, all 3 formats have a median time of about 0.12 milliseconds.

Perhaps the performance hit is more strongly felt on larger font
files.

Bug: skia:12112
Change-Id: Ifb4b0aa5a8240d93e94f4b674d0a50e6009887ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420097
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-06-22 12:09:50 +00:00
skia-autoroll
79e706ad23 Roll ANGLE from f0d8cd4094ef to 9412ac9c7c84 (5 revisions)
f0d8cd4094..9412ac9c7c

2021-06-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 414f62ab7363 to 637b4cdf0c64 (416 revisions)
2021-06-21 jplate@google.com CL: Make CL front end and back end thread-safe
2021-06-21 timvp@google.com Fix roll_aosp.sh 'gn gen' failure
2021-06-21 jplate@google.com CL: Refactor TRY macro and fix more conformance bugs
2021-06-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 65149e19efd9 to 6cbd7212ad42 (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 tdenniston@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: tdenniston@google.com
Change-Id: Iebf2bd314b4b672ac124bc2594aa21fcf0254f69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420287
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-22 05:14:09 +00:00
skia-autoroll
dc46fd97f3 Roll SwiftShader from 4a304244dd86 to f0a9f88dd5cb (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/4a304244dd86..f0a9f88dd5cb

2021-06-21 swiftshader.regress@gmail.com Regres: Update test lists @ 4a304244

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 tdenniston@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: tdenniston@google.com
Change-Id: Id649bde80f057ac06fab4681a83549af40a337bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420289
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-22 05:08:09 +00:00
skia-autoroll
ccf208d4c7 Roll Dawn from cea106a1c2ad to 987fbed32c85 (7 revisions)
https://dawn.googlesource.com/dawn.git/+log/cea106a1c2ad..987fbed32c85

2021-06-21 yunchao.he@intel.com Add 3D Texture T2T copy tests on non-zero mip levels
2021-06-21 jrprice@google.com Metal: Generate storage buffer lengths with Tint
2021-06-21 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 663271dca4c3 to b96ed7bda4ee (1 revision)
2021-06-21 cwallez@chromium.org Roll third_party/vulkan-deps/ 3d799e0e9..6cbd7212a (118 commits)
2021-06-21 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from e6d171ac668e to 663271dca4c3 (16 revisions)
2021-06-21 shaobo.yan@intel.com CopyTextureForBrowser(): Support Alpha Ops
2021-06-21 bclayton@google.com wgsl: Disable broken tests

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from e6d171ac668e to b96ed7bda4ee

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 rharrison@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: rharrison@google.com
Change-Id: I9405ae4e3ede277c86f87767bfb7349c65168e87
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420288
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-22 04:52:20 +00:00
Michael Ludwig
9f73b04b43 Fix use of fLastMoveToIndex in computeConvexity
Convexity is determined with a two pass algorithm, first by a sign
measure and then by a winding measure. Convexity also is meant to not be
affected by leading moveTos (other than the last leading moveTo before
real verbs) and not affected by trailing moveTos (since no additional
contour has actually started).

The old code would incorrectly reduce pointCount when the last moveTo
index was greater than 0, so the BySign pass was skipped or calculated
on an incomplete set of points. When a path (as the one added in this
CL's new test) is convex by winding but not by sign, it would be
incorrectly identified as convex. This led to further cascading issues
during rasterization.

However, the old code also had the effect of correctly ignoring any
last trailing moveTo from being included in the BySign test. Without
the new loop decrementing pointCount, trailing moveTo locations
would incorrectly create concave paths (and would in fact be concave
if the verb was anything other than a move).

I also realized that if the last moveTo index is not at the end of the
initial leading block, or at the end of the path entirely, then it
means the path must have multiple contours, at which point the path
cannot be convex, so we take the early out.

TBR: reed@google.com, bsalomon@google.com

Bug: skia:1220754
Change-Id: I9bd38f2eaaa3dbee135c190ade46fce0bd20257a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420238
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-06-22 00:34:28 +00:00
Brian Osman
6b95a366f5 In SkFilterColorProgram, support filtering a uniform color
Change-Id: I51013e7ab1b0361bd4bc9d2df1525164a142a892
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420216
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-06-21 22:02:08 +00:00
Brian Osman
be545c9554 Verify that most runtime color filters support filtering a single color
When writing runtime FPs, this lets us confirm that we're going to get
the constant output for constant input optimization.

Change-Id: I358507585423e5b15c92a0b2e9278b16f8727fe8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419798
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-06-21 20:14:07 +00:00
Brian Osman
6290555808 Replace GrDeviceSpaceEffect with a runtime FP
Change-Id: Ic0876160c936132c53b55ac9d27e0e422e1ccd26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420217
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-06-21 19:31:06 +00:00
Adlai Holler
4ff6072351 Enable reduceOpsTaskSplitting by default
Chrome does not rely on the default – this option is under a finch trial
named "ReduceOpsTaskSplitting." See crbug.com/1210578.

Android does not rely on the default – the flag is controlled by a
property named "renderthread.skia.reduceopstasksplitting", and enabled
by default. See b/183612348.

Flutter does not rely on the default – they explicitly disable the
option. See https://github.com/flutter/engine/pull/26568.

Our tools do not rely on the default – they enable the flag unless the
user passes --dontReduceOpsTaskSplitting on command line. Our bots
run with the flag enabled except the NUC5PPYH, for the sake of coverage.

The flag has no effect for Adreno 620 and 640, on drivers older than
v571, due to a driver bug.

Bug: skia:10877
Change-Id: Iafc84f3463194f0cf6cf135b2be05ec8eb08e446
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419836
Auto-Submit: Adlai Holler <adlai@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-06-21 16:32:13 +00:00
Brian Osman
7b8d2147d7 Swap uniform pointers in SkFilterColorProgram, improve comment
An upcoming CL will need to refer to the (now) first uniform IDs while
processing the second set, so arranging them like this makes more sense.
Landing this reordering first, to avoid making the new CL even more
confusing.

Change-Id: If19933edbabe840dd427525e5fceac8cd7fb1714
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420120
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-06-21 15:52:23 +00:00
Michael Ludwig
c026ade321 Skip save layers where CTM isn't finite
In the old layer creation, I believe nan matrices were creating
non-finite bounds that then failed intersection tests, which led to no
layer or device being made. With the new system focusing on device-to-
device relationships, the nan's weren't impacting bounds but led to
issues inverting the global-to-device matrix.

It's better to just be explicit about this anyways.

Bug: chromium:1217062
Change-Id: I44e792d0bfad91025c5a727b6bcc74b09bdfcc44
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419856
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-06-21 14:35:43 +00:00
John Stiles
a377a92f8f Add SkBlender support to SkPaint flatten/unflatten.
This change bumps the SkPicture version up by one.

Change-Id: Ib23214277cef1777edcc75b9c0cca9209adb9778
Bug: skia:12080
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419804
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-06-21 13:49:17 +00:00
skia-autoroll
d1877165e5 Roll SwiftShader from cf2ffd05cbc9 to 4a304244dd86 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/cf2ffd05cbc9..4a304244dd86

2021-06-18 mikko.tiusanen@siru.fi Skip wait on already signalled timeline semaphore
2021-06-18 jari.komppa@siru.fi Remove assert to enable indexless access chains

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 tdenniston@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: tdenniston@google.com
Change-Id: I229e5832ebd6c0c728ae3f5c8354a8a5a93e65da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420038
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-21 05:07:51 +00:00
skia-autoroll
16f4aa1d91 Roll ANGLE from 24155b13671f to f0d8cd4094ef (9 revisions)
24155b1367..f0d8cd4094

2021-06-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 4c77f83b612d to 414f62ab7363 (319 revisions)
2021-06-18 ianelliott@google.com Vulkan: Fix AGI hierarchy crash for noop'd clears/queries
2021-06-18 syoussefi@chromium.org Test for missing index dirty bit bug
2021-06-18 jmadill@chromium.org infra: Add symbol_level=1 in Release.
2021-06-18 cnorthrop@google.com Vulkan: Switch viewport and scissor to dynamic state
2021-06-18 doughorn@google.com Ensure GLES1 state is cleared on context switch.
2021-06-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 84bc198202e5 to 4a304244dd86 (4 revisions)
2021-06-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 7304bd043edc to 65149e19efd9 (8 revisions)
2021-06-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 681ec5b77d1d to 4c77f83b612d (360 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 tdenniston@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: tdenniston@google.com
Test: Test: GLES1 applications work with the D3D11 backend in multi-context
Change-Id: Ib9534de30f1b88cc4f6b2cfd1692a523a8d7942b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420036
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-21 05:05:15 +00:00
skia-autoroll
64751750f4 Roll Dawn from b86e45f8ca87 to cea106a1c2ad (8 revisions)
https://dawn.googlesource.com/dawn.git/+log/b86e45f8ca87..cea106a1c2ad

2021-06-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 567f2e4f3b08 to e6d171ac668e (7 revisions)
2021-06-18 zhaoming.jiang@intel.com Refer TODO to Dawn issue 944
2021-06-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from e55e2109b33b to 567f2e4f3b08 (1 revision)
2021-06-18 zhaoming.jiang@intel.com Emit tint warning when creating shader module
2021-06-18 cwallez@chromium.org Roll third_party/swiftshader/ df17a7610..4a304244d (330 commits)
2021-06-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 944c5617caa6 to e55e2109b33b (30 revisions)
2021-06-18 cwallez@chromium.org Suppress ShaderRobustnessPerf when using Tint + FXC
2021-06-18 yunchao.he@intel.com Implement copies b/w 3D and 2DArray textures on D3D12

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 944c5617caa6 to e6d171ac668e

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 alanbaker@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: alanbaker@google.com
Change-Id: I7244d68fa5ee923de680b74a3c815a1f2fd9d27e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420037
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-21 05:02:46 +00:00
skia-autoroll
9a4824b47c Roll SK Tool from 039570ae3d6b to 1a1089ae1a92
https://skia.googlesource.com/buildbot.git/+log/039570ae3d6b..1a1089ae1a92

2021-06-20 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 lovisolo@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

Tbr: lovisolo@google.com
Change-Id: I2204260d3aaa9d451068b8766f7b081dd1fdad3e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419957
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-20 07:05:19 +00:00
Herb Derby
efe9df37e0 Revert "Don't keep "outResultsFile" open in nanobench"
This reverts commit 2e1381ec86.

Reason for revert: This causes corrupted JSON output from
                   nanobench

Bug: skia:12078

Original change's description:
> Don't keep "outResultsFile" open in nanobench
>
> There is a bug on Pixel and Pixel2 devices where the program
> eventually terminates with a non-zero exit code. Closing the
> outResultsFile between JSON flushes seems to fix it (for whatever
> reason).
>
> Bug: b/143074513
> Change-Id: I935e982e88758fda19292129c8031f8501cca615
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/249821
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: b/143074513
Change-Id: Iad8e4423acbc520f49365859020776110087dacc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419842
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-06-19 22:12:48 +00:00
Chris Dalton
685e09b31a Reland "Purge ccpr"
This is a reland of 7bf6bc0d06

Original change's description:
> Purge ccpr
>
> Now that the clip atlas has been successfully migrated to
> tessellation, we don't need this code anymore!
>
> Change-Id: Ic97f50cff7c4ee59f4476f8410f0b30a32df4e90
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419857
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

Change-Id: If0be86902e7cc4755eba91a89be1ec1a6a4b54b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419720
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-19 18:42:38 +00:00