Commit Graph

56346 Commits

Author SHA1 Message Date
Kevin Lubick
e33845317b [infra] Remove CIFuzz task
Don't have the cycles to maintain the build.

Change-Id: Ia06cd78f5920091fcad250391a4d91b039e97f5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432777
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-07-27 13:10:12 +00:00
Herb Derby
2c5b922e7a Revert "Reland "add op array32 for indirect uniform access""
This reverts commit fe2506f3ca.

Reason for revert: Breaks unit test on M1 mac

Original change's description:
> Reland "add op array32 for indirect uniform access"
>
> This is a reland of ac2d053ccf
>
> The original CL was reverted because of a bug in the hash
> function.
>
> Bug=skia:11822
>
> Original change's description:
> > add op array32 for indirect uniform access
> >
> > Change-Id: I6249594a2348c7b24e4f057cce2f4e8a6a2c4409
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431676
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: Herb Derby <herb@google.com>
>
> Change-Id: I94604f5589c72d342c39cad44540d810ed7f31a1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432797
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=herb@google.com,brianosman@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: I3dccc04dc5a867bb45a99044991056b22f5b6fe3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433278
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-07-27 12:50:12 +00:00
Florin Malita
6cce9615a0 Revert "Experimental ICU runtime linking"
This reverts commit f4aab0584d.

Reason for revert: build failures

Original change's description:
> Experimental ICU runtime linking
>
> Introduce a build config option where ICU symbols are resolved at
> runtime, against existing system libs.
>
> Change-Id: I2325537438de0063fcc4a7c0f8411764cf550f09
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431037
> Commit-Queue: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Florin Malita <fmalita@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

TBR=djsollen@google.com,bungeman@google.com,fmalita@chromium.org,fmalita@google.com,jlavrova@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: Ic252af1d7ba0a72b3c596e61f86746c27a0685b7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433276
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-07-27 12:13:39 +00:00
skia-autoroll
84cc1f6acf Roll ANGLE from a5b7655cb25a to b8d6f8aa936d (11 revisions)
a5b7655cb2..b8d6f8aa93

2021-07-27 syoussefi@chromium.org Translator: Facilitate integration in FireFox
2021-07-27 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fixes to tessellation shader support
2021-07-27 syoussefi@chromium.org Translator: Remove GLSL rules from the ESSL-only symbol table
2021-07-27 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix bugs with ES3.1 texture* builtins
2021-07-27 syoussefi@chromium.org infra: Enable gles3 deqp tests with direct SPIR-V generation
2021-07-27 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fixes to geometry shader support
2021-07-27 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix .length() vs ssbo arrays
2021-07-27 syoussefi@chromium.org Vulkan: SPIR-V Gen: Support multiview
2021-07-26 jmadill@chromium.org Capture/Replay: Only perform call updates on valid calls.
2021-07-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 172cae01c41b to 779c0d440060 (322 revisions)
2021-07-26 gert.wollny@collabora.com Capture/Replay: Handle missing context serialization

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/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: kjlubick@google.com
Change-Id: Iaabe711e8306706030e3e1c80bc5f527493c7079
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433216
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-27 05:29:44 +00:00
skia-autoroll
c687917096 Roll SwiftShader from 915947134128 to fdb16bd6c291 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/915947134128..fdb16bd6c291

2021-07-26 pkasting@chromium.org Fix some instances of -Wunused-but-set-variable.

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

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

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: kjlubick@google.com
Change-Id: Ib162e75eae9a12a71b934beac2a748c723bb50e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433199
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-27 05:10:42 +00:00
Robert Phillips
0ca08cc720 Fix G3 roll
TBR=kjlubick@google.com
Change-Id: I38acafacaac1216a46bc2e92638dbf542fb0e74b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433181
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-07-26 23:11:45 +00:00
Chris Dalton
a8c4de96df Revert "Delete GrPathTessellationShader::MakeSimpleTriangleShader"
This reverts commit 09bc8af282.

Reason for revert:

The GrDefaultGeoProcFactory handles view matrices differently,
including injecting different code based on the matrix type. This can
introduce LSB differences between the points generated by the curve
shader and the fan shader, leading to gaps and jogs in seaming.

Original change's description:
> Delete GrPathTessellationShader::MakeSimpleTriangleShader
>
> We should have always used the default GP here. It makes for better
> reuse, and shader that draws raw triangles isn't a "tessellation"
> shader anyway.
>
> Bug: skia:10419
> Change-Id: Ia2ef2a83f5ed8917005e12b9f9a52c1d9f877575
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/429956
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:10419
Change-Id: Ifce8204f23066e9c85af458a7d15abd8551fe965
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432742
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-07-26 22:55:43 +00:00
Herb Derby
fe2506f3ca Reland "add op array32 for indirect uniform access"
This is a reland of ac2d053ccf

The original CL was reverted because of a bug in the hash
function.

Bug=skia:11822

Original change's description:
> add op array32 for indirect uniform access
>
> Change-Id: I6249594a2348c7b24e4f057cce2f4e8a6a2c4409
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431676
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

Change-Id: I94604f5589c72d342c39cad44540d810ed7f31a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432797
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-07-26 22:42:15 +00:00
Ethan Nicholas
27f06eb8ef Revert "Revert "Removed name string field from SkSLType""
This reverts commit 917fef7ba7.

Change-Id: I68aeff69cc59bdd185ac79465eaba7215c01413a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433176
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-07-26 22:41:12 +00:00
Robert Phillips
0cb587c033 Revert "Fix build SKNX_NO_SIMD build and G3 roll"
This reverts commit 5fea567664.

Reason for revert: G3 build

Original change's description:
> Fix build SKNX_NO_SIMD build and G3 roll
>
> Change-Id: Iaf8875085d5a97d4d8b1310f3f2b7c254ba1da67
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433157
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

TBR=bungeman@google.com,robertphillips@google.com,bungeman@chromium.org

Change-Id: I6fbaf1bc13b4f09e6d053c2eb276cdd579ba8684
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433178
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-07-26 21:46:32 +00:00
Chris Dalton
40c906f58e Don't store a GrVertexWriter pointer in GrMiddleOutPolygonTriangulator
GrVertexWriter is itself a pointer, so this is a double reference.
It's ~20% faster on the micro benchmark to store this as a literal
GrVertexWriter. The motivation for this CL is that we need to optimize
the CPU-side processing for tessellation in order to place the
tessellation atlas above the cached triangulating path renderer in the
chain.

Bug: skia:12258
Change-Id: Ie10036d2fe618e848cdf67b9c23038fb9edf4c3b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433077
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-07-26 21:43:38 +00:00
recipe-roller
8c1eae1a18 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

recipe_engine:
9f66864e52~..14aeb4fc9d57d144be6ba3cc8b6b948fa5d74e6e
  9f66864 (yiwzhang@google.com)
      stop calling basicconfig in subcommand because it is now always...
  a9d52af (yiwzhang@google.com)
      py3: add .vpython3 to .gitattributes so that it will be bundled
  14aeb4f (yiwzhang@google.com)
      py3: use zlib module to compress the build proto stream

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I6367990d56654b150e8559af2b9c5dafa82feea8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432960
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-26 21:25:12 +00:00
Florin Malita
f4aab0584d Experimental ICU runtime linking
Introduce a build config option where ICU symbols are resolved at
runtime, against existing system libs.

Change-Id: I2325537438de0063fcc4a7c0f8411764cf550f09
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431037
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-07-26 21:18:17 +00:00
Robert Phillips
5fea567664 Fix build SKNX_NO_SIMD build and G3 roll
Change-Id: Iaf8875085d5a97d4d8b1310f3f2b7c254ba1da67
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433157
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-07-26 21:13:47 +00:00
Mike Reed
a2a85e473c Generalize composing imagefilters and shaders to blenders
The preexisting enum versions now are just shallow factories for
the new blender versions, though internally we've kept the
specializations on impl.

Change-Id: I3449682bb443a4ff9f53cc7b0860343c56e377e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/424436
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-07-26 21:07:51 +00:00
Herb Derby
72ce9be7fd different bytes - same hash
Change-Id: I2aa06f8e0800a6b5a869978e68a76f5e1d4711af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432996
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-07-26 21:04:22 +00:00
Brian Salomon
d438815e85 Protect against div-by-zero in GrSmallPathRenderer::onCanDrawPath
Bug: oss-fuzz:33865
Change-Id: I769e28ace7a61a5a1053777ce8270365975620c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433136
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-07-26 20:54:17 +00:00
recipe-roller
bd7278a2ba Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

recipe_engine:
7d762708d4
  7d76270 (tandrii@google.com)
      [doc] fix typo.

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I68e4603ff54c476964a9e3c53b8b3e94e31c6c54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432959
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-26 20:06:42 +00:00
Ethan Nicholas
917fef7ba7 Revert "Removed name string field from SkSLType"
This reverts commit 2df03e64bf.

Reason for revert: Unhappy bots

Original change's description:
> Removed name string field from SkSLType
>
> This field wasn't really necessary, and was just bloating Type and
> causing a lot of extra String creation. This one change reduces the
> size of a new Compiler by ~2.4KB.
>
> Change-Id: Ie90c565d669d2caaa61056015ea2119fe61c1844
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/423298
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: I3959961d00749addc99cf97b6e2d50a172bf4b25
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433158
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-07-26 19:56:40 +00:00
Brian Salomon
3465365fbd GrRRectEffect checks all nine-patch elliptical radii against min radius.
Bug: chromium:1224753
Change-Id: I41766993e4013250e9afdda86abc024dec63e88c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433058
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-07-26 19:15:44 +00:00
recipe-roller
a5fab95226 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

recipe_engine:
493b236de3
  493b236 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 8183425438f1 to 04c7051e7a02

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib536535a4d65749056e3640b9bcdfbc288bc7752
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432958
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-26 18:37:42 +00:00
Robert Phillips
400f52e691 Retract GrSurfaceDrawContext.h a bit
This CL just pulls GrSurfaceDrawContext.h out of headers and .cpp files where possible.

TBR=brianosman@google.com
Bug: skia:11837
Change-Id: Ib96f3619e3a50091516f81ae48f956fe83c05aff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431384
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-07-26 18:28:04 +00:00
Brian Osman
0074706b80 Fix SkOpts::hash_fn slightly
We were folding together a string of 4 byte values as 8 byte values,
causing us to CRC in quite a few zeros. This appears to really poison
the algorithm, resulting in frequent hash collisions.

Change-Id: I1e363088d821d2fc0bbc392b78d1e24690fdc70a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432938
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2021-07-26 18:08:56 +00:00
Ethan Nicholas
2df03e64bf Removed name string field from SkSLType
This field wasn't really necessary, and was just bloating Type and
causing a lot of extra String creation. This one change reduces the
size of a new Compiler by ~2.4KB.

Change-Id: Ie90c565d669d2caaa61056015ea2119fe61c1844
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/423298
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-07-26 18:03:12 +00:00
Brian Osman
940517cc1e Only enlarge bounds for color filters that affect transparent black
Change-Id: I695ee063d700bea1956290d12ddfa7e0792ff894
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432258
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-07-26 17:27:46 +00:00
Ben Wagner
53813ff67c Remove unused ICU include from SkShaper_harfbuzz
SkShaper_harfbuzz should be relying solely on the icu module for
icu like things, and this include is no longer used.

Change-Id: I7b247d9de30646c0002ed8380a96b9a86d84baf7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432998
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
2021-07-26 17:24:09 +00:00
Peter Kasting
a3eaeb4fd8 Fix an instance of -Wunused-but-set-variable.
Bug: chromium:1203071
Change-Id: I1cdd65c735dcc30a50cf4cdd4a63b309d3bc5a90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432738
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-07-26 16:53:09 +00:00
Ben Wagner
c4de11b6d7 Don't build hb-icu
Since "Build HarfBuzz without ICU support" e07555f6aa, HarfBuzz in Skia
has not been using ICU. However, hb-icu support files are still being
built. Remove them from the build.

Change-Id: Ib8dcf8a2139255ee1a1019197c38414305ca082e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432997
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-07-26 16:51:44 +00:00
Jorge Betancourt
0b94acc132 [androidkit] initial upload of SkottieView util
Change-Id: I6f83ee6947121bef8a0c5b76b7a96ad85f24bd36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/430018
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-07-26 15:47:10 +00:00
John Stiles
6926ba4d3c Fix variable name shadowing issue.
Some runtime effect `onProgram` calls were using the name `dst` both as
the name of the destination color inside the sampleBlender lambda, and
as the name of the SkColorInfo for the destination surface.

The SkColorInfo has been renamed to `colorInfo` to disambiguate the two.

Change-Id: Ia85be8b53cb37eebbf4cbaa2b33ad36e8b6a7856
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432896
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-07-26 15:39:12 +00:00
Jim Van Verth
6a54042bcd Add GrMtlRenderPipeline.
Creates a wrapper class just for id<MTLRenderPipelineState> so it can
be managed as a command buffer object.

Bug: skia:12253
Change-Id: Ibef833fda25d00e7b3110c17b59c5e760b523473
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431040
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-07-26 15:11:41 +00:00
Robert Phillips
04f22eacaa Feed all top-level GPU accessors through skgpu::BaseDevice (take 2)
This pulls the GPU-specific accessors off of SkCanvas and SkDevice - moving them all to skgpu::BaseDevice and SkCanvasPriv.

This will allow us to more easily change the gpu class hierarchy (esp. changing GrSurfaceDrawContext to skgpu::v1:SurfaceDrawContext) w/o churning the public API.

TBR=brianosman@google.com
Bug: skia:11837
Change-Id: Ib69a3ea27c840fa7758bc3318395a27228c7ae9d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431539
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-07-26 14:56:37 +00:00
Kevin Lubick
4765fd0eb7 [infra] Remove failing InfraTests_Win job
And fix a Python typo

Change-Id: I2e63c16865ec44cf1506ea9392155b2b687042b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432776
Reviewed-by: Eric Boren <borenet@google.com>
2021-07-26 14:49:36 +00:00
Dominik Röttsches
613ca2b916 Fix PaintScale and add testing
Define separate GMs for scaling and gradient repeat modes. Migrate more
test glyphs to script generated test font from [1].

Follow-up to [2] and [3].

[1] https://github.com/googlefonts/color-fonts
[2] https://skia-review.googlesource.com/c/skia/+/424096
[3] https://skia-review.googlesource.com/c/skia/+/423396

Cq-Include-Trybots: luci.skia.skia.primary:Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Release-All-Android_NativeFonts
Change-Id: Ie4ac33967333e6218526889c4d762c5cc378e0d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431956
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-07-26 14:38:59 +00:00
John Stiles
d3b232e99b Implement SkBlendModeBlender::asFragmentProcessor.
The GrBlendFragmentProcessor already does everything right here,
including setting the correct optimization flags, so we can just
leverage the existing implementation as-is.

Change-Id: Iac6b2678d49ab0ab4bed44bcf7bb2749d05bd388
Bug: skia:12257, skia:12205
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432796
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-07-26 13:42:50 +00:00
John Stiles
bb2ef92d05 Add private blender type to SkSL built-in types.
This type will hold blender objects, similar to color filters and
shaders. Since the implementation is not yet complete, the type is
currently named `$blender` to indicate that it's private/inaccessible.
The $ will be removed once sampling is functional.

Many places which were conditioned on "is a color filter or shader" are
now conditioned on a helper method instead; if we ever add another
runtime effect type in the future, there should be less hunting for
places that need to be fixed.

Change-Id: I207219abf8764906c3612ce8896492c7a2af6ea1
Bug: skia:12257
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432259
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-07-26 13:10:42 +00:00
skia-autoroll
c665e1ed6b Roll ANGLE from 9f7a86a80874 to a5b7655cb25a (25 revisions)
9f7a86a808..a5b7655cb2

2021-07-24 syoussefi@chromium.org Vulkan: Unsupress fixed test
2021-07-24 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fixes to tessellation builtins
2021-07-24 syoussefi@chromium.org Vulkan: SPIR-V Gen: Add missing DepthReplacing execution mode
2021-07-24 syoussefi@chromium.org Vulkan: SPIR-V Gen: Support OES_sample_variables
2021-07-24 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix switch with default at the end
2021-07-24 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix bugs with texture* builtins
2021-07-24 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix unpack* built-ins
2021-07-24 syoussefi@chromium.org Suppress failing SPIR-V gen tests
2021-07-24 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fixes to scalar->vector promotion
2021-07-24 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix lvalues passed to in/inout parameters
2021-07-23 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix textureProj's coordinate adjustment
2021-07-23 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix conditionals with pruned blocks
2021-07-23 syoussefi@chromium.org Vulkan: Fix bresenham line emulation in shaders with return
2021-07-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 208fab302a17 to 172cae01c41b (609 revisions)
2021-07-23 syoussefi@chromium.org infra: Enable gles2 deqp tests with direct SPIR-V generation
2021-07-23 jmadill@chromium.org dEQP: Suppress two tests with undefined behaviour.
2021-07-23 syoussefi@chromium.org GL: Temporarily disable sync control on all GPUs on Linux
2021-07-23 timvp@google.com roll_aosp.sh: Add dcheck_always_on = false
2021-07-23 jmadill@chromium.org Roll Chromium DEPS manually.
2021-07-23 syoussefi@chromium.org Vulkan: SPIR-V Gen: Support dEQP
2021-07-23 sugoi@google.com Make Display and X11 available in the same build
2021-07-23 jmadill@chromium.org infra: Add perf results processing script.
2021-07-23 jmadill@chromium.org Make the trybot exclusion filter a proper regex.
2021-07-23 jmadill@chromium.org Update angle_assert_always_on condition.
2021-07-23 jmadill@chromium.org Set dcheck_always_on on every ANGLE builder.

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

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

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/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: kjlubick@google.com
Test: Test: led launch
Change-Id: I599724abdd8aae8553254ece4028f3ad067d561a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432676
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-26 05:23:42 +00:00
Mike Reed
8933de7bd0 Add test for our behavior in canvas destructor
The sited bug questions what we should do in our destructor...
flush the pending saveLayers, or ignore them?

The current behavior is to flush them (i.e. draw them), so that is
the expected value... for now.

Bug: skia:12267
Change-Id: I46eaed3efdc953cfe95c3e4c72d51a935c23315f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432616
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-07-25 19:59:42 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
d5a9701116 Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I3ecf3f8d212d3a7924342f74ed68b87b48d81bff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432576
Reviewed-by: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-07-25 08:51:43 +00:00
skia-autoroll
09d6474496 Roll SK Tool from 2a177d9064b9 to 74c0e4d78b6b
https://skia.googlesource.com/buildbot.git/+log/2a177d9064b9..74c0e4d78b6b

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/sk-tool-skia
Please CC lovisolo@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/main/autoroll/README.md

Tbr: lovisolo@google.com
Change-Id: I4f3b745f91b7f8d0774ba93e6a77d60130af4307
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432420
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-25 06:18:42 +00:00
Ravi Mistry
a4bfa8d77f Test SkCQ
Bug: skia:12242
Change-Id: Ia023bddf4fd52a879dac4d3f6dbd5034f0f2237e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432476
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-07-24 21:07:28 +00:00
Ben Wagner
c9f475784f Document SkMatrix default constructs to identity
SkMatrix has a constexpr default constructor which initializes to
identity. This allows it to be both efficient and always initialized.
However, the pre-C++11 documentation stating that SkMatrix starts off
uninitialized still exists. Update the documentation.

Change-Id: I4f81209ea82f0cef04ca9369ccfdf8e9f448ff71
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432257
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-07-24 16:04:39 +00:00
Brian Osman
9304aa5325 Revert "add op array32 for indirect uniform access"
This reverts commit ac2d053ccf.

Reason for revert: This has somehow impacted a bunch of the CPU SkSL tests: https://gold.skia.org/search?blame=ac2d053ccfe80775b8144c069bf1f8660a5e8f9a&corpus=gm

I didn't notice if the hash and/or instruction comparison functions were updated to accommodate the extra data. Might be relevant?

Original change's description:
> add op array32 for indirect uniform access
>
> Change-Id: I6249594a2348c7b24e4f057cce2f4e8a6a2c4409
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431676
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

TBR=herb@google.com,brianosman@google.com

Change-Id: Id5fc865b265d4c61a8d4fc853a6a0ecf7c2fb066
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432376
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-07-24 15:36:11 +00:00
recipe-roller
feb459a1fb Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools, recipe_engine) into this repository.

depot_tools:
11f53d6949
  11f53d6 (gavinmak@google.com)
      Reland "Add python3 support to bot_update recipe module"

recipe_engine:
c80e36cb1f~..7caff240ba2cdb9ec5b4fb01b6e966ff6df4af86
  c80e36c (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from af829a9aede7 to 9555d5a16a0b
  a3a7358 (yiwzhang@google.com)
      py3: upgrade parameterized to 0.8.1 and use new naming feature
  af0b32c (yiwzhang@google.com)
      py3: make run command py3 compatible and enable simple unittest...
  7caff24 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 2be056d01d3f to d5819a48e767

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia8ae15f99f928bb16113686752b7b1d5a61fd580
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432100
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-24 00:22:29 +00:00
skia-autoroll
c06c7f951e Roll SK Tool from dd15582d666b to aa67e619f153
https://skia.googlesource.com/buildbot.git/+log/dd15582d666b..aa67e619f153

2021-07-23 borenet@google.com [task scheduler] chmod before deleting TempCheckout

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/sk-tool-skia
Please CC lovisolo@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/main/autoroll/README.md

Tbr: lovisolo@google.com
Change-Id: I1ea9104aca450c9049ed3764853154ed6474958d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432116
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-24 00:16:08 +00:00
Ravi Mistry
c53a73a09e Add SkCQ config for main branch
Bug: skia:12242
Change-Id: I0122a93c7e2df3aa308f696827fb1a48a047fa22
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432021
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-07-24 00:03:28 +00:00
Brian Osman
7da0657fda Explicitly detect static recursion in SkSL
This relaxes our rules to allow calls to declared (but not yet defined)
functions. With that rule change, we have to specifically detect static
recursion and produce an error.

Bug: skia:12137
Change-Id: I39cc281fcd73fb30014bc7b43043552623727e03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431537
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-07-24 00:01:15 +00:00
Brian Osman
d32ff90135 Fix bug with order-of-matrices in updatable drawVertices path
Change-Id: I2bfadbc281682d83ff1169767ef2693ee1fc1005
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432158
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-07-23 23:59:38 +00:00
Mike Reed
40bc6576d4 If we have no textures, suppress the shader
This lets us measure just the colors code-path, since the drawing code
will still respect the shader with no tex-coords, but that isn't really
and interesting case for timing.

Change-Id: If6b7d1465d625a3c311639aa8fdf731f46ade0ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432157
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-07-23 23:59:08 +00:00
Chris Dalton
c3176002bc Lift the tessellation atlas into its own path renderer
Creates a new path renderer, GrAtlasPathRenderer, that handles all the
atlasing. Managing the atlas in its own path renderer gives us more
control over when atlasing happens in the chain, will allow us to more
easily use the atlas in kCoverage mode, and makes the clipping code
cleaner.

Bug: skia:12258
Change-Id: Ie0b669974936c23895c8ab794e2d97206ed140f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431896
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-07-23 23:02:58 +00:00