Commit Graph

57951 Commits

Author SHA1 Message Date
Jorge Betancourt
f2e90d3005 add skottie support for Bulge ADBE effect
This effect does not yet support pinned edges or taper

also sneak in a filename change (CCToner) to keep all effect names standard

Change-Id: I17f2b5463408556775bc12a972358abd4d8d8690
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467319
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
2021-11-04 21:05:22 +00:00
Brian Osman
88117ab843 Improve the skvm debug panel
Use SkVMBlitter::DebugName for the string. This is easier to read, and
has some actually useful information about the blitter.

Added magenta highlight of the hovered element, similar to the GPU.

Change-Id: Ic9b5a0f61e092c8aa555f375d5d2f2de22cc45fe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467977
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-11-04 21:02:21 +00:00
Brian Salomon
37da672b14 Remove SkRuntimeEffect from DrawVerticesOp
It's vestigial.

Change-Id: I63791bd78e565faf203eefe1537699e924446d85
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467978
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-11-04 20:38:44 +00:00
Avery Musbach
a05d3029ac Fix skottie::PropertyHandle export
Bug: chromium:1266877
Change-Id: I6000d0dd8c9214aa37c1956834d6a14db151c929
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467956
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
2021-11-04 19:00:27 +00:00
skia-autoroll
721d95c17f Roll ANGLE from 270a2c0ef4ee to 8c9b8f03e0f3 (3 revisions)
270a2c0ef4..8c9b8f03e0

2021-11-04 timvp@google.com Capture/Replay: Don't finish() destroyed Contexts
2021-11-04 cnorthrop@google.com Skip world_cricket_championship_2 Intel Linux
2021-11-04 cnorthrop@google.com Tests: Skip zillow trace on desktop Vulkan

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 file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: robertphillips@google.com
Change-Id: Iceb0953286968d627b702a0831cdb7e8aea80524
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467923
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-04 18:38:16 +00:00
John Stiles
e7a9535247 Enforce basic limits on global size in SkSL.
Much like http://review.skia.org/467759, this CL defensively guards
against programs which consume more space than is reasonable. Globals
exist outside of functions, so they wouldn't be caught by the stack size
checks.

Change-Id: I035f27d57bc329508820a729a1e367ecaadfe156
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467760
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-11-04 18:34:19 +00:00
John Stiles
7cde28909f Enforce basic limits on function stack size in SkSL.
Functions that declare variables totaling more than 100,000 slots will
now generate an error.

This is only a partial mitigation to the problem, as a sophisticated
attack could still chain/nest multiple functions together to consume
extremely large amounts of stack. However, this mitigation is still more
sophisticated than our peers; both WebGL and glslang are susceptible to
similar problems, and in the general case (ES3+ with full flow control)
it's intractable.

Change-Id: I153c75267c017a23f59fe9e59f6e391197ee6101
Bug: oss-fuzz:40304, oss-fuzz:40694
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467759
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-11-04 18:17:44 +00:00
Herb Derby
37afdbc22e pathProcessing: switch to explicit strikeToSourceScale
Change-Id: Icf7947588e83f736ad9963f79b6215ea20b4f2d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467136
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-11-04 17:00:15 +00:00
Robert Phillips
f2b5dc8aaf [graphite] Fix MSL FS generation
Bug: skia:12466
Change-Id: Icd23abfa9ab1197a03e5d0f177747ea77b6b77e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/465391
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-11-04 16:56:02 +00:00
Brian Osman
fa6e45f261 Add an SkVM panel to viewer's debug UI
Caveats:
  - You want to run viewer with `--skvm` to see much/anything
  - The cache is LRU, and doesn't get flushed automatically. Hitting
    'Clear' will flush it, so it will pick up only the blitters used
    on the current slide. (Otherwise they accumulate as you navigate).
  - No way to determine which blitter is for which primitive, yet.
    I'd like to do the GPU-style magenta highlight, but that may be
    tricky, because we need to preserve the semantics of the original
    blitter (including destination color type, most importantly).

Change-Id: I2df763fdb697d87471ca0816a3b7087ffb4fc4e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467783
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-11-04 16:49:53 +00:00
Herb Derby
d533adde39 cleanup SK_GPU_V1 guards
Change-Id: I2dff774d67f55de7b98ccc650f9e8bc19bebd762
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467757
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-11-04 16:46:18 +00:00
Robert Phillips
a5030e9090 Remove V1/V2 compile bots
This, basically, reverts:

https://skia-review.googlesource.com/c/skia/+/426556 (Add V1 & V2 build bots)

Change-Id: Ib5584992008f1bcce8dfcdb9b29322b35599ab40
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467758
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-11-04 16:27:38 +00:00
Ben Wagner
159ae198d3 Test skstd::optional calls emplaced T's destructor
The skstd::optional already does this correctly, but it appears to be
one of the guarantees of this class which isn't tested.

Change-Id: Iedd9004496f10c1ec56da4ebc5e246880c9a457f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467781
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-11-04 16:06:46 +00:00
Dominik Röttsches
0bbce33b7c Support for COLR 0xFFFF foreground color in FT backend
COLR fonts can use a magic palette index value 0xFFFF to
indicate the foreground color of the drawing context. Support this by
defining a flag plus saving the foreground palette value on the
SkScalerContextRec when creating the SkStrikeCache entry. Then the
FreeType backend can use the palette value when performing the COLR
drawing runs.

Fixed: skia:12576
Change-Id: I573c67482d9c53dade04eba60449e8ed1b8528fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/463656
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-11-04 15:45:26 +00:00
Dominik Röttsches
7368c6d00b Minor comment fixes in COLRv1 GM and implementation
Compare https://skia-review.googlesource.com/c/skia/+/300558/55#message-c36225fec2e0604cdaeb72022af85e55ab4b3ee3

Change-Id: I0aa5ff5ca26d5f80fbcfffd6c31cc0769c677a14
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/466357
Auto-Submit: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-11-04 15:10:18 +00:00
Herb Derby
817dba10f3 extract strike-to-source scale from SkStrikeSpec
Making the strike-to-source scale part of the SkStrikeSpec needs
to be handled more carefully now that the "SkMatrix is always the
same" invariant is broken.

Start with MakeCanonicalized focusing mainly on SkFont.

Change-Id: I8e3ab6120751ce280fea03b87be200155d736130
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467080
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-11-04 15:09:45 +00:00
Greg Daniel
f0b283ee80 [graphite] Cleanup missed gpu_shared gn change.
Bug: skia:12466
Change-Id: I3072017577b18bf6f727af898c5caaad4ee359ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467756
Auto-Submit: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-11-04 14:37:07 +00:00
skia-autoroll
2739def595 Roll ANGLE from 30b01d8fd1cf to 270a2c0ef4ee (3 revisions)
30b01d8fd1..270a2c0ef4

2021-11-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 7a571328541a to e733a26e2ba0 (1 revision)
2021-11-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from d388b3abde67 to a46607dbd322 (20 revisions)
2021-11-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from b8a060d71358 to ff76252a7394 (1883 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 file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: robertphillips@google.com
Change-Id: I08d0a074b7882d4b1ca32a003e03f9ea5e759a10
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467708
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-04 14:27:44 +00:00
Jim Van Verth
569bf57e9a [metal] Ensure that we clean up command buffer even on failure.
When we failed to commit, we were keeping the old command buffer around
which could lead to issues if we tried to use it later.

Change-Id: I7397735931c49d5383490bbc213059bd42d2ea84
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467777
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-11-04 14:20:16 +00:00
Jim Van Verth
a8d38078a4 Metal: in iOS check to see if we're in background before creating encoder
Bug: b/197827241
Change-Id: I39cda3f3dd46f9a340c319aaf9463253db2a7705
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467357
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-11-04 13:58:48 +00:00
skia-autoroll
d9d9e21b31 Roll ANGLE from 8aec7f358ee8 to 30b01d8fd1cf (5 revisions)
8aec7f358e..30b01d8fd1

2021-11-04 syoussefi@chromium.org Fix multiview framebuffer completeness check
2021-11-03 cnorthrop@google.com GLES1: Create multiple shaders based on state
2021-11-03 timvp@google.com Capture/Replay: Skip failing UniformTest tests
2021-11-03 kpiddington@apple.com Metal: Reduce memory usage of attribute re-writing
2021-11-03 abdolrashidi@google.com Env var for EXT_framebuffer_fetch_non_coherent

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 file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: robertphillips@google.com
Change-Id: I99a65c18e46e332cee71617df4465d513f134ad9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467595
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-04 05:25:44 +00:00
skia-autoroll
87067f59c0 Roll SwiftShader from 7a571328541a to e733a26e2ba0 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/7a571328541a..e733a26e2ba0

2021-11-03 sugoi@google.com Add assert on illegal signed/unsigned blit

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 file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: robertphillips@google.com
Change-Id: I73e5ffbef7c7cc4d5dc898952c6c8fd6543b9392
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467593
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-04 05:04:47 +00:00
skia-autoroll
911a5459a6 Roll Chromium from 523915394ffc to f69977b0a360 (440 revisions)
523915394f..f69977b0a3

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 file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

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

Cq-Include-Trybots: skia/skia.primary: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: I74f5f9dd482f039060394397c025fa9f81dedfce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467676
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-04 05:02:20 +00:00
skia-autoroll
5044ff38a0 Roll Dawn from 2514566d8253 to 26db646d8ff8 (6 revisions)
https://dawn.googlesource.com/dawn.git/+log/2514566d8253..26db646d8ff8

2021-11-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 8aec7f358ee8 to 2091451e5233 (4 revisions)
2021-11-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Add depth16unorm texture format
2021-11-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from fce240c00507 to 8aec7f358ee8 (9 revisions)
2021-11-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from e9216ce595b6 to e0e45a4d473a (1 revision)
2021-11-03 amaiorano@google.com dawn_node: add "--backend=<name>" convenience parameter
2021-11-03 shaobo.yan@intel.com Add more dst texture format for CopyTextureForBrowser

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from e9216ce595b6 to e0e45a4d473a

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 file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: rharrison@google.com
Change-Id: I3cc50069f9c05cf3f5e2f30708512fc7a57fad7d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467594
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-04 04:50:51 +00:00
Brian Osman
b61804e94c Add ConvertPixels versions of PremulAlphaRoundTrip
Prior to the force_highp trick, the GrConvertPixels version failed, just
like the GPU would do if we disabled the canvas2D fast path. With the
highp trick, all tests pass.

Bug: skia:12592
Change-Id: I63ad2fd3b67863b6a736316e7c7b3b9bd2ee8970
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467516
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-11-03 22:57:45 +00:00
Joe Gregorio
db3422668b Add Perf and Test jobs for Kevin chromebooks.
These replace the Galaxy 6s for MailT860 coverage.

Change-Id: I79f1f80a68d5532916c8303acef426a05260e406
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467518
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2021-11-03 21:54:47 +00:00
Chris Dalton
380dd45865 Fix an accidental float truncation
This was causing some curves that needed barely more than N segments to
be rendered with N instead of N+1.

Change-Id: I4b3efbbbcfd2e514d0e5a24df6d83f15f18dbe73
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467596
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-11-03 21:41:14 +00:00
Chris Dalton
233f4d8a21 Convert MiddleOutPolygonTriangulator to an iterator
Rather than having this class write directly to a GPU buffer, which
also included an ugly hack to support extra instance data that was not
points, it is now just an iterator style object. This allows the
caller to iterate over all the triangles and do whatever it wants with
them. This is both faster and more versatile.

Bug: skia:12524
Change-Id: I43cdd721bc50607cc34ebf415390b4d493f4d697
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/466917
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-11-03 21:36:44 +00:00
Greg Daniel
292bbb13d8 [graphite] Split gpu_shared into its own gn target.
This makes sure we only compile the shared objs once when we have two
targets (gpu and graphite) that use them.

Bug: skia:12466
Change-Id: Ife0b6ae35c797a6a9ee8311d1b6088dca2a978d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467520
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-11-03 21:08:47 +00:00
Brian Osman
37459e71a5 Move WithWorkingFormat to SkColorFilterPriv
It's a performance foot-gun today (disables raster pipeline), and will
hopefully be unnecessary in the future.

Change-Id: I241484286388e4bd2a429a6d22e3b96ecf975cec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467456
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2021-11-03 20:30:50 +00:00
Greg Daniel
dfeced7059 Disable tessellation path renderer on Wembley devices.
Bug: skia:12597 skia:12598 skia:12589
Change-Id: I0468a035b835825bf7d94af98c2a3320b4685006
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467079
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-11-03 20:26:20 +00:00
Jim Van Verth
6990ee0dad [graphite] Add RenderPassTask::execute
Bug: skia:12466
Change-Id: Id1e8311cbe5bfbc7a2c9aa9cc106ebef1d363e63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467459
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-11-03 20:00:21 +00:00
Dominik Röttsches
8be6332748 Serialize foreground color caching requirement specialisation
Add a getter to SkTypeface to provide information on whether it
needs access to the foreground color (in COLR fonts) so that the
strike cache can determine caching requirements.

Since remote SkTypefaces do not have access to table information,
implement this as a serializable flag, with font-blob backed
implementations being able to return this based on whether they
have a COLR table or not, starting with FreeType.

Preparation for supporting foreground color in FreeType COLR
rasterisation.

Bug: skia:12576
Change-Id: I7e71b0ec12e17f652ab7b43adffc43bc780ce2e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/466936
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-11-03 19:56:47 +00:00
skia-autoroll
6b9f7761f8 Roll ANGLE from 0e9e321b578a to 8aec7f358ee8 (4 revisions)
0e9e321b57..8aec7f358e

2021-11-03 yuxinhu@google.com Add World Cricket Championship 2 Trace
2021-11-03 timvp@google.com Vulkan: Don't submit XFB queries when XFB is inactive
2021-11-03 cnorthrop@google.com DEPS: Update Android SDK source to android-31
2021-11-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 542593f0e311 to 7a571328541a (2 revisions)

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

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: robertphillips@google.com
Test: Test: TransformFeedbackTest.TransformFeedbackQueryPausedDrawThenResume
Test: Test: angle_perftests --gtest_filter="*world_cricket_championship_2*"
Test: Test: dEQP.GLES3/functional_transform_feedback*
Change-Id: I51af4abe5e56a8daffb06f905552d190b264ca8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467444
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-03 19:31:47 +00:00
Kevin Lubick
4872cea28c Skip motionmarkleaves SKP on WASM+CPU
Change-Id: Ie2f6cebf2760a4579b2eddd366d075928684d793
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467457
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-11-03 18:56:25 +00:00
Michael Ludwig
3598648374 Use larger clip for SW mask unique key
Bug: chromium:1264217
Change-Id: I1af45a9e8fe0245aee4587405ec4899e10c96cf3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/466443
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-11-03 18:51:14 +00:00
Brian Osman
dc7ab732a9 Add comment explaining unpremul paint color handling
Change-Id: Ibe056629a78c49f9d03eb7658c605866f31fafe5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467303
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-11-03 18:24:47 +00:00
Kevin Lubick
90c9424cdf Remove SPI from static inline functions
Change-Id: I94e32f56a0cadcccac399de4da62a1091b5d5071
Bug: skia:12584
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467416
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-11-03 17:49:12 +00:00
Dominik Röttsches
a9860f0ff6 Adapt to fixed point values in FT COLRv1 structs
FreeType COLRv1 API clarifies a couple of FT_Paint* struct's use of
FT_Fixed, adapt to that in the Skia implementation.

Contains FreeType roll to contain
d3d3ff7 [sfnt] Clarify `COLR` v1 FT_Paint* format representations
which shifts some of the COLRv1 output values to 16.16 fixed-point values.

12ef831fc3..e6e6cbf164

Fixed: skia:12594
Change-Id: I379737e333427e5229dddf20c82cf126641269b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/466356
Auto-Submit: Dominik Röttsches <drott@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-11-03 17:17:39 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
0b35a1c4ba Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I8948661d3c5f008d318dafb76bce69c9450be8d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467355
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-11-03 17:11:56 +00:00
Kevin Lubick
3a9a7991c4 Move sk_memset* from SkUtils to SkOpts
This is a (hopefully) more careful reland of parts of
https://skia-review.googlesource.com/c/skia/+/464876

Change-Id: I32dd6777a70d983d8a66a4bf9557cab6e3d7ebc2
Bug: skia:12584
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467124
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-11-03 17:03:21 +00:00
Kevin Lubick
e0ee095fa2 Move UTF16 helpers from SkUtils to SkUTF
Also delete the unused/deprecated functions
 - SkUTF8_NextUnichar
 - SkUTF16_NextUnichar
 - SkUTFN_CountUnichars
 - SkUTFN_Next

Change-Id: Icbcc6961cbc3112af6794742af03adb14369c45d
Bug: skia:12584
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467123
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-11-03 17:03:21 +00:00
Brian Osman
02b8a09274 Restore batching of (varying) paint alpha to shader FP trees
The previous version forced unique draws as the alpha changed (because
paint color was converted to a uniform). This version just uses a simple
wrapper FP that invokes the shader FP with the opaque paint color, then
multiplies the paint alpha against the result.

Bug: skia:11942
Bug: chromium:1265678
Bug: chromium:1265736
Cq-Include-Trybots: luci.skia.skia.primary:Canary-Chromium
Change-Id: I21fab1f1b0746e410509ddb4cbce5acdd21c89db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467077
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-11-03 16:23:44 +00:00
John Stiles
390edeb88d Fix fuzzer-discovered error with no-op arithmetic.
The fuzzer triggered this error in a strange way that involves parsing a
TK_INVALID token. The fuzzer's original input used \xFF bytes in the
shader text to do this. I replaced these with the ` character since it
behaved the same, but allows our test inputs to remain basic ASCII.

The root problem is that `cast_expression`, part of no-op arithmetic
simplification, can now fail because expressions like `int(4000000000)`
no longer get past Constructor::Convert. Previously we had assumed
`cast_expression` could never return null; now we check its result for
null before using it.

Change-Id: I7335395bab0daf1f788b0c7c154904b2372ae13f
Bug: oss-fuzz:40660
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467316
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-11-03 14:57:48 +00:00
Kevin Lubick
9535da4e3a Move more GPU-specific code behind SK_SUPPORT_GPU flag
Change-Id: I7b6d7412d431532ae553627d63a93b53cbd4f2b4
Bug: skia:12584
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/466773
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2021-11-03 14:12:52 +00:00
Eric Boren
3dd5a2e07f [infra] Remove TecnoSpark jobs
These devices have all died and they are superseded by the Wembley
devices.

Change-Id: Ie8402a910768ab8460d5a9ca94b13aeb6e15d428
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467296
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-11-03 14:02:16 +00:00
John Stiles
293bb46b2d Enable more ES3-specific SkSL tests.
Updated ReturnsValueOnEveryPathES3 to remove overlap with the ES2 tests,
and fixed some broken cases. Disabled the ReturnValueOnEveryPathES3 test
on Intel + Windows because switch statements on Intel + Windows are
pretty broken.

Change-Id: Id93e8af1ef7bf11fd74ef12a464c77d56cc032a0
Bug: skia:11209, skia:12465
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467078
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-11-03 14:02:05 +00:00
John Stiles
4722cb0e0d Enable some ES3-specific SkSL tests.
Cleaning out old TODOs.

Change-Id: Ia54bffab5145d61dbacc3da5617e0e3293a6ddf2
Bug: skia:11209
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467076
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-11-03 13:11:01 +00:00
skia-autoroll
d00d287cf9 Roll ANGLE from 38d5349a9000 to 0e9e321b578a (4 revisions)
38d5349a90..0e9e321b57

2021-11-02 kpiddington@apple.com Metal: Anonymous unused uniform structs not named.
2021-11-02 gman@chromium.org Metal: Use Depth32F for DEPTH_COMPONENT16
2021-11-02 kpiddington@apple.com Expose translator issues with struct samplers.
2021-11-02 syoussefi@chromium.org Vulkan: Regression test for xfb query before resume

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 file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: robertphillips@google.com
Change-Id: Id8d5aaff19f5d8235ccf0dab7d9b0e0cc39c7afe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467159
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-03 05:22:44 +00:00
skia-autoroll
b8312cdc92 Roll SwiftShader from 542593f0e311 to 7a571328541a (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/542593f0e311..7a571328541a

2021-11-02 sugoi@google.com Perform all blend operations in floating-point
2021-11-02 swiftshader.regress@gmail.com Regres: Update test lists @ 542593f0

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 file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: robertphillips@google.com
Change-Id: I9e3712ab623e900542a3115145015a692ca0e42b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467157
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-11-03 05:07:47 +00:00