Commit Graph

53593 Commits

Author SHA1 Message Date
Mike Klein
c481dd69bb split --gold off from --bot
There are bots (*SAN) that won't ever be uploading to Gold,
so *bot != "" doesn't really describe the right condition.

We could do this logic inside fm_driver.go based on *bot,
but I kind of want the flexibility to do things like upload
local ad-hoc runs or sanitizer runs if we want using --gold.

Change-Id: Id972d8b0097616c5b2802bc99c2718fdd1568fe3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/366139
Reviewed-by: Mike Klein <mtklein@google.com>
2021-02-04 12:31:45 +00:00
Mike Klein
3c8444e18e NativeFonts, the fm_driver way
Why have other bots when we can do it all here?

Change-Id: I6a3f3c2ed5d19a3b8ecf59f44cc0d2f6076bba7f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/366138
Reviewed-by: Mike Klein <mtklein@google.com>
2021-02-04 11:02:26 +00:00
Mike Klein
6738e2b9c7 rearrange wg use
There's no need to tick wg up and down when running reruns, and as
written it's possible for the overall fm_driver program to exit before
one last call to endStep() has happened.  Simply calling wg.Done() once
per item dequeued outside worker() fixes both.

Change-Id: I0fb0acc5a3f2c624dfc14f875fa094db6dd40838
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/366137
Reviewed-by: Mike Klein <mtklein@google.com>
2021-02-04 10:45:52 +00:00
Mike Klein
fa962f583a rerun only what makes unknown hashes
If a batch fails, we've got to rerun everything (or at least from the
failure on), but when it's merely unknown hashes, no need to rerun
what's produced hashes we know already.

Small tweak to FM to keep all the printed source names exactly what's
passed in, keeping the whole path for skp/svg/image files.  This means
zero bookkeeping needed to know what to rerun when parsing that output.

Change-Id: I1e7ed3ee51158b68a6bdd3152560f3a282109576
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365818
Reviewed-by: Mike Klein <mtklein@google.com>
2021-02-04 10:22:52 +00:00
Mike Klein
574a453b15 introduce steps
Now with ctx scoping fixed,
and steps nested just how I like them.

Change-Id: Ifa43a432faddbafaae118ab0b16f710b695b5377
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365504
Reviewed-by: Eric Boren <borenet@google.com>
2021-02-04 10:22:10 +00:00
Mike Klein
9e189aab1e don't shuffle sources destructively
Change-Id: Ib9bcb811068bfaff518c97db59cfd13e237d7f74
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/366136
Reviewed-by: Mike Klein <mtklein@google.com>
2021-02-04 10:16:57 +00:00
skia-autoroll
8043b78755 Roll SwiftShader from 51045556acd0 to 14dcbed947ce (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/51045556acd0..14dcbed947ce

2021-02-03 liyl@google.com Fix macOS arm64 cross compiling.

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: robertphillips@google.com
Change-Id: Ic0e24f9a8c0213a9ed1f68c31b49ce50e8201250
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/366018
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-04 06:13:57 +00:00
skia-autoroll
c66754bd4d Roll Dawn from fd5fd05db039 to d5a0728b67c8 (14 revisions)
https://dawn.googlesource.com/dawn.git/+log/fd5fd05db039..d5a0728b67c8

2021-02-04 hao.x.li@intel.com Add end2end tests for noop direct and indirect dispatches
2021-02-04 hao.x.li@intel.com Skip noop dispatch in front-end
2021-02-04 ehmaldonado@google.com Move metadata in OWNERS files to DIR_METADATA files
2021-02-03 enga@chromium.org Add a Reserved state for dawn_wire ObjectId allocations
2021-02-03 rharrison@chromium.org Re-enable Mac ShaderTests
2021-02-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from c694d43c75f4 to b17aea159c32 (3 revisions)
2021-02-03 rharrison@chromium.org Update ComputeLog2 to be more valid
2021-02-03 enga@chromium.org Always output the wire trace with the injected error format
2021-02-03 senorblanco@chromium.org Roll third_party/glfw/ d973acc12..947731113 (157 commits)
2021-02-03 senorblanco@chromium.org Fix SwANGLE DeviceType and OpenGL ES DeviceType checking.
2021-02-03 rharrison@chromium.org Add ComputeLog2 test
2021-02-03 yunchao.he@intel.com Implement 3D textures and views creation on Vulkan/Metal/GL
2021-02-03 senorblanco@chromium.org Revert "Fix SwANGLE DeviceType and OpenGL ES DeviceType checking."
2021-02-03 senorblanco@chromium.org Fix SwANGLE DeviceType and OpenGL ES DeviceType checking.

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from c694d43c75f4 to b17aea159c32

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 cwallez@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: cwallez@google.com
Change-Id: I865233882ad7b9e5691e1a3cceb2eda34f1d8095
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/366017
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-04 05:57:47 +00:00
skia-autoroll
b7f6b7493f Roll ANGLE from 6cc845bb0a60 to 63e7ab8d636d (11 revisions)
6cc845bb0a..63e7ab8d63

2021-02-04 cnorthrop@google.com Tests: Add One Punch Man trace
2021-02-04 timvp@google.com Capture/Replay: Support glCopyImageSubData with compressed formats
2021-02-04 cnorthrop@google.com Tests: Add 8 Ball Pool trace
2021-02-03 jmadill@chromium.org Fix the perf test runner calibration.
2021-02-03 m.maiya@samsung.com Vulkan: Add ExtendedDirtyBitType bitset
2021-02-03 jmadill@chromium.org Test Runner: Pick single/multi-process mode automatically.
2021-02-03 cnorthrop@google.com Tests: Add Temple Run 2 trace
2021-02-03 cnorthrop@google.com Tests: Add Minecraft trace
2021-02-03 cnorthrop@google.com Tests: Add RAID: Shadow Legends trace
2021-02-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 51045556acd0 to 14dcbed947ce (1 revision)
2021-02-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 3535b64d3f52 to 6b006f95bb79 (528 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 robertphillips@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: robertphillips@google.com
Test: Test: angle_perftests --gtest_filter="*eight_ball_pool*"Test: Test: angle_perftests --gtest_filter="*minecraft*"Test: Test: angle_perftests --gtest_filter="*one_punch_man*"Test: Test: angle_perftests --gtest_filter="*raid_shadow_legends*"Test: Test: angle_perftests --gtest_filter="*temple_run_2*"
Change-Id: I53f8956b30ecdf3e415ec5fcd45ca3460f71b610
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/366036
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-04 05:54:47 +00:00
skia-autoroll
2d8a595433 Roll Chromium from 4e5b4f3a094d to 782ff20a9dc1 (498 revisions)
4e5b4f3a09..782ff20a9d

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 robertphillips@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: robertphillips@google.com
Change-Id: I893c8c7300035d69612f2d380bd8ca4df5223927
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/366016
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-04 05:49:29 +00:00
Nathaniel Nifong
1d35777a4f Run mskp skpbench on galaxy s20s
Change-Id: Ic56030abf1296d2a6c5763478ec0f85b1a772f99
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365517
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2021-02-04 04:44:07 +00:00
Brian Osman
d76d1863f9 Remove 'f' prefix on SkRuntimeEffect::Uniform struct
Change-Id: Ibb48d30b9c0d80db3bf7b92d8c4a60bd9ce6839d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365696
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-02-04 01:57:53 +00:00
John Stiles
38df4c8470 Revert "Improve support for arrays in Metal."
This reverts commit dd904af566.

Reason for revert: breaks ANGLE

Original change's description:
> Improve support for arrays in Metal.
>
> Arrays in Metal now use the `array<T, N>` type instead of the C-style
> `T[N]` type. This gives them semantics much more in line with GLSL,
> so they can be initialized and assigned like GLSL arrays.
>
> This allows the ArrayTypes and Assignment tests to pass, so they have
> been added to our dm SkSL tests. (ArrayConstructors also passes, but
> is not ES2-compliant so it is not enabled.)
>
> Change-Id: Id1028311963084befd0e044e11e223af6a064dda
> Bug: skia:10761, skia:10760, skia:11022, skia:10939
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365699
> Commit-Queue: John Stiles <johnstiles@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

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

Change-Id: If6a18dea7d6a45fa7836e9129bf81c2e536f07e3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10761
Bug: skia:10760
Bug: skia:11022
Bug: skia:10939
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365976
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-02-04 00:50:34 +00:00
Brian Salomon
d48f9daeb5 fix for preabadoncontext after SkImage_Base::asView
asView may fail in makeTextureImage.

Bug: skia:11208
Change-Id: I31090f8e05aad5cf0d530b31cfac328d3b9ed292
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365700
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-02-04 00:13:22 +00:00
John Stiles
ecd2036eae Migrate more SkSL tests to run in dm.
- CastsRoundTowardZero
- Functions
- GeometricIntrinsics
- HelloWorld
- Hex

Other test updates:
- DeadLoopVariable (for-loop structure incompatible with ES2)
- FunctionPrototype (RTE currently disallows calling undef'd functions)
- HexUnsigned (unsigned types incompatible with ES2)

Change-Id: I794bee24dfac55281c9b8b130529888ba2546290
Bug: skia:11009
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/364678
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-02-03 23:45:15 +00:00
Jim Van Verth
2af58b0377 Add std430 offset support
Change-Id: I37b7688b660ff4840cfb2bb5ddd348c1ba684fe6
Bug: skia:5039
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365488
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-02-03 23:37:29 +00:00
Julia Lavrova
efae4d56e1 Glyph positions in empty lines (few places had to be fixed)
Bug: skia:11259
Change-Id: I6aa24f9f1f95698d39dbc2ae0e6836f404fd0b24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365491
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-02-03 23:05:38 +00:00
Brian Osman
4d76f63e45 Fix particle bug where uniforms are allocated too late
Also adds an example particle system that uses uniforms, and an instance
of the particles GM that draws it.

Change-Id: I64e2514fd17c8ce615b4e13b9f82424f80b8424e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/356840
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-03 22:50:28 +00:00
John Stiles
dd904af566 Improve support for arrays in Metal.
Arrays in Metal now use the `array<T, N>` type instead of the C-style
`T[N]` type. This gives them semantics much more in line with GLSL,
so they can be initialized and assigned like GLSL arrays.

This allows the ArrayTypes and Assignment tests to pass, so they have
been added to our dm SkSL tests. (ArrayConstructors also passes, but
is not ES2-compliant so it is not enabled.)

Change-Id: Id1028311963084befd0e044e11e223af6a064dda
Bug: skia:10761, skia:10760, skia:11022, skia:10939
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365699
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-03 22:33:19 +00:00
John Stiles
248f57b39b Reject array constructors with the wrong number of elements.
We now catch this error at IR generation time; previously we'd send it
to the driver (where it would fail to compile).

Change-Id: I45890214ffa164be1c0f359320f942bc4dc479ca
Bug: skia:11265
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365697
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-02-03 22:33:02 +00:00
Brian Osman
f863721ccc Remove 'f' prefix on SkRuntimeEffect::Varying struct
Change-Id: I10184e60617f65a513980e5389f226f2ebe3eb46
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365656
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-03 22:28:48 +00:00
Herb Derby
e5ed50b2c8 notify type size for SkGlyphScaler_remote
Add type size so we can check that the UWA failures are
happening on the size boundaries between direct and
SDF, and SDF small to SDF medium.

Bug=skia:11241

Change-Id: I7d0823ab1fb4c9c8db13ba884a2b2454ba4bf210
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365636
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-02-03 22:13:48 +00:00
Julia Lavrova
e1db1fb6df Grapheme clusters and glypheme clusters edges don't match.
Bug: skia:11163
Change-Id: I8ba13c13843a2c04f3257a6857ba1a2a813dba76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/361636
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-02-03 22:06:59 +00:00
Mike Klein
f71278c993 add ASAN/TSAN Mac and ASAN/MSVC Win FM bots
These *SAN bots should be able to replace some of the Test- bots on our
tree, and the MSVC one is just another we'll need eventually.
(Similarly we'll want GCC on Linux, but I don't know how to Docker.)

Change-Id: Ied4519626f1e13bb31fcb30f37cbd1b24133aa71
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365597
Reviewed-by: Eric Boren <borenet@google.com>
2021-02-03 20:53:44 +00:00
John Stiles
56233d1379 Migrate matrix SkSL test to dm.
This uncovered a bug in Metal code generation of `matX *= matY` which is
now fixed. (It was emitting the helper function more than once.)

Change-Id: I0aeb0efe7ab5fbf5592a8ca6f4f5b50354d3d7f4
Bug: skia:11262
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365489
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-02-03 20:42:57 +00:00
Mike Klein
7fc0971a0d remove Test bots covered by FM bots
I've been waiting to replace bots until they were uploading to Gold, but
these *SAN bots don't upload anything, so we're at parity there already.

I've just remembered the Mac ASAN/TSAN bots and the Windows ASAN bots,
so I'll be following up to replace them too.

Change-Id: Ia3edfda64091e4407a1131073829b74f22b32b71
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365596
Reviewed-by: Eric Boren <borenet@google.com>
2021-02-03 20:36:22 +00:00
Mike Klein
0131c3241f move FM mac bots again
I swear yesterday we had ~10 unused 10.14 bots...

Anyway, as with the last move, I don't really care where these bots are
running, so long as they have enough machines to schedule reaonably
quickly.  This switches their spec to the default "Mac", which is
currently 19 VMs running 10.15.7 on trashcan Mac Pros.

Similarly, Win2019 -> Win.  This is a change in bot name only, just to
capture the "I'll take whatever's default" spirit.  I'd use Linux or
Debian too if there were one.

Change-Id: Ifa7615735c660018a5f3f46f4d8035e0b5bf8141
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365518
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Weston Tracey <westont@google.com>
2021-02-03 20:35:55 +00:00
Brian Salomon
507c5659d7 Revert "Add backend texture and backend render target versions snapshot GMs"
This reverts commit fa87f9c7b9.

Reason for revert: assert on n5x/n7

Original change's description:
> Add backend texture and backend render target versions snapshot GMs
>
> GPU may behave differently depending on whether the SkSurface backing
> store is wrapped and whether it is a texture or not.
>
> Bug: skia:11208
> Change-Id: I5e9921d56c0840cfe34ed2926a55be7460409b23
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/364639
> Reviewed-by: Adlai Holler <adlai@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,robertphillips@google.com,adlai@google.com

Change-Id: Id1488586e2d17cdce35f95ea6aa9b2bffd9218d0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11208
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365698
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-02-03 20:32:18 +00:00
Mike Klein
3f041f8f15 reland: make brianosman a public API owner
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365519
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Change-Id: If40716b1282443d0336488f14e8463b298a1f46d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365508
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-03 20:27:17 +00:00
Jim Van Verth
7d338c2c3f Add basic support for vkCmdPushConstants.
Adds in methods that allow us to set push constants through
the command buffer.

Change-Id: I8c238d2e46d92d128d91d87f7225bca099e9117a
Bug: skia:5039
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/364856
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-02-03 20:15:16 +00:00
Greg Daniel
733ab11058 Reland "Remove gpu buffer reads from default path renderer."
This reverts commit 30b355a49e.

Reason for revert: relanding with fix

Original change's description:
> Revert "Remove gpu buffer reads from default path renderer."
>
> This reverts commit 64241b8edb.
>
> Reason for revert: hitting new assert on starting point
>
> Original change's description:
> > Remove gpu buffer reads from default path renderer.
> >
> > I don't actually expect to see much perf gain from this one because the
> > reads happen when we've run out of space in our vertex buffer and need
> > a new allocation. So they happen pretty rarely.
> >
> > Change-Id: Iabe2e7cebf363659180409075a1a7fc6c03d0a22
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/364618
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > Reviewed-by: Chris Dalton <csmartdalton@google.com>
>
> TBR=egdaniel@google.com,csmartdalton@google.com
>
> Change-Id: I4c160ee692222f7c64cc63db2044fdc958eae551
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365482
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,csmartdalton@google.com

# Not skipping CQ checks because this is a reland.

Change-Id: I97d613ca9adef0d425cc5ab22923d95297ca0afe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365486
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-02-03 20:12:27 +00:00
Ethan Nicholas
e2c0504c27 Moved SkSL error checking of break / continue / return into a
separate pass.

This makes things easier for the DSL, which allows us to create
nodes without knowing whether they're going to be valid until they
are inserted. Moving these checks into a separate pass allows the
DSL to use the same error handling and type coercion as the normal
code path.

Change-Id: I9c26bd7a15a6c819df39a2214fdeab47ed6d8ee4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/362496
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
2021-02-03 19:10:50 +00:00
Brian Salomon
d0924f3ba9 Replace SkImage_Base::view() and ::refView() with new asView().
Make SkImage_Gpu and SkImage_GpuYUVA have their own implementations
rather than sharing one in SkImage_GpuBase.

New function takes a GrImageTexGenPolicy to enable caller to
force a new texture to be made and choose it's budgeting status rather
than receive a cached view or a view owned by the image.

It also communicates any color type changes when converting a non-
texture image to a texture.

Bug: skia:11208
Change-Id: I6b389442bf9752276a83b21021070e3190610cd7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/361356
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-02-03 19:05:49 +00:00
John Stiles
d80f966d25 Run SkSL tests with and without inlining.
Change-Id: Ie0f5485acf2a87321e881e98dc11115ab80dff95
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365484
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-03 18:50:49 +00:00
John Stiles
20e92f77e2 Update SkRuntimeEffect::Make to take an Options struct.
This allows us to control the inline threshold of runtime effects in a
thread-safe way.

The new Make API now returns a struct, for readability; the old Make API
continues to return a tuple.

The old Make function is deprecated and subject to removal. You can
migrate to the new API by passing a default-constructed Options struct.
In this case there will be no difference in behavior.

Change-Id: Ic62d6f294f596d0a61095e35a87ccdbbe0b1cf93
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/363785
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-02-03 18:03:49 +00:00
Brian Osman
360035c244 Particle cleanup
Remove/rename some fields now that data migration is done, adjust
comments to reflect new data, etc.

Change-Id: I77a8ff182fc73699407eb711a54cf5642f23c257
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365480
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-03 17:59:49 +00:00
Mike Klein
4228186301 Revert "make brianosman a public API owner"
This reverts commit 4ac25118b5.

Reason for revert: missing comma :|

Original change's description:
> make brianosman a public API owner
>
> ... and sort, and remove dead emails
>
> Change-Id: I0ef35918a5b4539559319c32b95109ca7c66f87c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365519
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=djsollen@google.com,mtklein@google.com,bsalomon@google.com,hcm@google.com,brianosman@google.com,reed@google.com

Change-Id: Ie3ac51c82c83e8b76fc3933f4f68938f608e32d5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365507
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-03 17:56:51 +00:00
Mike Klein
4ac25118b5 make brianosman a public API owner
... and sort, and remove dead emails

Change-Id: I0ef35918a5b4539559319c32b95109ca7c66f87c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365519
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-02-03 17:56:11 +00:00
Kevin Lubick
70b6729a05 [canvaskit] Add error callback for runtime effect constructor
It would otherwise be difficult/tedious/not-backwards-compatible
to return the RuntimeEffect AND the error message.

Change-Id: I9bdbafb653398ccbb72e6e762ec4b6af294f9110
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365483
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2021-02-03 17:35:23 +00:00
Herb Derby
1db274d0b9 add sample output to skpbench
Change-Id: I67338888313b11dceec1548e3e031cff92bf46f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/364956
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2021-02-03 17:25:59 +00:00
Mike Klein
840472529d wire up images/skps/svgs
This also marks the glorious return of td.FailStep() as the answer to my
question "now how do I find my failures in this giant list?"

Change-Id: I15f98862d77942f2e289dc626da8643789a91d48
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/364838
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2021-02-03 17:18:19 +00:00
Brian Salomon
fa87f9c7b9 Add backend texture and backend render target versions snapshot GMs
GPU may behave differently depending on whether the SkSurface backing
store is wrapped and whether it is a texture or not.

Bug: skia:11208
Change-Id: I5e9921d56c0840cfe34ed2926a55be7460409b23
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/364639
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-02-03 17:03:01 +00:00
John Stiles
c112932089 Remove unreachable-code workaround that is no longer used.
Our unreachable-code analysis contained a one-off workaround to ignore
the `false` expression in `do {...} while (false)`, because this
construct was synthesized by the inliner. However, the inliner no longer
generates do-while loops, and we have BasicBlock::fAllowUnreachable to
flag blocks as potentially-not-reachable. So this check no longer added
value, and removing it doesn't affect any tests.

Change-Id: Idb94be2497d9ead377531b5d5e961d279940fc88
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365477
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-02-03 17:02:51 +00:00
Nathaniel Nifong
9109dc17af Skpbench: perform core locking functionality into generic hardware profile
Change-Id: Id1c7d156276bca53f8cbac64997ad3f1c139cf4b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/364836
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2021-02-03 16:40:19 +00:00
Mike Klein
0b233d7498 update naming style guide
Change-Id: Icce1e029dd4d310b657cb66658ff5493beb90b9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365522
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-02-03 16:25:22 +00:00
Greg Daniel
30b355a49e Revert "Remove gpu buffer reads from default path renderer."
This reverts commit 64241b8edb.

Reason for revert: hitting new assert on starting point

Original change's description:
> Remove gpu buffer reads from default path renderer.
>
> I don't actually expect to see much perf gain from this one because the
> reads happen when we've run out of space in our vertex buffer and need
> a new allocation. So they happen pretty rarely.
>
> Change-Id: Iabe2e7cebf363659180409075a1a7fc6c03d0a22
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/364618
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Chris Dalton <csmartdalton@google.com>

TBR=egdaniel@google.com,csmartdalton@google.com

Change-Id: I4c160ee692222f7c64cc63db2044fdc958eae551
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365482
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-02-03 16:23:01 +00:00
Kevin Lubick
5feaeb24d0 [canvaskit] Fix particles.setPosition and add test.
Change-Id: I49043df9e8fdf9ac7f5b25164a1c577f3c569b94
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365478
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-03 15:52:23 +00:00
Greg Daniel
64241b8edb Remove gpu buffer reads from default path renderer.
I don't actually expect to see much perf gain from this one because the
reads happen when we've run out of space in our vertex buffer and need
a new allocation. So they happen pretty rarely.

Change-Id: Iabe2e7cebf363659180409075a1a7fc6c03d0a22
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/364618
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2021-02-03 15:30:49 +00:00
Mike Klein
d50ac5c626 break huge conversions into batches
skcms_Transform(...,N) requires N*bpp to fit in int, but the full
unclipped tabl_mozilla.skp is too big for that.  So break the work up
into calls of no more than 2^27 pixels, i.e. max 1GB at a time.

We could change skcms or clip tabl_mozilla.skp, but this seems fun.

Change-Id: Iaa0b8268851160c179b9501a09ca769b363dafe3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/364417
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-03 14:51:10 +00:00
John Stiles
cd067feb1c Move the default inline threshold to SkSLDefines.h.
Change-Id: Idf3f95ce3d0467c8273c627227c2e6bb16d04614
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/364837
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-03 14:46:09 +00:00