Commit Graph

54995 Commits

Author SHA1 Message Date
Jorge Betancourt
972abe9baa [androidkit] support GL surfaces in AndroidKit
Currently backed by sk_app, we need to move the Android window context files out of sk_app into its own module.

Vulkan is only supported by Android devices running SDK 24+, added guards to Create_VK and annotations for developers.

Change-Id: Ica64a1feef4a3daf50758df05df488da0346ed72
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401796
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-04-27 19:06:31 +00:00
Herb Derby
47c88cc9d6 handle perspective glyph drawing correctly
For GPU:
Handling a blob that moved around in perspective reused cached
information incorrectly. Always recalculate the sub run
information when drawing perspective.

For Bitmap:
Make color emoji draw correctly.

Testing:
Add a GM that draws a single text blob in multiple different
perspective orientations.

Bug: skia:10473
Bug: skia:8914

Change-Id: I945e3326804ec47bf8cbca0e3cf4a17afc9ba5f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400598
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-04-27 18:16:31 +00:00
Mike Reed
e4b8c3aa73 OrderedFontMgr utility
Only supports finding / matching, never Making

Change-Id: I81b09e7f3563cab4ed4f0fbfc598781ff3a355aa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401576
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-04-27 18:10:41 +00:00
Brian Osman
4d5711192a Reland "Runtime effects: Detect passthrough sample calls automatically"
As explained, this is *very* conservative. It only works when the child
is sampled from within main, and using a direct reference to the coords
parameter. If that parameter is ever modified (even after being used),
the optimization doesn't happen. For most cases, this is fine.

Reland changes the logic in GrSkSLFP slightly, to avoid turning all
samples into pass-through when a child is sampled with both pass-through
and explicit coordinates.

Bug: skia:11869
Change-Id: Iec18f059b4e78df0d2f53449aa0c2945c58a58f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401677
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-04-27 17:44:31 +00:00
Brian Salomon
5e29e31122 Don't optimize out color attribute in reduced shader mode in GrTextureOp
Bug: skia:11844
Change-Id: If59b0e13270939adb4b504001915c38122a19f0a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401756
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-04-27 17:23:21 +00:00
Jim Van Verth
38162b5955 Remove Metal support on older OSes.
SkSL now requires the array<> feature in MSL, so practically we no
longer support OS versions older than iOS 10.0 and MacOS 10.13. And
because of the shader compilation issues we are no longer testing nor
can we recommend running on MacOS 10.13, so this minimum version is
bumped up to MacOS 10.14.

Bug: skia:10777
Change-Id: I76d9eab4baa1631656d4b10b9ba6c126866b4530
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401816
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-04-27 17:10:53 +00:00
Mike Reed
b2497ddd0e Revert "Revert "onMatchFaceStyle is unused, so remove it""
This relands the idea that onMatchFaceStyle is no longer used, but
leaves the baseclass virtual to stage removing it from client
subclasses.

This reverts commit 3c04a65508.

Change-Id: I18570065249c86f7f155c28288dce3ea9d59f619
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401759
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-04-27 16:40:29 +00:00
skia-autoroll
e40b38ec0b Roll SK Tool from 06b911a1f036 to 33d0c2fe3ee4
https://skia.googlesource.com/buildbot.git/+log/06b911a1f036..33d0c2fe3ee4

2021-04-27 borenet@google.com [autoroll] Fix pre-upload step for vulkan-deps -> angle
2021-04-27 borenet@google.com [autoroll] Fix pre-upload step for vulkan-deps -> chromium

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 borenet@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: borenet@google.com
Change-Id: I89586235f48a9718b597c22833793920c7f9f207
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401741
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-27 16:33:09 +00:00
Jason Simmons
be1c996589 Rename TextShadow.fBlurRadius to fBlurSigma
SkMaskFilter::MakeBlur expects a sigma value, but Flutter/Libtxt had
incorrectly called it a radius.
Change-Id: I9ab1ef7a92370ca4825a65ca6f06e1fe9ac55167
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401496
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
2021-04-27 16:07:09 +00:00
Mike Reed
3c04a65508 Revert "onMatchFaceStyle is unused, so remove it"
This reverts commit 40f2985ec8.

Reason for revert: flutter has subclasses

Original change's description:
> onMatchFaceStyle is unused, so remove it
>
> Change-Id: I2b249d226af1c222edea6ec5f8de0b4d2542e34a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401676
> Auto-Submit: Mike Reed <reed@google.com>
> Reviewed-by: Julia Lavrova <jlavrova@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=bungeman@google.com,reed@google.com,jlavrova@google.com

Change-Id: I455b3f177570cc757442b772edbf969b9544e019
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401757
Reviewed-by: Mike Reed <reed@google.com>
2021-04-27 15:34:30 +00:00
Herb Derby
9b718cb214 guard against nullptr while drawing
I was unable to reproduce the fuzz, but
DirectMaskSubRunNoCache::Make can certainly return nullptr.
Draw nothing when a nullptr is passed.

Bug: oss-fuzz:33618

Change-Id: I6aaa954b87c7d2b19fa96ff5d66de4083a589580
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401516
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-04-27 14:51:09 +00:00
Mike Reed
40f2985ec8 onMatchFaceStyle is unused, so remove it
Change-Id: I2b249d226af1c222edea6ec5f8de0b4d2542e34a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401676
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-04-27 14:45:12 +00:00
Jorge Betancourt
6d970c6033 [androidkit] add custom view for easy navigation between demos
Change-Id: I1614e105eb274738dc1f9eab6674e28afbbe6698
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401079
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2021-04-27 14:02:29 +00:00
Brian Osman
827dab407e Add runtime effect unsharp GM
Bug: skia:11869
Change-Id: Ia6693cd765b5bd2acda147798b79a05ec31bbce5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401436
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-04-27 13:47:00 +00:00
skia-autoroll
e6318b557a Roll ANGLE from 3182095f19bc to d6a91dab3670 (8 revisions)
3182095f19..d6a91dab36

2021-04-26 senorblanco@chromium.org D3D11: update docs (remove SSBO limitation).
2021-04-26 sokcevic@google.com Add CQ for main branch
2021-04-26 syoussefi@chromium.org Vulkan: Fix ASSERT in CreateRenderPass2
2021-04-26 jmadill@chromium.org infra: Add test specs for standalone tests.
2021-04-26 m.maiya@samsung.com Add EXT_primitive_bounding_box entry points
2021-04-26 m.maiya@samsung.com Vulkan: Fix bug in VkImageFormatListCreateInfoKHR
2021-04-26 jmadill@chromium.org Revert "Capture/Replay: Reset GL Fence Sync objects"
2021-04-26 cnorthrop@google.com Tests: Add Candy Crush Soda Saga trace

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

To 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: jcgregorio@google.com
Test: Test: angle_perftests --gtest_filter="*candy_crush_soda_saga*"
Change-Id: I222451d7d069a877a3e309d9a734f78456abde69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401348
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-27 05:01:08 +00:00
skia-autoroll
bbcc2ebe99 Roll Dawn from 221b8b06cc77 to c952097dc65a (8 revisions)
https://dawn.googlesource.com/dawn.git/+log/221b8b06cc77..c952097dc65a

2021-04-27 jiawei.shao@intel.com Remove incorrect ASSERT in ~AsyncWaitableEvent
2021-04-26 bryan.bernhart@intel.com D3D12: Disable GBV when using partial validation.
2021-04-26 cwallez@chromium.org Only add extra warnings when building in standalone.
2021-04-26 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 8f9de8a50954 to 31204afeb025 (3 revisions)
2021-04-26 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 12353bc5fd80 to 8f9de8a50954 (1 revision)
2021-04-26 zhaoming.jiang@intel.com Clean up two unused function declarations
2021-04-26 hans@chromium.org [build] Disable -Wdeprecated-copy(-dtor)
2021-04-26 rharrison@chromium.org Re-enable unittests for Tint

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 12353bc5fd80 to 31204afeb025

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 sarahmashay@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: sarahmashay@google.com
Change-Id: I1564771ba9267dcccae98e881a5ba552b7933f80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401347
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-27 04:45:08 +00:00
skia-autoroll
f6051bdba0 Roll Chromium from 162e27665cb1 to 8bfc5a756697 (384 revisions)
162e27665c..8bfc5a7566

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 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/master/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: jcgregorio@google.com
Change-Id: I0eb25050cc151857cc02bf05605ce0d75ae34678
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401346
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-27 04:40:39 +00:00
Florin Malita
2cc6538c60 [androidkit] VK Surface
Implement support for native VK surfaces via sk_app::WindowContext
wrappers.

Change-Id: Ic4f03b7013095e2e4cfcf94d034d774a96e4af88
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400816
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-04-27 02:55:59 +00:00
Chris Dalton
8e3bca639b Add SkSurfaceProps to GrPathRenderer::CanDrawPathArgs
Bug: skia:11396
Change-Id: If81e33d7433709841a9728e1d1f169fea547a855
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399840
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-04-26 22:30:58 +00:00
Chris Dalton
f285bd12ac Don't use tessellation on secondary Vk cmd buffers
Secondary buffers don't support stencil.

Change-Id: I9c669c9a42cd351e2790b13db7f4d5d5b167a601
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401078
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-04-26 21:29:38 +00:00
Brian Osman
00f3041414 Revert "Runtime effects: Detect passthrough sample calls automatically"
This reverts commit cc3d2d25c5.

Reason for revert: Subtle bug snuck past testing.

Original change's description:
> Runtime effects: Detect passthrough sample calls automatically
>
> As explained, this is *very* conservative. It only works when the child
> is sampled from within main, and using a direct reference to the coords
> parameter. If that parameter is ever modified (even after being used),
> the optimization doesn't happen. For most cases, this is fine.
>
> Bug: skia:11869
> Change-Id: Ia06181730a6d07e2a4fe2de4cc8e8c3402f0dc52
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/397320
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

Bug: skia:11869
Change-Id: Icfc756cde745d450966eaa49f5067a73232635b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401158
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-04-26 21:27:28 +00:00
Joe Gregorio
67baf2dd48 Revert "Add coords parameter to all .sksl test files used as runtime effects"
This reverts commit 22dcb5fd7e.

Reason for revert: Lot's of red Android and Win bots.

Original change's description:
> Add coords parameter to all .sksl test files used as runtime effects
>
> Convert to use the newer MakeForShader factory, which requires this.
>
> Change-Id: Ifaf6054054027c78f3f3fe15596e435e0f79b877
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399336
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

Change-Id: I0fa844c6cf985d16e72c7f26aa217752612dcfc1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401077
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2021-04-26 19:40:30 +00:00
Brian Salomon
c10f688bc4 Don't use single pass blur for small sigmas in reduced shader mode
Bug: skia:11844
Change-Id: I2c329406ca330f1b1deab6989a6ddaa5cd3acbb9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401019
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-04-26 19:29:08 +00:00
Jorge Betancourt
f102b88a43 [androidkit] initial foundation for Android Surface thread management
Change-Id: I6da61fc8f8778f100c721c2812b3c32444c6dffe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398137
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2021-04-26 19:21:08 +00:00
Brian Osman
22dcb5fd7e Add coords parameter to all .sksl test files used as runtime effects
Convert to use the newer MakeForShader factory, which requires this.

Change-Id: Ifaf6054054027c78f3f3fe15596e435e0f79b877
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399336
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-04-26 18:34:38 +00:00
John Stiles
0188b3422b Cleanup pass over UniformCTypeMapper::Get.
This function was inadvertently making a copy of the supported-type list
immediately before iterating over it. This was harmless but is a
significant amount of unnecessary work. (Fortunately it only occurs at
skslc time, so the performance hit was not user-facing.)

Since I was cleaning up the code anyway, converted search loops to use
range-based `for`.

Change-Id: I20727ea8dd19373db14fcd5d29ebe5a22b85b532
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400378
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-04-26 17:00:48 +00:00
Michael Ludwig
3e8ff3ef61 Fix vertex alpha when connector edges intersect inner edges
In the new GM, the left and right portions of the path have a shared
vertex. The two edges leaving that vertex vertically towards the bottom
of the image are nearly parallel but the right edge has a steeper slope.
This leads to two sources of self intersections. The outset vertices
for the left and right sides intersect, which converts some of those
edges into "connecting" edges and removes others (preventing double
hitting of pixels). However, these outset but now "connecting" edges
from the right side also overlap with the inset vertices of the left
shape, requiring additional vertex splitting and connecting edge
creation.

The old alpha logic when one of the intersecting edges was a connecting
edge was to use its interpolated alpha value. In this case, since the
connecting edge originated from two outset vertices, its end point
alphas were 0 and the split alpha became 0, even though the other
intersecting edge was an interior edge.

This CL flips the logic around and ensures that any split vertex that
is on the interior edges remains fully opaque, any vertex that is
fully on the exterior remains fully transparent, and anything else
uses the max of the interpolated alphas (equivalent to the old
logic when one edge was connecting and one was exterior, but is more
accurate if somehow we get two connecting edges intersecting).

Bug: skia:11859
Change-Id: I85d2d54a8833e3c9da2fdd1a4f3a0513119730b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400596
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-04-26 17:00:08 +00:00
John Stiles
119ad7329d Remove superfluous lines from DSL generated code.
The comma-warning issue has since been fixed, and we don't need to
use `(void) var;` when we have C++17's [[maybe_unused]] attribute.

Change-Id: I2078354f06801b024638e9c7d9ac699df20a8c48
Bug: skia:11854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401116
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-04-26 16:40:48 +00:00
Brian Osman
fbc06d831f Switch runtime effect fuzzer to use MakeForShader
New entry point that does stricter checking on SkSL validity.

Bug: skia:11813
Change-Id: Icc8501c108af278e2fe1029859a552ea6ab6eb08
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401056
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-04-26 15:40:58 +00:00
John Stiles
e3fa745a5a Add support for atan() to DSL.
Change-Id: I00cc1e89fd85fdc0ce0860fcb35ececd0eaec50a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400540
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-04-26 15:18:18 +00:00
John Stiles
b9fc6e45c2 Support 'layout(when)' expressions in DSL C++.
This required some changes to how we name variables in DSL.
When-expressions are designed to expect a local C++ variable with the
same name as the layout key. This constraint means our DSLVar variables
CANNOT have the same name as the layout key. Now, all DSL variables are
given a prefix. We try to keep the code tidy by using just a leading
underscore as the prefix, where it's safe to do so. (The C++ naming
rules put some underscore-names out of bounds, but underscore followed
by a lowercase letter is safe.)

Change-Id: Iaa8878042329b9909096f05712d5cf636ea01822
Bug: skia:11854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400623
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-04-26 15:17:38 +00:00
Brian Osman
56ed7daeca Use MakeForShader/ColorFilter in runtime effect tests
Bug: skia:11813
Change-Id: I9748a2806fe4636111fbb5740a3ebdb0814cfc35
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401018
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-04-26 14:44:38 +00:00
John Stiles
08771b00eb Add DSLVar::swap method.
This gives DSLVar the ability to be set up after initial construction.
To do this, we create a plain empty Var, then swap it with the actual
Var we want afterwards. This allows DSL to support Vars which are
`uniform half4` in some cases and `const half4` (or entirely unused) in
other cases.

This technique was adapted from similar code in Ethan's parser CL.

Change-Id: Ic54d037a0102fda77b25d4755caf77a291eaa8c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400716
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-04-26 14:28:48 +00:00
skia-autoroll
c36aae31a4 Roll SK Tool from c16eea521d3a to a714fd3486df
https://skia.googlesource.com/buildbot.git/+log/c16eea521d3a..a714fd3486df

2021-04-26 borenet@google.com [sk] Add tests for `try`

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 borenet@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: borenet@google.com
Change-Id: Ie24e70cde52d8f826c32f42ced525bdf738c2e63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401036
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-26 13:01:08 +00:00
skia-autoroll
adcf2ef54e Roll Chromium from c1593bf1225d to 162e27665cb1 (541 revisions)
c1593bf122..162e27665c

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 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/master/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: jcgregorio@google.com
Change-Id: I6d39cadd23cb2ed09a0b5949c6adc712e18e7d4e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400978
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-26 05:34:58 +00:00
skia-autoroll
7916734921 Roll ANGLE from 1800d1d92bca to 3182095f19bc (19 revisions)
1800d1d92b..3182095f19

2021-04-24 cnorthrop@google.com Tests: Add Higgs Domino Island trace
2021-04-24 lexa.knyazev@gmail.com Metal: update format caps
2021-04-24 timvp@google.com Capture/Replay: Reset GL Fence Sync objects
2021-04-23 jplate@google.com Disable OpenCL support by default
2021-04-23 jplate@google.com Add scrict type checking for reinterpret_cast
2021-04-23 cnorthrop@google.com Tests: Add Gardenscapes trace
2021-04-23 ynovikov@chromium.org Increase kMaxExtensionNames
2021-04-23 jmadill@chromium.org infra: Set MSVC builders to compile-only.
2021-04-23 cnorthrop@google.com Tests: Add Homescapes trace
2021-04-23 jmadill@chromium.org Revert "Remove 'six' from roll_chromium_deps."
2021-04-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 953728c7e200 to cf8ffbca555e (681 revisions)
2021-04-23 jmadill@chromium.org Revert "Temporarily remove 'errorprone_plugin' from roll_chromium_deps."
2021-04-23 m.maiya@samsung.com Vulkan: Update unsized array error
2021-04-23 ynovikov@chromium.org Temporarily remove 'errorprone_plugin' from roll_chromium_deps.
2021-04-23 hans@chromium.org [build] Turn off -Wdeprecated-copy warnings
2021-04-23 gert.wollny@collabora.com Capture/Replay:  Handle bindGeneratesResource in trace meta data
2021-04-23 gert.wollny@collabora.com Capture/Replay: Handle ClientArraysEnabled in trace meta data
2021-04-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 706897cbbf31 to 68b78a05fea2 (3 revisions)
2021-04-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from c597a8af03ef to 112faf441539 (1 revision)

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

To 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: jcgregorio@google.com
Test: Test: KHR-GLES32.core.texture_cube_map_array.texture_size_tesselation_con_sh
Test: Test: angle_perftests --gtest_filter="*gardenscapes*"
Test: Test: angle_perftests --gtest_filter="*higgs_domino_island*"
Test: Test: angle_perftests --gtest_filter="*homescapes*"
Change-Id: I590ddfcf77b56b71c945e652887d7b5873fe03d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400977
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-26 04:52:28 +00:00
skia-autoroll
467103022f Roll Dawn from 02336e6f9993 to 221b8b06cc77 (3 revisions)
https://dawn.googlesource.com/dawn.git/+log/02336e6f9993..221b8b06cc77

2021-04-24 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from ab215981fe11 to 12353bc5fd80 (3 revisions)
2021-04-23 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 05abdf5096fa to ab215981fe11 (5 revisions)
2021-04-23 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 145f865fb1cb to 05abdf5096fa (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 145f865fb1cb to 12353bc5fd80

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: Id6ac50e9d401822b48871706e6b5db929158094f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400976
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-26 04:47:08 +00:00
skia-recreate-skps
8980b65c48 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I20852e762a1fe39bd6eaed9a9b384a039788978a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400530
Reviewed-by: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-04-25 18:43:07 +00:00
Ravi Mistry
4df5672a5b Fix invalid SKP file names
Bug: skia:11897
Change-Id: Ie1130600eaa66bd733e19d81b7de31cb2727f408
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400876
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-04-25 14:17:27 +00:00
skia-autoroll
08ea025607 Roll SK Tool from 56306cbe458a to 45de31c865cf
https://skia.googlesource.com/buildbot.git/+log/56306cbe458a..45de31c865cf

2021-04-25 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com Update CIPD Packages

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

To 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: kjlubick@google.com
Change-Id: I89d057e74bd0d04bd2e7859e090dd8ccc5fc187d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400837
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-25 06:19:26 +00:00
Ravi Mistry
5d8a09ebff Add wait time to ebay pageset
Bug: skia:11898
Change-Id: I0bb58f1d8e9c6ad48148d50b840f152fc158f071
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400538
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-04-24 15:17:04 +00:00
Chris Dalton
d7872aca1d Don't test hw tessellation on dmsaa android
It looks like there are gold issues with hw tessellation on android.

TBR=bsalomon@google.com

Change-Id: I625d244f9d90f7ee6589aa610f7d45117cbaeed9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400528
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-04-24 04:30:34 +00:00
John Stiles
08c6608907 Append f suffix to float literals in DSL C++.
This prevents some ambiguous-expression errors (since we were passing a
`double` typed value into places that only took an `int` or `float`).

(The ambiguous-expression errors were later fixed in
http://review.skia.org/400619, but it's still the right thing to do for
DSL C++ to emit floats.)

Change-Id: I052c9919a9f00cb427dd152722d2f7c370f3f3b4
Bug: skia:11854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400616
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-04-23 23:15:54 +00:00
John Stiles
1dcf46359c Fix sk_Caps support in DSL C++ code generator.
This was almost right, but was missing the trailing () to make a
function call.

Change-Id: I1215a97bb0ac39aceca8ff6bea70af8ff572ef84
Bug: skia:11854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400541
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-04-23 22:20:13 +00:00
Chris Dalton
710e1c9226 Implement dynamic MSAA on OpenGL
This is an initial attempt. We use a few coverage ops that haven't
been updated to handle MSAA yet, and other times we trigger MSAA when
we shouldn't, but it sets the basic functionality in place.

Bug: skia:11396
Change-Id: I8acfe4283bccf5543d4b774692e39427142b3228
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/395996
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-04-23 21:50:03 +00:00
Adlai Holler
b0ada77326 Remove drop-work-before-color-clear while we fix a bug
The current way that we handle merging-with-color-clear ops
tasks has a bug. For the time being, just leave them in and
accept the wasted work. A real fix is on the way.

Bug: skia:11903
Change-Id: I0e2b60a3f9a10be1010b41f905a879b65e9172a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400620
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2021-04-23 21:48:33 +00:00
Michael Ludwig
48f106501c Reland "Stop using copying SkPath::Iter for convexity and contains checks"
This reverts commit 29c06bc82a.

Reason for revert: Convexicator::BySign did not handle count <= 3, which
it previously never encountered because a path with leading moveTos
would actually turn into a sequence of moveTo+close by the forceClose
SkPath::Iter so it'd never actually skip anything.

I updated the code so that BySign checks for count <= 3 after we've
skipped leading moveTos. This means computeConvexity's logic can get
a little simpler, just checking isFinite(), calling into BySign, and
then going into the second pass. Previously, it skipped the first pass
if pointCount <= 3 (using the pointCount before leading moveTos were
skipped).

Lastly, I removed SkPathPriv::IsConvex. It was the other user of
BySign but it was only used in PathTest. I figured it's best to have
a single source of convexity definition rather than having two code
paths that both need to implement the same two-pass behavior.

Original change's description:
> Revert "Stop using copying SkPath::Iter for convexity and contains checks"
>
> This reverts commit 3752760157.
>
> Reason for revert: asan failures
>
> Original change's description:
> > Stop using copying SkPath::Iter for convexity and contains checks
> >
> > This also ensures that consecutive moveTos at the start and end of the
> > path do not affect convexity, and updates AutoBoundsUpdate respects
> > that as well.
> >
> > Bug: 1187385
> > Change-Id: I9d9d7ab7f268003ff12e46873d7b98d993db47fe
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/396056
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Mike Reed <reed@google.com>
>
> TBR=csmartdalton@google.com,reed@google.com,michaelludwig@google.com
>
> Change-Id: I46aaca9c709be7124fc3933f5d02f20f5d2b42ea
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 1187385
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399376
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

# Not skipping CQ checks because this is a reland.

Bug: 1187385
Change-Id: I21159915839911225440c2f65da9bbbd22b77ab3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399377
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-04-23 20:44:33 +00:00
Greg Daniel
1034425bc1 Move cached input descriptor to attachment and off GrVkRenderTarget.
Now each attachment tracks the input descriptor needed for iteself.
There are actaully two input descriptors, one for blending and one for
msaa loading. Annoyingly the only difference between the two is the
layout of the attachment, but there isn't much we can do there.

Bug: skia:11809
Change-Id: Iacd1148d3fe0a95a95afeb5aebb2af9a674e643e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399776
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-04-23 20:12:34 +00:00
Chris Dalton
e0fe23a65e Add a second stencil attachment to GrRenderTarget for dmsaa
As we move toward dmsaa, we need stencil attachments on the single and
multisample attachments both. This is only a temporary solution until
the new surface world is finished.

Bug: skia:11396
Change-Id: I48928343e1fc9fd2e00362a534be9eb3ade92656
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399838
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-04-23 20:01:03 +00:00
Brian Salomon
9a0da785a5 Restore code that sets preserve stencil when breaking up SDC into
multiple opstasks.

Accidentally removed in:
https://skia-review.googlesource.com/c/skia/+/341680

Change-Id: Ic526c4ab0043c91c0446df679bfff46c00e861af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400536
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-04-23 19:38:13 +00:00