Commit Graph

57257 Commits

Author SHA1 Message Date
Chris Dalton
c50fefbba7 Defer the attachment of GL stencil buffers
This will allow us to use a single FBO for
EXT_multisampled_render_to_texture, that we modify on-demand depending
on whether we need MSAA.

Bug: chromium:1222095
Change-Id: Ife2d743e28833521d785e4bf0e20de593c492a9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/442736
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-09-17 17:43:11 +00:00
Eric Boren
14cc21fd99 [sk] Update asset download references to use SK
Change-Id: If3e838f22f1b99fd7a3b1c6bca0affd39f5573b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449843
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-09-17 16:55:53 +00:00
Jim Van verth
5b7750bd66 Direct3D: support generation of BGRA mipmaps
Change-Id: I0d924a2bce1f1a90b2603c593b786bb1610e3d04
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449597
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-09-17 16:51:21 +00:00
John Stiles
de2b609fdd Move symbol-table push/pop methods out of IRGenerator.
This will allow us to use AutoSymbolTable in more places (and helps cut
down IRGenerator, as we transition away from it).

Change-Id: Ie88c149e0f7eee080a8a4c8cbbc34c8a2a5401d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449756
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-09-17 16:31:39 +00:00
Brian Salomon
a59925fb1d Revert "Revert "New approach to GrProcessor uniforms.""
This reverts commit ae59426ea6.

Bug: skia:12182
Change-Id: I591a0a89ffad1a3d5d867dd247ceeec71b6041a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449516
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-09-17 16:02:01 +00:00
Eric Boren
cd0b01cf18 [infra] Switch Win10 Golo tasks to upgraded Windows-10-19043 pool
Bug: chromium:1203327
Change-Id: I36de6f9ad0bba04854911cf8d060b7a754e116f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449058
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-09-17 15:28:21 +00:00
Julia Lavrova
d99e4f5b01 Fixing Android build bug
Change-Id: I9c38e47a009a480a9f4883076d118b4a892a431b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449808
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-09-17 15:01:11 +00:00
Robert Phillips
4e4715b9b8 Disallow SFCs w/ GrColorType::kUnknown in makeSFCFromBackendTexture
We're being stricter in V2 wrt this. This CL is an experiment to see if this fallback is actually relied on.

If this sticks we can unify the two (SFC & SDC) code paths in makeSFCFromBackendTexture.

Change-Id: I77815e0aa63d0910d8f8f38ec1f047b83750e109
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449678
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-17 14:39:58 +00:00
Robert Phillips
b42cea955f Miscellaneous skgpu::v2 backend updates
Bug: skia:11837
Change-Id: I334cdeb75db1a80a35d333faa26aec4999bd6bb6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449677
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-17 14:39:06 +00:00
John Stiles
d0665d9a04 Fix fuzzer-discovered null deref with empty interface blocks.
Change-Id: I95bfa33f674bce0098cc6d4469c8c85ee8b051f5
Fixes: oss-fuzz:38875
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449817
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-09-17 14:19:14 +00:00
John Stiles
56cab7f9cb Update matrix-setup code in stroke tessellator.
As of http://review.skia.org/449518 we no longer allow matrix
constructors containing vectors that spill across multiple columns; it
doesn't reliably work on all GPUs. The tessellator needed a small fixup
to support this new limitation.

Change-Id: I82853b6c8ae83597aab3eab611dd10072d23eca5
Bug: skia:12443
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449836
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2021-09-17 14:18:44 +00:00
Kevin Lubick
7cece5e053 [fuzz] Require explicit SK_BUILD_FOR_*FUZZER
The existing define wasn't being used to compile :skia
(but it is for building the fuzzer code).

After this lands, oss-fuzz will be updated to set that
flag too. https://github.com/google/oss-fuzz/pull/6462

The change to SkTypes.h is to remove bit-rotted code that
prevents oss-fuzz from working.

Change-Id: I95b48d76dd3878d04ba3a5d021359ca200c20a0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449576
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-09-17 11:59:31 +00:00
skia-autoroll
149156550e Roll ANGLE from c78ebccdb527 to e3e221f94459 (11 revisions)
c78ebccdb5..e3e221f944

2021-09-17 gman@chromium.org Make backend ObjC struct match uniform block
2021-09-16 jmadill@chromium.org Fix compilation when disabling D3D back-ends.
2021-09-16 jmadill@chromium.org Capture/Replay: Disable when no arguments specified.
2021-09-16 jonahr@google.com Suppress failing end2end tests on direct-to-metal/M1
2021-09-16 ianelliott@google.com Change top-level AGI debug marker to not show parameters
2021-09-16 yuxinhu@google.com Add a cubemap array texture validation
2021-09-16 sugoi@google.com Fix integer overflow in BlockLayoutEncoder
2021-09-16 jmadill@chromium.org Auto-generate GLES extensions.
2021-09-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 971faecbb6fc to eac868c597aa (476 revisions)
2021-09-16 gert.wollny@collabora.com Capture/Replay: Run binary save/load tests only when supported
2021-09-16 gert.wollny@collabora.com Capture/Replay: Don't set CWD and pass path information instead

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 scroggo@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: scroggo@google.com
Change-Id: Ie8f2bb0047f53f46fbdc54352453e7f757aaae11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449745
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-17 05:26:49 +00:00
skia-autoroll
d4af197629 Roll SwiftShader from 0fa19bd6c285 to b7de6caa43b9 (4 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/0fa19bd6c285..b7de6caa43b9

2021-09-16 srisser@google.com Return error for requested unsupported features
2021-09-16 capn@google.com Clamp depth before the depth test
2021-09-16 capn@google.com Skip depth bounds test when there is no depth attachment
2021-09-16 capn@google.com Rename render target to color buffer

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 scroggo@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: scroggo@google.com
Change-Id: I0a2d729a4cce9984b34bd92a63522ff5f4ab2dbc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449744
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-17 05:19:52 +00:00
skia-autoroll
cd334839a7 Roll Chromium from 4cc0d39e9fc4 to 14caf1b3ea77 (440 revisions)
4cc0d39e9f..14caf1b3ea

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

To file a bug in Chromium: https://bugs.chromium.org/p/chromium/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: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: scroggo@google.com
Change-Id: I505c4d309936026a356476875871789fe3d17385
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449742
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-17 05:02:46 +00:00
John Stiles
941812fdcc Migrate scratch-variable creation from Inliner to SkSLVariable.
This will allow the code to be reused outside of the Inliner.

Change-Id: I9e68a12d14143add6a5a24f408a645af20d4e2b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449193
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-09-16 22:16:37 +00:00
John Stiles
eb68973c2f Disallow matrix ctors which overflow a column.
The GLSL spec allows matrix constructors containing vectors that would
split between multiple columns of the matrix. However, in practice, this
does not actually work well on a lot of GPUs!

- "cast not allowed", "internal error":
	Tegra 3
	Quadro P400
	GTX 660
	GTX 960
- Compiles, but generates wrong result:
	RadeonR9M470X
	RadeonHD7770

Since this isn't a pattern we expect to see in user code, we now report
it as an error at compile time. mat2(vec4) is treated as an exceptional
case and still allowed.

Change-Id: Id6925984a2d1ec948aec4defcc790a197a96cf86
Bug: skia:12443
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449518
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-09-16 22:14:49 +00:00
John Stiles
2dda4b6563 Allow Mangler to be used outside of Inliner.
It now lives in the Compiler instead of the Inliner, and we have a
pointer to it inside the Context. I also took the opportunity to remove
a few unnecessary #includes from Context and fixed up the fallout from
this.

POTENTIALLY IMPORTANT FOOTNOTE: DSLWriter has its own Mangler object
inside of it. I experimented with removing this and having it share the
Mangler object inside the Context, but this caused failures in
"testThreading" and "testpersistentcache" CQ bots; the Expected and
Actual images would mismatch. (The Expected would be missing some
draws.) This particularly affected some blur-related tests which are
likely to be GaussianConvolution--i.e. it uses DSL.
This might be a canary in the coalmine for some quirky DSL threading
issue? e.g. using the same Context on two threads at once?

Change-Id: I2290b810d9487c40a3dbef119c95d1572b14a5ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449357
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-09-16 21:53:19 +00:00
Ethan Nicholas
ae9b446bb4 Turn off name mangling in DSLParser
Not a big deal from a performance standpoint, but it's still unnecessary
work that produces uglier code.

Change-Id: Id0153fffe0bac7275f8d2b0d68fb6977de5f9e8c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449676
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-16 21:03:17 +00:00
skia-autoroll
4f3ca106c9 Roll SK Tool from git_revision:3ea0896ec4b4f75b83d5b41c698bc6428e7d40b8 to 94f986aaa8f2
https://skia.googlesource.com/buildbot.git/+log/git_revision:3ea0896ec4b4f75b83d5b41c698bc6428e7d40b8..94f986aaa8f2

2021-09-16 kjlubick@google.com [gold] Address issue with contention blocking diff-calculation

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 erikrose@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: erikrose@google.com
Change-Id: I383996e088dfa4d66b77512248dd3f82e040cc76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449546
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-16 19:33:19 +00:00
Michael Ludwig
db285de247 Adjust fuzzing behavior for triangulator/dashing
Bug 36932:
Adds a lower limit when fuzzing dash path effects, since it can produce
paths with > 140k verbs. While this is not that much memory on its own,
the triangulating path renderer can require 3+GB to complete its work
(although it doesn't actually fail).

Bug 36945, 37042:
Also has PathToTriangles check for finite paths before starting any
triangulation work. These paths were created with infinities and NaNs.
Normally such a path would be rejected at a higher level in SkCanvas.
Since the triangulator is being fuzzed directly, this emulates this.
It's included in GrTriangulator and not the fuzzer's main function
because it's a cheap test and theoretically we could encounter a path
that was built lower down (e.g. dashing or transformed to device space)
that then overflowed.

Bug: oss-fuzz:36923, oss-fuzz:36945, oss-fuzz:37042
Change-Id: If97212bf410f771b42cebaedb5733af1abbfc4b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449520
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-09-16 16:32:11 +00:00
Ethan Nicholas
2280058446 Reenable DSLParser
Change-Id: I1819b2c40902611d7e86245bff73ad8c2bd7629c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449060
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-09-16 15:28:19 +00:00
Ethan Nicholas
5b1ae4b285 Fix DSLParser clang-tidy warning
DSLParser is #ifdef'ed out, so this doesn't currently impact anything,
but is necessary to be able to reenable the DSLParser.

Change-Id: I76d48b1b855f42ba3bc8b0734199af6e2a88becb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449517
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-16 14:49:15 +00:00
Robert Phillips
ef80d7b50a Move more classes to skgpu::v1 namespace
Bug: skia:11837
Change-Id: Iaa0349749a5d79d7915fb37ef1b30b46f0aa58d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448796
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-16 14:04:16 +00:00
John Stiles
2844d3d479 Fix redefined-macro warning on non-UNIX platforms.
Change-Id: Ib22d104212f5b728938a87baae43c4a0884bf6ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449358
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-09-16 13:25:52 +00:00
skia-autoroll
f1977ec56f Roll ANGLE from 1ca1589fed63 to c78ebccdb527 (7 revisions)
1ca1589fed..c78ebccdb5

2021-09-15 timvp@google.com Perf: Add _many_tex_draw test
2021-09-15 gman@chromium.org Suppress more flaky tests
2021-09-15 jmadill@chromium.org Update extension boolean names.
2021-09-15 gman@chromium.org Turn on Direct Metal tests
2021-09-15 cnorthrop@google.com Revert "Vulkan: Suppress CoreValidation-Shader-InterfaceTypeMismatch"
2021-09-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 40adeaba22a6 to 0fa19bd6c285 (1 revision)
2021-09-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from d2cc0410ebf0 to 971faecbb6fc (455 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 scroggo@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: scroggo@google.com
Test: Test: DrawCallPerfBenchmark.Run/*_many_tex_draw
Change-Id: I3208f1e726fee9c563a07d0243a915d647791188
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449438
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-16 05:45:49 +00:00
skia-autoroll
5bb67430b6 Roll Chromium from a1a22cfaa7ce to 4cc0d39e9fc4 (459 revisions)
a1a22cfaa7..4cc0d39e9f

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

To file a bug in Chromium: https://bugs.chromium.org/p/chromium/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: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: scroggo@google.com
Change-Id: I594eb0d819c1bfa8ae42730c3a0637c47e96e351
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449437
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-16 04:58:14 +00:00
skia-autoroll
02c7c2466f Roll Dawn from 96ac969a33de to 8626b2142d82 (17 revisions)
https://dawn.googlesource.com/dawn.git/+log/96ac969a33de..8626b2142d82

2021-09-16 jiawei.shao@intel.com Disable the workaround about the T2T copy issue on newer Intel drivers
2021-09-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 6556ba0e94d7 to d1d99bc7dec1 (1 revision)
2021-09-15 shrekshao@google.com Revert "Added Abseil as a third-party dependency"
2021-09-15 rockot@google.com Support flattening multiple CommandAllocators
2021-09-15 enga@chromium.org Metal: Allocate threadgroup memory based on Tint reflection
2021-09-15 cwallez@chromium.org Use IterateBitSet in AddVertexPullingPass
2021-09-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 7f4d02c7aba7 to 6556ba0e94d7 (1 revision)
2021-09-15 jie.a.chen@intel.com Use WGPU_MIP_LEVEL_COUNT_UNDEFINED instead of 0
2021-09-15 zhaoming.jiang@intel.com Support vertex-only render pipeline
2021-09-15 jiawei.shao@intel.com Remove descriptor in RenderPipeline::Initialize
2021-09-15 jiawei.shao@intel.com Metal: Remove vertexState in the parameter of TranslateToMSL
2021-09-14 bajones@chromium.org Added Abseil as a third-party dependency
2021-09-14 beaufort.francois@gmail.com Add device ID and vendor ID to device properties
2021-09-14 cwallez@chromium.org Remove deprecated wgpu::StoreOp::Clear
2021-09-14 cwallez@chromium.org Remove deprecated texture usage names
2021-09-14 cwallez@chromium.org Remove deprecated ComputePipelineDescriptor.computeStage
2021-09-14 cwallez@chromium.org Remove deprecated RenderPass*Attachment.attachment

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 7f4d02c7aba7 to d1d99bc7dec1

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 shrekshao@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: shrekshao@google.com
Change-Id: I12b42aff0c78429d9ba6486cb7f7e4aee4255bdd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449436
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-16 04:41:47 +00:00
John Stiles
769146f7d3 Use string_view in Mangler.
This is more lightweight than String and avoids a handful of copies.

Change-Id: Iad72a1b1027877f41bab10eeeaa340f2823a0896
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449359
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-09-16 02:32:23 +00:00
John Stiles
25868511fd Add fwidth intrinsic to public SkSL in ES3.
Change-Id: Icd55cc62db41ba6c7008161512e5584927f21757
Bug: skia:12202
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449190
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-09-16 01:56:32 +00:00
John Stiles
0dc09b190a Update SkSLTest to check a 2x2 surface.
Derivative tests don't really make intuitive sense in a 1x1 surface.
This should give the derivatives a better workout.

Change-Id: I09e5ff2b7815d42d1874e5deef360e9bc2e83aff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449195
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-09-16 01:56:02 +00:00
Ethan Nicholas
3e7cd00126 Fixed a DSLParser bug with struct declarations
This breakage snuck in as part of
https://skia-review.googlesource.com/c/skia/+/448269.

Change-Id: Ifa7c27e9b762bec78a76ba34b24e6b7fdd50bf0e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449192
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-15 22:42:48 +00:00
Julia Lavrova
9d0d426028 Reland "The very first version of a new SkText API."
This reverts commit efb7ae16dd.

Reason for revert: Excluding all non-linux tests

Original change's description:
> Revert "The very first version of a new SkText API."
>
> This reverts commit 8a20cea604.
>
> Reason for revert: Breaking some tests
>
> Original change's description:
> > The very first version of a new SkText API.
> >
> > SkText public API added.
> > Interface.h updated.
> >
> > Change-Id: I82a87f33e6cf1394fa2520387f6895d33601376e
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/442003
> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> > Commit-Queue: Julia Lavrova <jlavrova@google.com>
>
> Change-Id: I879b198bc6fb44c46d11d967118f8d69eb74fee0
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449296
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

Change-Id: Ieb65b45532d8c7455f091cf7a9e21fa7dea47606
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449297
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-09-15 21:39:56 +00:00
John Stiles
c915da9b20 Revert "Enable MatrixConstructors test, outside of Quadro P400."
This reverts commit c6ce617a8a.

Reason for revert: more Golo machines with old drivers

Original change's description:
> Enable MatrixConstructors test, outside of Quadro P400.
>
> Change-Id: Ie228befa747351445981093f6c57308e338c9684
> Bug: skia:12443
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449181
> Commit-Queue: John Stiles <johnstiles@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>

Bug: skia:12443
Change-Id: Ica465810257b2f949a0cf0def62e699f7c2877cc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449258
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-09-15 20:08:13 +00:00
Julia Lavrova
efb7ae16dd Revert "The very first version of a new SkText API."
This reverts commit 8a20cea604.

Reason for revert: Breaking some tests

Original change's description:
> The very first version of a new SkText API.
>
> SkText public API added.
> Interface.h updated.
>
> Change-Id: I82a87f33e6cf1394fa2520387f6895d33601376e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/442003
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

Change-Id: I879b198bc6fb44c46d11d967118f8d69eb74fee0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449296
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-09-15 19:56:13 +00:00
Ethan Nicholas
80d2b3efa6 Fixed DSL line numbers with private type errors
Bug: skia:12404
Change-Id: I7535db4ea3d436369647ef486c39ecebcca6bef6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449257
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-15 19:55:38 +00:00
skia-autoroll
e1bb73ede4 Roll SK Tool from git_revision:c92e3a3bedee6adb134f6f27d62b14a80a24484d to 3ea0896ec4b4
https://skia.googlesource.com/buildbot.git/+log/git_revision:c92e3a3bedee6adb134f6f27d62b14a80a24484d..3ea0896ec4b4

2021-09-15 kjlubick@google.com [gold] Add GCS -> Pub/Sub for tryjob data
2021-09-15 kjlubick@google.com [gold] Remove obsolete alerts
2021-09-14 jcgregorio@google.com [machine] Remove all references to the "Update" button.
2021-09-14 kjlubick@google.com [tryjob-updater] Change to bot commit
2021-09-14 jcgregorio@google.com [machines] adb reconnect if an Android device goes offline.
2021-09-14 jcgregorio@google.com [ansible] Deploy test_machine_monitor to Win machines.

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 erikrose@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: erikrose@google.com
Change-Id: I28d6a32902ed06a13524cd313a55a228bcafcf7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449227
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-15 19:35:18 +00:00
John Stiles
c6ce617a8a Enable MatrixConstructors test, outside of Quadro P400.
Change-Id: Ie228befa747351445981093f6c57308e338c9684
Bug: skia:12443
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449181
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-09-15 19:23:20 +00:00
Jim Van verth
646f693982 Direct3D: recover better from command list submission failure
If a command list failed to submit, it was remaining the current
command list, which put things in an invalid state. This CL
sets things back to something reasonable.

Bug: skia:12359
Change-Id: Ia64d993925999b69eded790358ee0d922bc45bcf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448377
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-09-15 18:51:37 +00:00
Ethan Nicholas
81b7060ef0 Fixed function analysis line numbers with DSLParser
Bug: skia:12412
Change-Id: I0f64e2941a2a87fa49b171a2a3d34517f20b58ca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449100
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-15 18:14:39 +00:00
Jim Van Verth
879224d6a5 Metal: disable use of discardable MSAA on non-Apple silicon.
Resolves appear to be very slow on non-tiled desktop GPUs.

Bug: skia:12447
Change-Id: Ic6fcad667c63cac764fe0ee3d3797159df45d27a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449176
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-09-15 18:14:28 +00:00
Julia Lavrova
8a20cea604 The very first version of a new SkText API.
SkText public API added.
Interface.h updated.

Change-Id: I82a87f33e6cf1394fa2520387f6895d33601376e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/442003
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-09-15 17:57:50 +00:00
John Stiles
4f1593eaee Use swizzles in Metal matrix helper functions.
Not a big deal necessarily, but considering using this logic in GLSL as
well, and I'm less confident that your average GLSL ES driver will
optimize away the separate array loads.

Change-Id: I6a9f0d18c0fac138f64ad6426670f615e17f3492
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449099
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-15 17:32:45 +00:00
Ethan Nicholas
faf8d57fba Reject discard statements in non-fragment DSLParser programs
Bug: skia:12414
Change-Id: I5910239cab20e088367cbb9ededb3211b8b5f3b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449177
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-15 17:20:51 +00:00
John Stiles
a047e8bf4d Improve overflow checks in CheckProgramUnrolledSize.
The fuzzer discovered that it could overflow the program-size value.
Rewrote the logic to use SkSafeMath everywhere, and to early-exit as
soon as a statement manages to exceed the program size.

Change-Id: I01511b2201173c95ebc1ac602901410ac9d74d73
Bug: oss-fuzz:38697
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449098
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-09-15 16:42:45 +00:00
Brian Osman
a81e7e2e71 Report an error if sk_LastFragColor is referenced without fbFetchSupport
Adjusted default caps in skslc to be consistent with runtime behavior,
and added optional settings mode to enable the feature. Tests for both
scenarios. (The error test crashed prior to the fix).

Bug: oss-fuzz:38726
Change-Id: I5270d4837ac982085d7baf5abd4b361f7bfb8562
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449062
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-09-15 15:41:49 +00:00
Julia Lavrova
398ef4487b Reland "Reland "Small changes for SkText that are not in experimental directory""
This reverts commit b51994990b.

Reason for revert: Fixed the test

Original change's description:
> Revert "Reland "Small changes for SkText that are not in experimental directory""
>
> This reverts commit ce32c8a074.
>
> Reason for revert: Skottie test is broken
>
> Original change's description:
> > Reland "Small changes for SkText that are not in experimental directory"
> >
> > This reverts commit 481a58dfe0.
> >
> > Reason for revert: Fixing the build
> >
> > Original change's description:
> > > Revert "Small changes for SkText that are not in experimental directory"
> > >
> > > This reverts commit 92f1bc0083.
> > >
> > > Reason for revert: Blocking Android roll.
> > >
> > > Original change's description:
> > > > Small changes for SkText that are not in experimental directory
> > > >
> > > > (also made utf 8<->16 conversion static on SkUnicode)
> > > >
> > > > Change-Id: Ie64d18ad21a35ec10bd0b350fb7887fb78a419d8
> > > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448140
> > > > Reviewed-by: Mike Reed <reed@google.com>
> > > > Commit-Queue: Julia Lavrova <jlavrova@google.com>
> > >
> > > Change-Id: Ieb9eb0495dddfc0f9e9e74861b24efc0201fd520
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448656
> > > Auto-Submit: Brian Osman <brianosman@google.com>
> > > Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> > > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> >
> > Change-Id: I1e5859c9dd943c701d4c4e648bdc3e44412eca54
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448676
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: Julia Lavrova <jlavrova@google.com>
>
> Change-Id: Ib8e5ec05a5555f34106a0ee61878a8199b82bb82
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448897
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Reviewed-by: Florin Malita <fmalita@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

Change-Id: I3bc103c0e1c495342a6673e80765b5f26862e8dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448898
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-09-15 15:31:14 +00:00
Jim Van Verth
42bcfb9c89 Revert "Direct3D: Be sure to set correct heaps for current descriptor tables."
This reverts commit 7e33d95f4f.

Reason for revert: Breaking QuadroP400 Direct3D bots.

Original change's description:
> Direct3D: Be sure to set correct heaps for current descriptor tables.
>
> When binding descriptor tables, their associated heaps need to be bound
> as well. Previously we would bind those heaps when allocating from them.
> However, if we re-use a descriptor table later, its heap may no longer
> be bound. So we need to be sure to bind heaps for the current set.
>
> To avoid unnecessary refs, rather than store a
> sk_sp<GrD3DDescriptorTableManager::Heap> in each descriptor table, we
> only store its ID3D12DescriptorHeap pointer. The Heap only needs to be
> added to the command list once, when it is first used to allocate for
> the current submit.
>
> Bug: skia:12359
> Change-Id: I70018368e4f08bf7757969b9e878b0ff42059486
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448836
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

Bug: skia:12359
Change-Id: Icc7ab446c674e51e51d000717562dfb40c5a46d6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449063
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-09-15 15:25:11 +00:00
Robert Phillips
de60d7a64d Move more classes to skgpu::v1 namespace
Bug: skia:11837
Change-Id: If0bfb3009693b203b2080a1d43cc3b1865c3ab9e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448274
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-15 15:20:24 +00:00
Ethan Nicholas
fd1332f5a7 Reland "Fixed DSL assertion error on source files containing nulls"
This is a reland of db38ad7b14

Original change's description:
> Fixed DSL assertion error on source files containing nulls
>
> The assertion was there to make sure we weren't running off the end of
> the source, but naturally fails in the presence of legitimate embedded
> nulls.
>
> Change-Id: I3b80499e9b182c9ea046c479f35d7a965d548401
> Bug: oss-fuzz:38107
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447182
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Bug: oss-fuzz:38107
Change-Id: Idb1a6b7c64d2bb954edadae828d6de808158fd3f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448660
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-15 15:00:23 +00:00