Commit Graph

56522 Commits

Author SHA1 Message Date
John Stiles
ded41aafb2 Fix fuzzer-discovered error with SPIR-V interface arrays.
OSSFuzz discovered a minor variation of oss-fuzz:36770 which tickled a
different bug in SPIR-V RTFlip handling; we did not properly handle the
case where the InterfaceBlock is an array. SPIR-V does not support this
at all, but the IRGenerator allows it, and we don't detect it an an
error until later in the compilation process.

Change-Id: I80bd67a13dad878717dc122462132a2ed675532d
Bug: oss-fuzz:36850
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/437018
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-08-05 21:44:16 +00:00
Robert Phillips
1c512239ff Make compressedBackendFormat accessible from GrContextThreadSafeProxy
Not having this available on GrContextThreadSafeProxy was an oversight.
This will allow Chrome to correctly prepare the correct type of compressed promise image.

Change-Id: I3002609fef00a130fe409f318ae0f442ef7591d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/437016
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-08-05 21:44:11 +00:00
John Stiles
628777c9ed Fix cases of variable shadowing in SkSL.
If we manage to fix all the existing cases of variable shadowing, we
could enable -Wshadow.

Change-Id: Ic582c59b9f7dfee2d7e90e50bfb36c57e958c673
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436641
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-08-05 21:39:12 +00:00
Robert Phillips
0e741e2dea Disable dithering on the PowerVR GE8320
FWIW, our PowerVRGE8320 reports that it has integer shader support.

Bug: b/195281495
Change-Id: Ie969d8e978404a5b8963bb5c71dedfa8945b2a2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436563
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-08-05 21:39:07 +00:00
John Stiles
e53c721d78 Pass DSLModifiers by reference.
These objects are ~48 bytes apiece.
(Added bsalomon@ for public API review)

Change-Id: I41207929ec2c33caaf877d8530ad7c89b24b63cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436823
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-08-05 21:34:08 +00:00
John Stiles
4adb66f313 Honor lowp/mediump/highp precision qualifiers in DSLParser.
(Added bsalomon@ for public API review)

Change-Id: Id0e7f656d68f2c7bec2c38ca7ccc8c6bb49e7e91
Bug: skia:12248
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436570
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-08-05 21:34:08 +00:00
Ben Wagner
a3f996c70d Fix skia_use_gl = false build
Fix a number of warnings as errors about unused private methods when
skia_use_gl is set to false and SK_GL is not set.

Change-Id: Idcc08a1434ec11a6ce9c8df034c9fa472bf08d08
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436822
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-08-05 21:34:04 +00:00
Kevin Lubick
c0bfdffe3d [infra] Update buildbot repo used by go.mod
Change-Id: I61d16e68eb6d8ce98d7f8874c6c2c7a91f291645
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436936
Reviewed-by: Eric Boren <borenet@google.com>
2021-08-05 19:12:58 +00:00
Chris Dalton
7893d2d086 Reland "Reland "Enable the atlas path renderer for GrAAType::kCoverage""
This is a reland of 03b7935068

Original change's description:
> Reland "Enable the atlas path renderer for GrAAType::kCoverage"
>
> This is a reland of 8cd8e27c2c
>
> Original change's description:
> > Enable the atlas path renderer for GrAAType::kCoverage
> >
> > This will definitely cause regressions on a whole slew of benchmarks
> > that were carelessly regurgitating cached bitmaps until the system
> > memory was blown. But the well defined memory limits of the atlas and
> > resilience to animation are worth it. If a client still wants this
> > type of caching they can always render their own bitmaps using Skia
> > and cache them.
> >
> > Bug: chromium:928984
> > Bug: skia:12258
> > Change-Id: I277f50cb9192f1cf5fe8d4b7f629abe72432150a
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433917
> > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
>
> Bug: chromium:928984
> Bug: skia:12258
> Change-Id: I59d7b0684b7569d62939b6a8035fa6e92f4c02f3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436356
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

Bug: chromium:928984
Bug: skia:12258
Change-Id: I5259e86692e66f52795dde0da1a84c062c223b96
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436860
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-08-05 15:58:49 +00:00
Michael Ludwig
8ba1e71a1f Revert "Add SkClipStack::replaceClip() separate from deprecated clip op"
This reverts commit 68587ae274.

Reason for revert: breaking path clipping tests in Android?

Original change's description:
> Add SkClipStack::replaceClip() separate from deprecated clip op
>
> The replaceClip functionality was added to allow Android to move off of
> generalized expanding clips. At the time, SkClipStack simply used the
> kReplace_SkClipOp to handle it. In order to remove those expanding ops,
> SkClipStack will need a proper implementation of replaceClip().
>
> The clip elements have an additional field to mark if
> it's a replace (and it's op will be kIntersect). Adds a temporary
> getRegionOp() function to unify elements that use this field vs.
> elements that use the deprecated clip op (i.e. if they were deserialized
> from an SKP that recorded an expanding op).
>
> Clients of SkClipOp that checked for replace ops use the new function
> instead of referring to the enum value directly.
>
> Bug: skia:10209
> Change-Id: I1c16c87fadb2becfe181db717c05e240ac87fd34
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436158
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Chris Dalton <csmartdalton@google.com>

TBR=robertphillips@google.com,brianosman@google.com,csmartdalton@google.com,michaelludwig@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: If3f99a7d2f2df99c2b99d431d494ca28da66b1d8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10209
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436956
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-08-05 14:47:41 +00:00
Michael Ludwig
b942d4b436 Revert "Avoid expanding clip ops in tests that will remain after feature removal"
This reverts commit d1c51b2572.

Reason for revert: blocking revert that might be breaking android

Original change's description:
> Avoid expanding clip ops in tests that will remain after feature removal
>
> Bug: skia:10208
> Change-Id: I4fb2c8181bfb8cac3c8ab95c833094c98f8ee6fc
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436159
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

TBR=robertphillips@google.com,reed@google.com,michaelludwig@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: Ib62cc03f99793f8f1cb0180145b7557101a23ead
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10208
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436957
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-08-05 14:46:42 +00:00
Kevin Lubick
daa9717416 [infra] Cleanup better after BuildStats
Followup to https://skia-review.googlesource.com/c/skia/+/436816

Change-Id: I564c5a160588e5d9f843e297bf04baea50024dc5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436896
Reviewed-by: Eric Boren <borenet@google.com>
2021-08-05 13:22:22 +00:00
Derek Sollenberger
8e2d89465a Revert "Reland "Enable the atlas path renderer for GrAAType::kCoverage""
This reverts commit 03b7935068.

Reason for revert: suspected of breaking some Android CTS tests

Original change's description:
> Reland "Enable the atlas path renderer for GrAAType::kCoverage"
>
> This is a reland of 8cd8e27c2c
>
> Original change's description:
> > Enable the atlas path renderer for GrAAType::kCoverage
> >
> > This will definitely cause regressions on a whole slew of benchmarks
> > that were carelessly regurgitating cached bitmaps until the system
> > memory was blown. But the well defined memory limits of the atlas and
> > resilience to animation are worth it. If a client still wants this
> > type of caching they can always render their own bitmaps using Skia
> > and cache them.
> >
> > Bug: chromium:928984
> > Bug: skia:12258
> > Change-Id: I277f50cb9192f1cf5fe8d4b7f629abe72432150a
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433917
> > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
>
> Bug: chromium:928984
> Bug: skia:12258
> Change-Id: I59d7b0684b7569d62939b6a8035fa6e92f4c02f3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436356
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=bsalomon@google.com,csmartdalton@google.com,michaelludwig@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: Id90ae67d90eff84f4085d2faa97976db5d9b73b7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:928984
Bug: skia:12258
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436817
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2021-08-05 12:39:00 +00:00
Kevin Lubick
902d2bcad6 [infra] Cleanup permissions in our docker build tasks
Swarming appears to have changed recently to fail loudly
if it cannot delete any files. This can happen for
our docker outputs (e.g. the /OUT/obj folder).

I am hopeful that in a Bazel world, we won't have
issues like this because of Bazel's ability to keep
things more hermetic.

Change-Id: I21d9138bc25b42794006322e1b8987787222d5da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436816
Reviewed-by: Eric Boren <borenet@google.com>
2021-08-05 12:33:10 +00:00
skia-autoroll
1000794223 Roll ANGLE from 35bdaf8dc485 to 9da4e52b5bb6 (13 revisions)
35bdaf8dc4..9da4e52b5b

2021-08-05 cnorthrop@google.com Tests: Add PUBG Mobile battle royale trace
2021-08-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 0b6b7ef9940d to 9177048d3b1a (237 revisions)
2021-08-04 ynovikov@chromium.org Roll googletest
2021-08-04 syoussefi@chromium.org Remove support for WEBGL_debug_shader_precision
2021-08-04 cnorthrop@google.com Tests: Add PUBG Mobile skydive trace
2021-08-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from b3e57670ca16 to 0b6b7ef9940d (588 revisions)
2021-08-04 syoussefi@chromium.org Reland "Reland "GL: Fix GPU detection""
2021-08-04 syoussefi@chromium.org GL: Remove the rewriteVectorScalarArithmetic workaround
2021-08-04 syoussefi@chromium.org Revert "Reland "GL: Fix GPU detection""
2021-08-04 ggabu423@gmail.com D3D11: Add validation for storages size in updateBufferStorage
2021-08-04 b.schade@samsung.com Vulkan: Add support for EXT_primitive_bounding_box
2021-08-04 jmadill@chromium.org Perf Bots: Upload proper build URL.
2021-08-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from dcfc0a6e2d84 to d4483095765e (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 nifong@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: nifong@google.com
Test: Test: angle_perftests --gtest_filter="*pubg_mobile_battle_royale"
Test: Test: angle_perftests --gtest_filter="*pubg_mobile_skydive"
Test: Test: dEQP-GLES31.functional.primitive_bounding_box.*
Change-Id: I9d05938551130e9ce41581c0784bf5b6d0083804
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436667
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-05 05:28:12 +00:00
skia-autoroll
d82bee922b Roll SwiftShader from d4483095765e to e4b7794ddbee (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/d4483095765e..e4b7794ddbee

2021-08-04 capn@google.com Remove unimplemented MaskedStore/MaskedLoad usage
2021-08-04 capn@google.com Optimize OpImageFetch for single-level mipmaps

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 nifong@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:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: nifong@google.com
Change-Id: Ice72cf02b04a7f41928e3c2abe7ad0a865e1da6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436666
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-05 05:07:40 +00:00
skia-autoroll
1f808360e5 Roll Dawn from 26391657884b to 1ee777fcd578 (6 revisions)
https://dawn.googlesource.com/dawn.git/+log/26391657884b..1ee777fcd578

2021-08-05 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 5c61d6d12ce3 to a5d73ce965a7 (4 revisions)
2021-08-04 bryan.bernhart@intel.com D3D12: Enable D3D12 debug names in Dawn builds.
2021-08-04 enga@chromium.org Hook up dump_shaders toggle to dump SPIRV and GLSL
2021-08-04 bclayton@google.com metal: Fix stray '\' prefix on MSL shaders
2021-08-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 98fbf241d80a to 5c61d6d12ce3 (1 revision)
2021-08-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 51750f15d219 to 98fbf241d80a (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 51750f15d219 to a5d73ce965a7

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 enga@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: enga@google.com
Change-Id: I70bdaad22bfe088a4aa6e93a0c0532406b142d98
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436668
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-05 04:53:10 +00:00
Derek Sollenberger
337e484839 Revert "Reland "uniform Ptr (UPtr) is a sub class of Ptr""
This reverts commit ea17e2499d.

Reason for revert: blocking the android roll on a build failure

Original change's description:
> Reland "uniform Ptr (UPtr) is a sub class of Ptr"
>
> This is a reland of cef047a490
>
> Fix strides in SkVMTest to be the right size.
>
> Original change's description:
> > uniform Ptr (UPtr) is a sub class of Ptr
> >
> > A pointer for a Uniform (UPtr) is a sub type of a Ptr. Everywhere you
> > can use a Ptr a UPtr will work, but you can't use Ptr where you need
> > a UPtr. All the UPtr instructions uniformF, gather32, etc are expected
> > to be hoisted and therefore loaded only once. While the varyings
> > instructions like load32, etc. are expected to remain in the body
> > of the loop, and be evaluated each time through the loop.
> >
> > Change-Id: I4fe6458c2a4614872ed67cda1e81b05ea8a9e69e
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436297
> > Commit-Queue: Herb Derby <herb@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
>
> Change-Id: I858fa1224452ec801b6186fede353849edc895b5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436564
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=herb@google.com,brianosman@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: I0ffc93a04f5329838d422ad9e42aba09b9ba0064
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436639
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2021-08-05 01:11:41 +00:00
Brian Salomon
36aef96fec Disable lift of device space coord transforms to VS when GS or TS is
used.

The current approach doesn't consider that there may be additional
stages between the VS and FS.

Bug: skia:12198
Change-Id: I62a802c91a76689e7c78b2e269b76c9bcd5ae5d2
Cq-Include-Trybots: luci.skia.skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-GpuTess
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436573
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2021-08-04 23:46:04 +00:00
John Stiles
b806da4501 Honor lowp/mediump/highp precision qualifiers in IRGenerator.
This CL does not update the DSLParser to honor these precision
qualifiers; that will be done in a followup.

Change-Id: Ib629bc99c0e6c7afb550a381d4e3b6ccc26aa64e
Bug: skia:12248
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436337
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-08-04 21:29:10 +00:00
John Stiles
020143148f Add parser support for highp/mediump Tokens in vardecls.
These parse into new modifier bits; the IR generator does not yet
support these bits. That's coming in a followup CL.

Change-Id: I362e9227694f9b862eaad100f6afca45a9b62a01
Bug: skia:12248
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436336
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-08-04 21:11:14 +00:00
Mike Reed
35215fb68a Don't assume extended (check perspective)
Related to https://skia-review.googlesource.com/c/skia/+/436476

Change-Id: Ief81b5f1824b5dd7960e09a1a6df55bcf6b6dc45
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436597
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-08-04 21:01:11 +00:00
Herb Derby
ea17e2499d Reland "uniform Ptr (UPtr) is a sub class of Ptr"
This is a reland of cef047a490

Fix strides in SkVMTest to be the right size.

Original change's description:
> uniform Ptr (UPtr) is a sub class of Ptr
>
> A pointer for a Uniform (UPtr) is a sub type of a Ptr. Everywhere you
> can use a Ptr a UPtr will work, but you can't use Ptr where you need
> a UPtr. All the UPtr instructions uniformF, gather32, etc are expected
> to be hoisted and therefore loaded only once. While the varyings
> instructions like load32, etc. are expected to remain in the body
> of the loop, and be evaluated each time through the loop.
>
> Change-Id: I4fe6458c2a4614872ed67cda1e81b05ea8a9e69e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436297
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Change-Id: I858fa1224452ec801b6186fede353849edc895b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436564
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-08-04 20:51:14 +00:00
Tyler Denniston
cc04b6f0bf Revert "Reland "Reland "Omit inner join geometry when possible"""
This reverts commit 40dfc67917.

Reason for revert: same android CTS failures

Original change's description:
> Reland "Reland "Omit inner join geometry when possible""
>
> This reverts commit bdc412f149.
>
> Original change's description:
> > Revert "Reland "Omit inner join geometry when possible""
> >
> > This reverts commit 44edd1952a.
> >
> > Reason for revert: problematic gold diffs (e.g. paths-data-10-t) and androit CTS failures
> >
> > Original change's description:
> > > Reland "Omit inner join geometry when possible"
> > >
> > > This is a reland of 1b0a95e0ee
> > >
> > > Original change's description:
> > > > Omit inner join geometry when possible
> > > >
> > > > There is some relatively cheap math we can do to determine easy cases
> > > > when the inner join geometry can be skipped. This CL is not
> > > > comprehensive in that there may be other cases where we can skip the
> > > > geometry.
> > > >
> > > > Only handling miter joins in this CL - the other join types can likely
> > > > have similar logic, but will require a bit more computation to compute
> > > > the inner (reflected) miter point.
> > > >
> > > > Misc notes:
> > > > - Added SK_LEGACY_INNER_JOINS ifdef in the event that clients depend on
> > > >   the old behavior.
> > > > - Modified stroker to track "previous previous" point, which is the
> > > >   start point of the previous line segment.
> > > >
> > > > Bug: b/165379671, skia:11964
> > > > Change-Id: I56789e85a2b4627c32f2a30fe60e47d448e9adf3
> > > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404717
> > > > Reviewed-by: Mike Reed <reed@google.com>
> > > > Commit-Queue: Tyler Denniston <tdenniston@google.com>
> > >
> > > Bug: b/165379671, skia:11964
> > > Change-Id: If8bf183db9379d0a98a6f88e70f871a559692a60
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/423821
> > > Reviewed-by: Tyler Denniston <tdenniston@google.com>
> > > Commit-Queue: Tyler Denniston <tdenniston@google.com>
> >
> > TBR=reed@google.com,tdenniston@google.com
> >
> > Change-Id: I5a2dfd402269db6c788f0e0625f67e9bf3b1f5cf
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: b/165379671, skia:11964
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426059
> > Reviewed-by: Tyler Denniston <tdenniston@google.com>
> > Commit-Queue: Tyler Denniston <tdenniston@google.com>
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug: b/165379671, skia:11964
> Change-Id: Icfd420954a291f414fc2cb5cc2fe2756224a5d8d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436518
> Reviewed-by: Tyler Denniston <tdenniston@google.com>
> Commit-Queue: Tyler Denniston <tdenniston@google.com>

TBR=reed@google.com,tdenniston@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: Ifbca34b8ff836aee6b517f58cbf05cf0aa38eace
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/165379671, skia:11964
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436567
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2021-08-04 20:29:09 +00:00
Ethan Nicholas
b449fff1d8 Unify DSL and SkSL error handling paths
Change-Id: I9772da0c0a61d5fdb3114cd836053275bfb359df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436156
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-08-04 20:15:39 +00:00
Robert Phillips
f3868628f9 Fission GrSurfaceFillContext into skgpu:: and skgpu::v1:: versions (take 2)
The only really interesting parts are:
  src/gpu/SurfaceFillContext.*
  src/gpu/v1/SurfaceFillContext.*

Everything else is mostly mechanical.

TBR=michaelludwig@google.com
Bug: skia:11837
Change-Id: Ia208e9a73d1529804c06d4f805d8ca3674851496
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436558
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-08-04 19:40:55 +00:00
Mike Reed
ae1e7bcb38 Test addPath()
- append / extend
- old / new style
- open / closed

Change-Id: I1942dd9b5aaa5f02149856b2810c90637aaaf4df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436596
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2021-08-04 19:19:11 +00:00
Michael Ludwig
d1c51b2572 Avoid expanding clip ops in tests that will remain after feature removal
Bug: skia:10208
Change-Id: I4fb2c8181bfb8cac3c8ab95c833094c98f8ee6fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436159
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-08-04 19:11:40 +00:00
Michael Ludwig
3b39b7f5c6 Alias canComputeFastBounds to affectsTransparentBlack
This moves SkImageFilter's API closer to SkColorFilter's, and also
updates SkRecordDraw's PaintMayAffectTransparentBlack to be less
conservative.

Originally:
-canComputeFastBounds() handled aggregating behavior of the entire graph
  but it's a public API
-affectsTransparentBlack() was the private virtual for a specific node

Now:
-affectsTransparentBlack() handles aggregating behavior of the graph and
  is part of SkImageFilter_Base (mirroring SkColorFilter_Base).
-added onAffectsTransparentBlack() to clarify the per-node virtual that
  they can override.
-canComputeFastBounds() simply returns !affectsTransparentBlack().

There are some usages in our code that I kept using canComputeFastBounds
(e.g. SkPaint's computefastBounds) because it kept naming consistent.
In other places I updated to use affectsTransparentBlack since I thought
that made it clearer why we were checking that behavior.

Bug: skia:12282
Change-Id: I7b58372c127b4d8d9097d6c0de64486e822d2342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436296
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-08-04 19:11:19 +00:00
John Stiles
9fdcc517b2 Write test demonstrating bug with array narrowing conversions.
We don't currently support this. There's no explicit syntax to cast an
array's type, but it can be implicitly required in some situations, like
`halfArray == floatArray` (when fAllowNarrowingConversions is on).

Change-Id: I00fe0ddd4f2682b2950e828dd78bb941d5f0430e
Bug: skia:12248
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436560
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-08-04 18:34:18 +00:00
recipe-roller
fdb13e954c Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

depot_tools:
7a262eba20
  7a262eb (dpranke@google.com)
      Fix pylint canned check for pylint-2.6.

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iade0fdfe864a52119fcbc7b7d04fae04721c1c9f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436544
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-08-04 18:31:49 +00:00
Michael Ludwig
68587ae274 Add SkClipStack::replaceClip() separate from deprecated clip op
The replaceClip functionality was added to allow Android to move off of
generalized expanding clips. At the time, SkClipStack simply used the
kReplace_SkClipOp to handle it. In order to remove those expanding ops,
SkClipStack will need a proper implementation of replaceClip().

The clip elements have an additional field to mark if
it's a replace (and it's op will be kIntersect). Adds a temporary
getRegionOp() function to unify elements that use this field vs.
elements that use the deprecated clip op (i.e. if they were deserialized
from an SKP that recorded an expanding op).

Clients of SkClipOp that checked for replace ops use the new function
instead of referring to the enum value directly.

Bug: skia:10209
Change-Id: I1c16c87fadb2becfe181db717c05e240ac87fd34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436158
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2021-08-04 18:17:11 +00:00
Derek Sollenberger
b00cbc704d Revert "uniform Ptr (UPtr) is a sub class of Ptr"
This reverts commit cef047a490.

Reason for revert: DM test failures on some Windows/Linux devices

Original change's description:
> uniform Ptr (UPtr) is a sub class of Ptr
>
> A pointer for a Uniform (UPtr) is a sub type of a Ptr. Everywhere you
> can use a Ptr a UPtr will work, but you can't use Ptr where you need
> a UPtr. All the UPtr instructions uniformF, gather32, etc are expected
> to be hoisted and therefore loaded only once. While the varyings
> instructions like load32, etc. are expected to remain in the body
> of the loop, and be evaluated each time through the loop.
>
> Change-Id: I4fe6458c2a4614872ed67cda1e81b05ea8a9e69e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436297
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=herb@google.com,brianosman@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: I785973be1493643e7d5a3da482bc4ab07d186865
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436559
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2021-08-04 17:26:34 +00:00
Derek Sollenberger
40b82c6b5c Revert "Fission GrSurfaceFillContext into skgpu:: and skgpu::v1:: versions"
This reverts commit af844c79d5.

Reason for revert: breaking chrome roller

Original change's description:
> Fission GrSurfaceFillContext into skgpu:: and skgpu::v1:: versions
>
> The only really interesting parts are:
>   src/gpu/SurfaceFillContext.*
>   src/gpu/v1/SurfaceFillContext.*
>
> Everything else is mostly mechanical.
>
> Bug: skia:11837
> Change-Id: If2945f30dadd6ad0cccf6ff2b53e4a92b1dc6cbc
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436099
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

TBR=robertphillips@google.com,michaelludwig@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: I3b2d1d4a30e253a107f55dc3c5ecaaee5386e6e8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11837
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436557
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2021-08-04 17:15:45 +00:00
Tyler Denniston
40dfc67917 Reland "Reland "Omit inner join geometry when possible""
This reverts commit bdc412f149.

Original change's description:
> Revert "Reland "Omit inner join geometry when possible""
>
> This reverts commit 44edd1952a.
>
> Reason for revert: problematic gold diffs (e.g. paths-data-10-t) and androit CTS failures
>
> Original change's description:
> > Reland "Omit inner join geometry when possible"
> >
> > This is a reland of 1b0a95e0ee
> >
> > Original change's description:
> > > Omit inner join geometry when possible
> > >
> > > There is some relatively cheap math we can do to determine easy cases
> > > when the inner join geometry can be skipped. This CL is not
> > > comprehensive in that there may be other cases where we can skip the
> > > geometry.
> > >
> > > Only handling miter joins in this CL - the other join types can likely
> > > have similar logic, but will require a bit more computation to compute
> > > the inner (reflected) miter point.
> > >
> > > Misc notes:
> > > - Added SK_LEGACY_INNER_JOINS ifdef in the event that clients depend on
> > >   the old behavior.
> > > - Modified stroker to track "previous previous" point, which is the
> > >   start point of the previous line segment.
> > >
> > > Bug: b/165379671, skia:11964
> > > Change-Id: I56789e85a2b4627c32f2a30fe60e47d448e9adf3
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404717
> > > Reviewed-by: Mike Reed <reed@google.com>
> > > Commit-Queue: Tyler Denniston <tdenniston@google.com>
> >
> > Bug: b/165379671, skia:11964
> > Change-Id: If8bf183db9379d0a98a6f88e70f871a559692a60
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/423821
> > Reviewed-by: Tyler Denniston <tdenniston@google.com>
> > Commit-Queue: Tyler Denniston <tdenniston@google.com>
>
> TBR=reed@google.com,tdenniston@google.com
>
> Change-Id: I5a2dfd402269db6c788f0e0625f67e9bf3b1f5cf
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: b/165379671, skia:11964
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426059
> Reviewed-by: Tyler Denniston <tdenniston@google.com>
> Commit-Queue: Tyler Denniston <tdenniston@google.com>

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

Bug: b/165379671, skia:11964
Change-Id: Icfd420954a291f414fc2cb5cc2fe2756224a5d8d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436518
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2021-08-04 16:44:11 +00:00
Chris Dalton
03b7935068 Reland "Enable the atlas path renderer for GrAAType::kCoverage"
This is a reland of 8cd8e27c2c

Original change's description:
> Enable the atlas path renderer for GrAAType::kCoverage
>
> This will definitely cause regressions on a whole slew of benchmarks
> that were carelessly regurgitating cached bitmaps until the system
> memory was blown. But the well defined memory limits of the atlas and
> resilience to animation are worth it. If a client still wants this
> type of caching they can always render their own bitmaps using Skia
> and cache them.
>
> Bug: chromium:928984
> Bug: skia:12258
> Change-Id: I277f50cb9192f1cf5fe8d4b7f629abe72432150a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433917
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

Bug: chromium:928984
Bug: skia:12258
Change-Id: I59d7b0684b7569d62939b6a8035fa6e92f4c02f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436356
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-08-04 16:31:34 +00:00
Herb Derby
cef047a490 uniform Ptr (UPtr) is a sub class of Ptr
A pointer for a Uniform (UPtr) is a sub type of a Ptr. Everywhere you
can use a Ptr a UPtr will work, but you can't use Ptr where you need
a UPtr. All the UPtr instructions uniformF, gather32, etc are expected
to be hoisted and therefore loaded only once. While the varyings
instructions like load32, etc. are expected to remain in the body
of the loop, and be evaluated each time through the loop.

Change-Id: I4fe6458c2a4614872ed67cda1e81b05ea8a9e69e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436297
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-08-04 16:00:10 +00:00
Robert Phillips
af844c79d5 Fission GrSurfaceFillContext into skgpu:: and skgpu::v1:: versions
The only really interesting parts are:
  src/gpu/SurfaceFillContext.*
  src/gpu/v1/SurfaceFillContext.*

Everything else is mostly mechanical.

Bug: skia:11837
Change-Id: If2945f30dadd6ad0cccf6ff2b53e4a92b1dc6cbc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436099
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-08-04 14:30:10 +00:00
recipe-roller
f0ffd41897 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

recipe_engine:
2a458f0bd2
  2a458f0 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 48de919ac2fb to b32fc6edde4d

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I00842412e7e6ecfa7aa06c02214a1517ec017cb6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436377
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-08-04 08:20:43 +00:00
skia-autoroll
de58ca28e5 Roll ANGLE from f016c4352f52 to 35bdaf8dc485 (14 revisions)
f016c4352f..35bdaf8dc4

2021-08-04 jmadill@chromium.org Capture/Replay: Minor cleanups.
2021-08-03 cnorthrop@google.com Capture/Replay: Track arrayed uniform locations
2021-08-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from c96bed01e3be to b3e57670ca16 (245 revisions)
2021-08-03 syoussefi@chromium.org Translator: Fix fuzzer crashing on assertion
2021-08-03 syoussefi@chromium.org Reland "GL: Fix GPU detection"
2021-08-03 syoussefi@chromium.org Reland "Translator: Clean up type cloning"
2021-08-03 enga@google.com Revert "Translator: Clean up type cloning"
2021-08-03 jmadill@chromium.org Revert "GL: Fix GPU detection"
2021-08-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 44660405ea6c to dcfc0a6e2d84 (6 revisions)
2021-08-03 lubosz.sarnecki@collabora.com gen_restricted_traces: Add kReplayDrawSurfaceColorSpace.
2021-08-03 jmadill@chromium.org Vulkan: Use custom volk init function.
2021-08-03 lubosz.sarnecki@collabora.com FrameCapture: Capture the EGL color space.
2021-08-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 7ad7eb435b84 to c96bed01e3be (1394 revisions)
2021-08-03 syoussefi@chromium.org GL: Fix GPU detection

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 nifong@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: nifong@google.com
Test: Test: PUBG Mobile MEC
Change-Id: I3b149e29ca6f3a4806d85d8660a15753c0be4262
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436268
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-04 05:22:44 +00:00
skia-autoroll
fbe4247ecd Roll SwiftShader from dcfc0a6e2d84 to d4483095765e (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/dcfc0a6e2d84..d4483095765e

2021-08-03 capn@google.com Fix computing anisotropy factor for single-level mipmap
2021-08-03 swiftshader.regress@gmail.com Regres: Update test lists @ dcfc0a6e

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 nifong@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:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: nifong@google.com
Change-Id: I3e57f825965fdca0a93d825b890a44697d424e80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436267
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-04 05:15:13 +00:00
skia-autoroll
2cbb3f55ea Roll Dawn from 858e585cce60 to 26391657884b (5 revisions)
https://dawn.googlesource.com/dawn.git/+log/858e585cce60..26391657884b

2021-08-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 72f9ce98d17c to 51750f15d219 (2 revisions)
2021-08-03 enga@chromium.org Fix VVL error when creating a bind group from a destroyed texture
2021-08-03 enga@chromium.org Use Tint SingleEntryPoint transform in Vulkan/GL backends
2021-08-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from b75e4b96a6ba to 72f9ce98d17c (1 revision)
2021-08-03 enga@chromium.org Unsuppress tests failing from crbug.com/dawn/978

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from b75e4b96a6ba to 51750f15d219

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 enga@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: enga@google.com
Change-Id: I27c69bbc3116b56cae66b0b00804bc1098b25251
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436269
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-04 04:46:44 +00:00
recipe-roller
38d9e0e812 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

depot_tools:
a992238bf0
  a992238 (linxinan@google.com)
      Add params to update_files method

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I48320b8ae6c441fc7d8f202fff54a12566ad7ba8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436338
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-08-04 00:44:40 +00:00
recipe-roller
6ff2b7a4e5 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

recipe_engine:
65637d1586
  65637d1 (yuanjunh@google.com)
      Report the total coverage for py2 and py3 tests

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7c056775b50ccc6074e411c6c245c2efb1f3018d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436318
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-08-03 23:01:46 +00:00
recipe-roller
1b18454ba7 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

recipe_engine:
8d91fac839
  8d91fac (mohrr@google.com)
      [lint] Replace --whitelist with --allowlist

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I2103708e6fe472d25f8c7850e6eaaaaf15dd8fee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436316
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-08-03 21:39:10 +00:00
Michael Ludwig
9cd9d0f3de Fix nearly flat edge detection in GrTriangulator
Adds a GM reproducing triangulator failure. The stroker generated
geometry shown in the GM had two edges intersecting on the inner
contour. One of the edges was practically vertical, such that its top
and bottom vertices X coordinates differed by 1ulp (approx 4.8e-7 when
x = 7.5). The intersection was computed correctly in double but then
clamped to exactly 7.5 when stored back in float at (7.5, ~11), which
is still a reasonable intersection point along the edge represented
by (7.5,0) to (7.5000048,~68).

However, with a sorting direction of horizontal for the vertices,
vertices are sorted on increasing x and then *decreasing* y. The
computed intersection is then technically above the edge's top
vertex. In the original code, the edge was not considered flat, so
it assumes that the intersection vertex is below the top vertex
and above the bottom vertex.

The issue was with the nearly_flat function only checking the difference
against machine epsilon without taking the magnitude of the vertices
into account. However, just changing nearly_flat to use ulp instead of
epsilon led to infinite recursion and asserts on a number of tests due
to inaccuracies in edge intersection tests. To address these issues,
I reworked clamp() to work on X and Y independently, which avoids the
need to check nearly_flat entirely. Additionally, edge intersection
detects when it might be inaccurate due to really large vertex coords
and recursively splits to reject false positives.

Bug: skia:12244
Change-Id: I9a92a163e8c53af799332f1f9369fccd3a9fbf31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432196
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-08-03 20:45:40 +00:00
John Stiles
68f5606831 Fix cases of variable shadowing in rasterization.
If we manage to fix all the existing cases of variable shadowing, we
could enable -Wshadow.

Change-Id: I169ff3bac8517869132297c8e98bd9bd4248a349
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436100
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2021-08-03 19:00:58 +00:00
recipe-roller
6ec3d270f3 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

depot_tools:
ee08888d27
  ee08888 (pkasting@chromium.org)
      Update comment to reflect a directory's new name.

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1cb591b1fa472c5a91ccbb390845c90e35c08042
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436196
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-08-03 18:59:40 +00:00
Michael Ludwig
2f6e2f8410 Use SkClipOp::kFoo instead of kFoo_SkClipOp from SkClipOpPriv
The SkClipOpPriv.h header will be going away soon, but a number of
places still use its kIntersect_SkClipOp definitions instead of the
equivalent SkClipOp::kIntersect. Besides updating these references,
a number of unnecessary includes to SkClipOpPriv.h are removed and
some test cases exercising expanding clip ops are deleted since they
will be unnecessary shortly.

Bug: skia:10208
Change-Id: I2bbdd6bb39869134c6a80ef2b4482e6cabdeb0b7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436157
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-08-03 18:08:21 +00:00
Leon Scroggins III
86b2c952ae Update gn_to_bp_utils to support python3
Python2 is going away, so update the script to run with python3.

Change-Id: I8c1aad12ecf8ae1bde67a1ad5486bf6feb1c04d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436098
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2021-08-03 17:52:43 +00:00