Commit Graph

55654 Commits

Author SHA1 Message Date
Robert Phillips
a5dde76252 [ngatoy] Add Save, Restore, and Clip Cmds
In this iteration none of these commands appear in the sorted Cmds (and
the Save and Restore Cmds never will) but it sets things up for ClipCmds
being sorted.

Bug: skia:11837
Change-Id: Ia8be433cb01215c55a8b61de2ec24f5c456a0b10
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417416
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-06-15 13:00:22 +00:00
Robert Phillips
fa0e5bc2d2 Actually make GrContextOptions::fUseNGA GR_TEST_UTILS-only
I accidentally left this out of:

https://skia-review.googlesource.com/c/skia/+/415796 (Add option to switch between OGA and NGA SkGpuDevices)

Bug: skia:11837
Change-Id: I49730b1f338f081512a7fca2d0ca6e1d4cf086be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417536
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-06-15 12:58:33 +00:00
Robert Phillips
1ca0da4b91 Make GrClipStack, GrClipStackClip, and GrReducedClip OGA-only
GrStencilClip and GrStencilMaskHelper just come along for the ride

Bug: skia:11837
Change-Id: I7cfa2dd620b7457e6b6be4abf91b1ecd415d9b73
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417680
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-06-15 12:48:34 +00:00
Jim Van Verth
5856683b9c Wrap MTLRenderCommandEncoder in GrMtlCommandEncoderClass.
This will allow tracking to prevent setting duplicate state.

Change-Id: I7cc72125a5dce9efbd957f1dfffc85ce45681048
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/418146
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
2021-06-15 12:31:47 +00:00
Jorge Betancourt
85ed605159 Revert "Switched SkSL parser APIs from char* + length to string_view"
This reverts commit 2705cbf9bd.

Reason for revert: blocking g3 autoroller

Original change's description:
> Switched SkSL parser APIs from char* + length to string_view
>
> Change-Id: I9f4378b622699d80bef449f9857117e9cc437956
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/418140
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

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

Change-Id: I56fe1b306f2619227b8a2c10b3ab7de30de60bdf
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/418536
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2021-06-15 12:29:09 +00:00
skia-autoroll
b5b7c98295 Roll Dawn from 74f0c02044ca to 2ee28d304f29 (4 revisions)
https://dawn.googlesource.com/dawn.git/+log/74f0c02044ca..2ee28d304f29

2021-06-12 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from c58738a49eda to 906c9cafbb95 (22 revisions)
2021-06-11 cwallez@chromium.org Validate that DS attachment must cover all aspects of the texture.
2021-06-11 bclayton@google.com Wrap call stmts with non-void rets, with ignore()
2021-06-11 rharrison@chromium.org Enable Tint running Dawn try jobs on its CQ

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from c58738a49eda to 906c9cafbb95

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 jrprice@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: jrprice@google.com
Change-Id: I30c2a0ea4bce464f1efa27ba372c1f7428e5b016
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/418157
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-15 04:49:09 +00:00
Chris Dalton
c238572723 Fully enable tessellation on all platforms
Now that fixed-count and convex fills are in, tessellation is expected
to be strictly faster always.

TBR=egdaniel@google.com

Bug: chromium:1163441
Bug: skia:11138
Bug: skia:11139
Change-Id: Ic77d4e2b4c99a113426f566e8ba2df4b4e1d5280
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/418436
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-15 00:36:09 +00:00
Chris Dalton
50c3c24758 Add a simple path cache to the tessellation atlas
This simple cache only remembers the locations of paths in the current
frame, so if multiple draws of the same path occur in a single frame,
they can share the same atlas entry. Its main motivation is for clip
paths.

Bug: b/188794626
Bug: chromium:928984
Change-Id: Ib909a41532cc7bdb802fab8c17f293398cd86356
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/418217
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-14 23:11:39 +00:00
Leandro Lovisolo
ef1f4991a6 Update the "os" dimension of Windows tasks to "Windows-19041".
It looks like all the skia-e-win-* Windows 10 bots have been updated to Windows-19041:

https://chromium-swarm.appspot.com/botlist?c=id&c=task&c=os&c=status&d=asc&f=pool%3ASkia&f=os%3AWindows&k=os&s=id

This CL should fix a number of Test-Win10-Clang-* tasks that are currently failing to execute because no bots match their "os" dimension.

Change-Id: I6b1237cf7c85a2dd9ac1c97bb8cd41a12b859a75
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/418316
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-06-14 22:27:19 +00:00
Ethan Nicholas
2705cbf9bd Switched SkSL parser APIs from char* + length to string_view
Change-Id: I9f4378b622699d80bef449f9857117e9cc437956
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/418140
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-06-14 20:59:52 +00:00
Mike Reed
d6c51edd52 PixelRef is not a flattenable
Change-Id: Idbc64a11c29e3bffcf788ec99cf157b9c5fd0226
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/418056
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-06-12 22:52:40 +00:00
Mike Reed
cd33e4accd purge unused flattenable enums
... on the assumption that we don't need stable values

related: https://skia-review.googlesource.com/c/skia/+/417979

Change-Id: I483309052bc34733a8abe87fb188278d203cd6cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417978
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-06-12 21:59:48 +00:00
John Stiles
bc4bc5f1e2 Add setter API for willReadDstColor FP flag.
Change-Id: I734a91a1497f9b2fe8abcc572c7f60509bb043bd
Bug: skia:12080
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417977
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-06-11 21:27:17 +00:00
John Stiles
9b0841d822 Remove "magic bus-error" pointer reassignment.
Change-Id: I0fe4f239b32c255c950282fe68c8c4c62e839798
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417896
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-06-11 17:26:27 +00:00
Kyle Carlstrom
1907f9051e Expanded PropertyObserver interface to include Node Type
Change-Id: I86b0ab3445f8fe4790492fa1b942c97e3053af9e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417264
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-06-11 17:00:47 +00:00
Mike Reed
bc215ba3bb Web api to expose icu-like functionality
Corresponding C++ interface
https://skia-review.googlesource.com/c/skia/+/416096

Change-Id: I9d9eb2ec9368097171b2f6da99841256eec5b92f
No-Try: true
Docs-Preview: https://skia.org/?cl=415739
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415739
Reviewed-by: Mike Reed <reed@google.com>
2021-06-11 14:44:50 +00:00
Ethan Nicholas
5c75e8322d Moved Settings handling into SkSLFieldAccess
This lets the magic behavior of accessing a field of sk_Caps work from
DSL.

Change-Id: I7d21842023ee74b0d9ca8da44622a11e3a8319c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417682
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-06-11 13:34:17 +00:00
skia-autoroll
dd84dd09f3 Roll ANGLE from d769742c30c2 to 1fcbf77c7397 (12 revisions)
d769742c30..1fcbf77c73

2021-06-11 ianelliott@google.com Vulkan: Fix AGI hierarchy for query commands
2021-06-11 syoussefi@chromium.org Vulkan: SPIR-V Gen: Specialization constants
2021-06-10 ynovikov@chromium.org Roll chromium_revision 6c5859c895..399855f4bb (890175:891326)
2021-06-10 syoussefi@chromium.org Roll VK-GL-CTS from d17a353c6cd4 to 7f2ec8531b64 (15 revisions)
2021-06-10 syoussefi@chromium.org Declare specialization constants in the AST
2021-06-10 jplate@google.com CL: Add program build commands
2021-06-10 jmadill@chromium.org Use Chromium mirror of tools/perf.
2021-06-10 jplate@google.com CL: Add image enqueue commands
2021-06-10 sergeyu@google.com [Fuchsia] Cleanup vulkan_fuchsia_ext.h
2021-06-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 4d0e65d25f37 to d19e20ee6d7d (4 revisions)
2021-06-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 5ecc95a00e2b to 81ba5f47b66c (1 revision)
2021-06-10 gert.wollny@collabora.com test/ImageTest: Clear back buffer when test cleanup

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 adlai@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: adlai@google.com
Change-Id: I4f8307ef28d8f4ae53ff343db8a00b45ec4fa965
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417756
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-11 05:36:48 +00:00
skia-autoroll
34e5b48cea Roll SwiftShader from 81ba5f47b66c to 9559e5836cc1 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/81ba5f47b66c..9559e5836cc1

2021-06-10 nicolascapens@google.com Revert "Remove git submodules before rolling into Android"

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 adlai@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: adlai@google.com
Change-Id: I0b52db629e145febcf6c14ebf475ae91daec51b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417776
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-11 05:36:47 +00:00
skia-autoroll
2a07fd68eb Roll Dawn from f8a0f82fad38 to 74f0c02044ca (1 revision)
https://dawn.googlesource.com/dawn.git/+log/f8a0f82fad38..74f0c02044ca

2021-06-10 yunchao.he@intel.com Refactor CopySplitTests.cpp in unittest D3D12

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 jrprice@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: jrprice@google.com
Change-Id: I645f04ff58b6cd9c0de8e638fa6821c651754601
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417758
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-11 05:31:07 +00:00
Ethan Nicholas
08ac524b43 Added operator= on DSLCase
Needed by DSLParser, and should have been defined anyway.

Change-Id: Ieaabe493a8caef80dda30f2ab35068f358901885
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417677
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-06-10 22:29:24 +00:00
Ethan Nicholas
c94457c4bc Added missing declaration to DSLBlock.h
DSLBlock references SymbolTable without declaring it, getting away with
it only because it was normally imported by other headers.

Change-Id: Iead5c65656604d1c5b65ac3231ee3172350d28ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417676
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-06-10 22:23:14 +00:00
Julia Lavrova
1888466d6b Breaking lines by words, not by graphemes
Change-Id: I3729aa19c47265b5441a542d9e6193c73e910a22
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417557
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-06-10 21:40:34 +00:00
Brian Osman
1f5ee0d00c Remove extra GrSkSLFP constructor
Both Make() factories have a similar pattern now (sharing the simpler
constructor, and appending uniforms in the factory).

Change-Id: I362afd19c9fc0fa45f614df00c232a099ac16b4b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417597
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-06-10 20:40:54 +00:00
Julia Lavrova
ecc8e3bc04 CPP Text Editor
The very first version:
1. Moves cursort up, down, left, right by grapheme/glyph clusters
2. Breaks lines by grapheme/glyph cluster
3. Just started!

Change-Id: Ib2881794ff33af9e428828f3a9e2d3b54946fa8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417476
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-06-10 19:15:04 +00:00
Chris Dalton
7ae272f043 Add a single-pass tessellation Op for convex fills
Bug: skia:10419
Change-Id: I0592adc43c1e426795fce133c37844ea7530058b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/416979
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-06-10 18:47:05 +00:00
Michael Ludwig
9d1cc05100 Add scratch-only version of performDeferredCleanup
Change-Id: I5707d1da1b69ab1ffaa77d7a391a187ac3e8eba1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417267
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-06-10 18:13:23 +00:00
Ethan Nicholas
962dec40cb Removed StringFragment alias in favor of skstd::string_view
Change-Id: I026a8a6b452d4cb8adce4d5d4908aaf2e71f2555
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417516
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-06-10 18:07:03 +00:00
Chris Dalton
628638b1f9 Reland "Wean tessellation off SkPathOps"
This is a reland of 6b2121d0ec

Original change's description:
> Wean tessellation off SkPathOps
>
> Now that chopping and culling are fully implemented, and the indirect
> tessellators are gone, we don't need to crop huge paths anymore. The
> recursive chopping and culling will just do their thing.
>
> Bug: skia:9795
> Bug: skia:11268
> Bug: chromium:800804
> Change-Id: Ie34920c59af67035cf37eead69c5335693703001
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/416080
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Mike Reed <reed@google.com>

Bug: skia:9795
Bug: skia:11268
Bug: chromium:800804
Change-Id: I0d35c309a62e4dc6983b57b0592eac95c69c0889
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417239
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-10 18:03:54 +00:00
Ethan Nicholas
2919bbdab8 Added DSLSymbols
These are new APIs to manage symbols and symbol tables from DSL code,
needed for the upcoming DSLParser.

Change-Id: Ic8d86aebfbcdeb84bd872d8727cdfafbb8db2fd6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/414907
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-06-10 17:07:36 +00:00
Ethan Nicholas
d2e0960696 Removed SkSL::StringFragment in favor of string_view
This CL preserves the "StringFragment" name as an alias for
string_view to reduce the impact. The StringFragment alias
will be removed in a followup CL.

Change-Id: I89209bc626b0be0d0190823b6217f4c83cafe1bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/416736
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-06-10 16:08:13 +00:00
Brian Osman
a1feabd383 Ignore divide by zero in SkColorSpaceXformSteps::apply
We're relying on IEEE behavior here (and checking the result), so this
is safe.

Bug: oss-fuzz:35004
Change-Id: I82cc38f7802455036b34d9afdb525662877f3809
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417201
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-06-10 15:07:40 +00:00
Brian Osman
6285d64027 Support mixing shaders and color filters in runtime effects
Needs more testing, but includes a GM that demonstrates the ultimate
benefit of this: our 3D color LUT demo working as a color filter.

Bug: skia:11813
Change-Id: I97c129c54bcf2cb788c0806b5d9e907ff058bb69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/406296
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-06-10 14:57:49 +00:00
John Stiles
9c19b9f1ff Fix for fuzzer-discovered out-of-bounds array access.
Change-Id: I4280b5710dd8749ba766ba74d7a8886bc4e024bb
Bug: oss-fuzz:35124
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417200
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-06-10 14:32:10 +00:00
Brian Osman
668496b11c Add comment explaining why .stage output looks strange
Change-Id: I2bfc272bc67040edb8b5efb73085a5ef8145b5ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417262
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-06-10 14:15:40 +00:00
Robert Phillips
7b931f8f78 Add possibility of not compiling OGA files
The plan is to be able to compile and test NGA-only, OGA-only and both

Bug: skia:11837
Change-Id: Ib79cc2c2c437c72def8649392b345648f49300fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/416799
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-06-10 13:10:19 +00:00
Robert Phillips
fdad22960e [ngatoy] Strictly differentiate between painter's order and the sort/draw Zs
Bug: skia:11837
Change-Id: I038aee81e41201668f891df9d589459553b757b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417259
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-06-10 12:37:39 +00:00
Robert Phillips
1f6ca3a950 [ngatoy] Make an explicit ID class and simplify Cmd class
Bug: skia:11837
Change-Id: I44b8f02555c1ed7e2f1bf0872bf41f78d1eb5d25
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417003
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-06-10 12:32:20 +00:00
skia-autoroll
2a3fb1baa1 Roll ANGLE from 69f2fb0066e8 to d769742c30c2 (5 revisions)
69f2fb0066..d769742c30

2021-06-10 syoussefi@chromium.org Vulkan: SPIR-V Gen: Default uniforms
2021-06-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 3bcc8fd7c291 to 6c5859c895f5 (510 revisions)
2021-06-09 gert.wollny@collabora.com Capture: Add a specialization for TGLeglImageOES
2021-06-09 pkasting@chromium.org Fix -Wc++11-narrowing in ANGLE.
2021-06-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 11d5b8e51262 to 4d0e65d25f37 (13 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 adlai@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: adlai@google.com
Change-Id: Ic6b11c5ad392482580f665d9262e9eb313d376cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417357
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-10 05:31:09 +00:00
skia-autoroll
843b9ae6c6 Roll SwiftShader from 5ecc95a00e2b to 81ba5f47b66c (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/5ecc95a00e2b..81ba5f47b66c

2021-06-10 srisser@google.com Prevent BC6h decoder from using global constructor

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 adlai@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: adlai@google.com
Change-Id: Ic159b209b694fb456d13917674cd80ada43394fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417358
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-10 05:05:19 +00:00
skia-autoroll
11dbd875bc Roll Dawn from 9c375faf4cba to f8a0f82fad38 (10 revisions)
https://dawn.googlesource.com/dawn.git/+log/9c375faf4cba..f8a0f82fad38

2021-06-10 enga@chromium.org Move zero-size copy skips from the frontend to the backend
2021-06-10 hao.x.li@intel.com Add invalidExtension in WGPUDeviceProperties
2021-06-09 yunchao.he@intel.com Impl 3DTexture copy splitter for empty first row on D3D12 - 2
2021-06-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 3b267173776b to c58738a49eda (6 revisions)
2021-06-09 bajones@chromium.org ComputePipelineDescriptor.computeStage->compute
2021-06-09 yunchao.he@intel.com Implement copy for 3D texture on D3D12: non-zero mip
2021-06-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 6a7a8b42e84c to 3b267173776b (2 revisions)
2021-06-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from fc645f748969 to 6a7a8b42e84c (3 revisions)
2021-06-09 hao.x.li@intel.com Disallow pipeline statistics query as UnsafeAPIs
2021-06-09 cjj19970505@live.cn Add support for windows SwapChainPanel in SwapChain and Surface

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from fc645f748969 to c58738a49eda

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 jrprice@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: jrprice@google.com
Change-Id: I6754a76c35891f130349eaed3e7a3ee59e2002f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417302
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-10 04:51:19 +00:00
Chris Dalton
198ac15a90 Reland "Fix tessellation checks for "usesVaryingCoords""
This is a reland of bd727d0620

TBR=jvanverth@google.com

Original change's description:
> Fix tessellation checks for "usesVaryingCoords"
>
> We can't use our hardware tessellation back door if any FPs in the
> program have varyings. Before this CL, we were forgetting to check the
> clip FP for strokes, and weren't checking any FPs yet for fills.
>
> Bug: skia:10419
> Change-Id: Ica631ab3cf0407fb359c02c6d53f88f5f301cddc
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417237
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

Bug: skia:10419
Change-Id: If8c1e18efc663641b2d565314110f66a6840f8bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417317
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-09 23:56:29 +00:00
Chris Dalton
7391511f7b Fix compiler error in TessellateBench.cpp
Change-Id: I09cde57375a742355ff4498549fb8f57299f4610
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417316
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-06-09 22:30:24 +00:00
John Stiles
50d0d097c3 Add dest-color support to the Pipeline stage.
Previously, when converting a program, the pipeline stage could assume
that an input to main() of type half4/float4 was always the input color.
This was a good assumption since the only possible inputs were
coordinates, or the input color.

This CL now recognizes that when a second float4 is passed to the main()
function, it should be a SK_DEST_COLOR_BUILTIN. This will let blend
functions pass in two colors.

ProgramToSkVM now takes a dest-color argument as well, but existing call
sites won't reference it (since they aren't for blend functions). I've
just passed the input-color a second time, since the value will never
actually be accessed.

Change-Id: I4214586bda605c6d287aa25b1b099e6ef5ba15a4
Bug: skia:12080
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417261
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-06-09 22:09:21 +00:00
Jim Van Verth
5d1599f69d Revert "Fix tessellation checks for "usesVaryingCoords""
This reverts commit bd727d0620.

Reason for revert: Breaking builds.

Original change's description:
> Fix tessellation checks for "usesVaryingCoords"
>
> We can't use our hardware tessellation back door if any FPs in the
> program have varyings. Before this CL, we were forgetting to check the
> clip FP for strokes, and weren't checking any FPs yet for fills.
>
> Bug: skia:10419
> Change-Id: Ica631ab3cf0407fb359c02c6d53f88f5f301cddc
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417237
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

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

Change-Id: I30d29f078d7b8cef146463feaaec0883ba5b9872
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10419
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417265
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-06-09 22:09:03 +00:00
Jim Van Verth
d51d62eb09 Fix available check for MTLLanguageVersion
Change-Id: If0fa83a50d149cf456e313553ee43467c9b928a3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417263
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-06-09 21:58:44 +00:00
Brian Osman
a784914e74 Rudimentary SkRuntimeImageFilter
This is really just a runtime shader with a late-bound input.

Bug: skia:12074 chromium:1213217
Change-Id: Ie92650a3e1e03d0c43ce4745eb33d49d582094f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/416476
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-06-09 21:46:24 +00:00
Chris Dalton
9e67891b72 Revert "Wean tessellation off SkPathOps"
This reverts commit 6b2121d0ec.

Reason for revert: Perf regressions:

https://perf.skia.org/t/?begin=1623217407&end=1623217409&subset=all

Original change's description:
> Wean tessellation off SkPathOps
>
> Now that chopping and culling are fully implemented, and the indirect
> tessellators are gone, we don't need to crop huge paths anymore. The
> recursive chopping and culling will just do their thing.
>
> Bug: skia:9795
> Bug: skia:11268
> Bug: chromium:800804
> Change-Id: Ie34920c59af67035cf37eead69c5335693703001
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/416080
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Mike Reed <reed@google.com>

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

Change-Id: I265bd6991627b435a2a656cf9080b7e9d17e5ded
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9795
Bug: skia:11268
Bug: chromium:800804
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417238
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-09 21:44:25 +00:00
Chris Dalton
bd727d0620 Fix tessellation checks for "usesVaryingCoords"
We can't use our hardware tessellation back door if any FPs in the
program have varyings. Before this CL, we were forgetting to check the
clip FP for strokes, and weren't checking any FPs yet for fills.

Bug: skia:10419
Change-Id: Ica631ab3cf0407fb359c02c6d53f88f5f301cddc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417237
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-09 21:38:44 +00:00
Brian Osman
03f1d12b64 Allow image filters to require a translation-only layer transform
Will be used for first version of runtime image filters.

Bug: skia:12074
Change-Id: I2d7fc3af77d5df8182fd3f3d8da888e20ee05b34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/416778
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-06-09 21:34:44 +00:00