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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
This is a reland of bd727d0620TBR=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>
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>
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>
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>
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>
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>
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>
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>
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>
Bug: skia:12083
Change-Id: I0a51d813666b9c1f978f97db615b072ede020a0d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417257
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
This is a reland of 61c7888dfa
Original change's description:
> Plumb the full dst color info through color filters in SkVM
>
> Used in https://skia-review.googlesource.com/c/skia/+/406296
> to evaluate shaders (as children of color filters) correctly.
>
> Change-Id: I2337b062da3fded9e61efe21c6cf74ef08a56753
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/416998
> Reviewed-by: Mike Reed <reed@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
Change-Id: Ibd4284f714a33a526515b972c9e18c4b15a74d95
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417256
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Not sure where this paramVars.empty() check came from, but it shouldn't
be there.
Change-Id: I6b31f662a0955a3018e338e08fb246978354f1b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417260
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
This is a reland of 43c713d5cd
Original change's description:
> Validate argument types to GrSkSLFP::Make (in debug builds)
>
> Change-Id: I399e6b30c85ce19f6af94baca60ac998d9673e61
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/416999
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>
Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian10-GCC-x86_64-Debug-Docker
Change-Id: Ib66690ba1ba2703b53d94a0d3f40b77a11680402
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417199
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Should be guarded by the Skottie build flag.
Change-Id: I4e895a3759d19248fe0770dce710a0ef78c780b7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/417007
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>