Commit Graph

59872 Commits

Author SHA1 Message Date
skia-autoroll
65ea360613 Roll SK Tool from d5969ee9f8a7 to 90b64b7f512e
https://skia.googlesource.com/buildbot.git/+log/d5969ee9f8a7..90b64b7f512e

2022-04-04 borenet@google.com [sk] Add support for extra per-package options

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

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

Tbr: jcgregorio@google.com
Change-Id: I35a4be36138f9e14895a8594f76a120449f50302
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527036
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-04 13:27:16 +00:00
skia-autoroll
72d67dfcc9 Roll Chromium from 8fa4c9362816 to f3dd53b9f4ab (17336 revisions)
8fa4c93628..f3dd53b9f4

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 djsollen@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: djsollen@google.com
Change-Id: I93f2721ba05fefd44eacb11a31370ccfe957196d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526939
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-04 05:37:54 +00:00
skia-autoroll
e10ef972d8 Roll ANGLE from d3492eef5c78 to 4b232a9a8261 (15 revisions)
d3492eef5c..4b232a9a82

2022-04-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 384f873e0970 to 804d5a91d49d (4365 revisions)
2022-04-03 ynovikov@chromium.org Skip end2end tests timing out on TSAN and ASAN
2022-04-02 syoussefi@chromium.org Vulkan: Fix texture-after-framebuffer sync issues
2022-04-02 syoussefi@chromium.org Skip failing tests on Pixel 6
2022-04-02 jmadill@chromium.org Vulkan: Lift SwS suppressions.
2022-04-02 abdolrashidi@google.com Remove the TODOs regarding multisample buffer age
2022-04-02 abdolrashidi@google.com Vulkan: Add multisample buffer age tests
2022-04-01 cclao@google.com Vulkan: Move memory allocation initialization code into function
2022-04-01 syoussefi@chromium.org Vulkan: Fix no location decoration vs framebuffer fetch
2022-04-01 cnorthrop@google.com Android: Track peak GPU memory in restricted_trace_perf
2022-04-01 jmadill@chromium.org infra: Use logarithmic batching in LUCI config.
2022-04-01 cnorthrop@google.com Compiler: Allow deferred array sizing in geometry shaders
2022-04-01 jmadill@chromium.org Cache outer array offset in linked uniforms.
2022-04-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from bc5bec05c369 to 649d6e46aeae (3 revisions)
2022-04-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from e37ba68c0fde to 6d732e01d9ea (4 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 djsollen@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: djsollen@google.com
Test: Test: GeometryShaderTest.DeferredSetOfArrayInputSize
Change-Id: I4a35b488cb6c05d857767120edd43e525f40590d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526937
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-04 05:24:53 +00:00
skia-autoroll
5b7befea76 Roll SwiftShader from afcbbd0ad3b5 to a190ceed7293 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/afcbbd0ad3b5..a190ceed7293

2022-04-04 capn@google.com Correct border clamp and depth comparison order
2022-04-01 swiftshader.regress@gmail.com Regres: Update test lists @ afcbbd0a

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 djsollen@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: djsollen@google.com
Change-Id: Ie4e2b2f0e9fda54ddea868ee7cdc0ad794dd3da9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526938
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-04 04:48:30 +00:00
skia-autoroll
04a49c5644 Roll SK Tool from f5702264b946 to d5969ee9f8a7
https://skia.googlesource.com/buildbot.git/+log/f5702264b946..d5969ee9f8a7

2022-04-03 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 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

Tbr: lovisolo@google.com
Change-Id: I8f4ac3183c3dedeac6533d4bb507f34d88007bc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526837
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-03 06:35:26 +00:00
Ethan Nicholas
fd9c66e180 Enforce correct positions for SkSL expressions
This adds asserts to DSLParser::expression() to ensure that every
generated expression actually starts at the current offset, and fixes
all of the various spots we weren't successfully doing that.

Change-Id: Ie37dbf9ee8bb47fd03f7a290d2e15da4fbfff938
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525316
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-04-02 16:42:58 +00:00
Herb Derby
5215ec1ab9 guard against deserializing bad values for VertexFiller
Bug: oss-fuzz:46251

Change-Id: I4bed79ab085860030732d29eaa674b59ea3d2808
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526521
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-01 21:25:39 +00:00
Ben Wagner
06fd22c7aa Replace glyph debugging macros with if constexpr
Replace SK_SHOW_TEXT_BLIT_COVERAGE macro with kSkShowTextBlitCoverage.
Covert the ifdefs to if constexpr. Also fix issue with debugging
converage of aliased masks with FreeType (don't try to treat them like
a8 masks).

Change-Id: I50b5c06b2b4f8ee74ea9c3710740af623be7d6fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526520
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-04-01 21:20:44 +00:00
Brian Osman
087b5a2fff Disable all unit tests on CommandBuffer Test bots
Temporary workaround for crashes that are blocking the Chromium -> Skia
roller.

Bug: skia:13040
Change-Id: I684eb0d0f63fc7e7949a1205ceef16a44eaf5148
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526679
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-04-01 21:03:17 +00:00
Robert Phillips
2921f7df36 [graphite] No longer store the offsets w/in SkUniformData
These aren't currently used (we recompute them from the PaintParamsKey)
and are only getting in the way as we change how we accumulate uniforms.

We can always re-add them if the recomputation becomes a hot spot.

Bug: skia:12701
Change-Id: Id91ea0d27543666c75c154fc585d954c5f89aded
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526270
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-04-01 19:44:04 +00:00
Florin Malita
de6af36e6e [skottie] Fix white-space/horizontal-alignment interactions
AE alignment semantics:

  - leading white-space counts (i.e. "pushes" the line to the right
    in left/center alignment mode)
  - trailing white-space is ignored (does not push the line to the left
    in center/right alignment mode)

Skottie currently always takes white-space into account.  This yields
incorrect center/right alignment not just in the presence of explicit
trailing WS, but also due to residual WS from paragraph line breaks.

To fix, detect trailing WS for each committed line, and adjust glyph
positions to compensate.

Change-Id: Id8589cb30f743f21d77961c0eb4fa20a97e5f13c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526457
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2022-04-01 18:54:14 +00:00
Ben Wagner
b198752832 Correct FontArguments.h location in build file.
Change-Id: Ia12c07752a9d31dfbf846f2cd2bb63d47532d6f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526677
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2022-04-01 18:09:18 +00:00
Ravi Mistry
30a50f3df5 Use updated GPU driver version for GOLO bots
Bug: chromium:1309590
Change-Id: I2542bdfd5bc18f73fb07f6248d84a5eb0c5ad069
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524001
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2022-04-01 18:01:23 +00:00
Brian Salomon
863bc82c62 Reland "Always apply mipmap sharpening on GPU"
This is a reland of commit 1aedd5dc11

Original change's description:
> Always apply mipmap sharpening on GPU
>
> Bug: skia:13078
>
> Change-Id: If459a96eba09fb10e967bc364435f79b83fdc1ec
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/522099
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Bug: skia:13078
Change-Id: Ic05b38fc07566f090d609431f2738d64dfdc8a66
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524218
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-04-01 17:53:28 +00:00
John Stiles
e94e2df07a Move blend_porter_duff into sksl_gpu.
This will let us use it in more than once place cleanly.

Change-Id: If7a0a0a831dea389447f7c32979aa8f314033cdd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526460
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-04-01 17:16:15 +00:00
John Stiles
3ff3c662b5 Remove a leading $ during name mangling.
If SkSL inlined a private function, its name mangled version was coming
out as `_123_$function` which isn't a legal symbol name.

Change-Id: I2317731479b31c2edf6ff7e34997807dc8a0c488
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526459
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-04-01 16:44:45 +00:00
Jason Simmons
a990ef91b3 Clone the contents of SkFontArguments when storing the key of the FontCollection typeface cache
Change-Id: I871f82006b78abc872c3af7a70c875c2f5cacc14
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525823
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
2022-04-01 15:56:00 +00:00
Julia Lavrova
cf3e1c4fe9 Remove DrawOptions (except direct drawing)
That would allow us not to query glyph bounds

Change-Id: Ibee53446e33fd6a54affc1ded438191186cd21be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526296
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2022-04-01 15:46:39 +00:00
Michael Ludwig
10a3cc545c [graphite] ClipStack bounds use skgpu::Rect
Bounds are stored as floats, preserving exact coords instead of trying
to round in or out for pixel bounds. This is the major functional
implication that now differentiates behavior from v1::ClipStack.

Most of the changes are just updating to the appropriate API. One thing
to note is that Rect::intersect() outputs an empty/negative rectangle
if the inputs do not intersect, which is what we want in ClipStack but
had to be explicitly checked for with SkRect/SkIRect's behavior.

Bug: skia:12698
Change-Id: I94e8c67eba5091406f8722f7f8b76938db9eac3c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526458
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-04-01 14:07:31 +00:00
Brian Salomon
dcd21712d8 Reland "Change GPU LOD bias to be just shy of -.5."
This is a reland of commit 355f0f9fa2

Original change's description:
> Change GPU LOD bias to be just shy of -.5.
>
> We want to ensure that when a MIP level is 1:1 with device space
> that kNearest picks that level instead of a larger level.
>
> Bug: skia:13078
>
> Change-Id: I703d08ab394e1d39b31d16946067a2ead415c72a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524224
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Bug: skia:13078
Change-Id: I7fc765a8718d770ebdac68adf9c59ff15d8c8451
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526517
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-04-01 13:29:38 +00:00
skia-autoroll
67c163ca48 Roll ANGLE from 3bdbfbf868e3 to d3492eef5c78 (10 revisions)
3bdbfbf868..d3492eef5c

2022-04-01 m.maiya@samsung.com Vulkan: Handle border color for stencil component
2022-03-31 cclao@google.com Vulkan: Create buffer for vertex array if robust enabled
2022-03-31 lexa.knyazev@gmail.com Metal: Remove DrawBaseVertexVariantsTest suppressions
2022-03-31 m.maiya@samsung.com Fix Surface use-after-free bug
2022-03-31 kpiddington@apple.com Metal: Buffer data is not correctly updated
2022-03-31 m.maiya@samsung.com Vulkan: Support GL_EXT_EGL_image_storage extension
2022-03-31 syoussefi@chromium.org Vulkan: Fix deadlock in device loss
2022-03-31 syoussefi@chromium.org Vulkan: Don't reserve varyings for xfb if VK_EXT_depth_clip_control
2022-03-31 syoussefi@chromium.org SPIR-V Gen: Fix aliasing out parameters
2022-03-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from f9e3d5a50ca2 to e37ba68c0fde (5 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 jcgregorio@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: jcgregorio@google.com
Test: Test: EGLSurfaceTest.SurfaceUseAfterFreeBug*
Test: Test: dEQP.GLES31/functional_texture_border_clamp_range_clamp_nearest_unorm_depth_uint_stencil_sample_stencil
Change-Id: I547d3d01a1ca52501cf7cdedd65db1b6e9b6143b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526537
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-01 05:24:41 +00:00
skia-autoroll
421cff8320 Roll SwiftShader from bc5bec05c369 to afcbbd0ad3b5 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/bc5bec05c369..afcbbd0ad3b5

2022-04-01 sugoi@google.com Fix inline uniform block update
2022-03-31 swiftshader.regress@gmail.com Regres: Update test lists @ bc5bec05

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 jcgregorio@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: jcgregorio@google.com
Change-Id: I236a9f9e1948123e6409da68c08e625f28cadb50
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526538
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-01 04:51:05 +00:00
Michael Ludwig
059945f229 Consider edge AA flags when checking if edge coords land on pixel boundaries
Bug: skia:13114
Change-Id: I421fbddbe92cceac7454ceee4663a41aaae72929
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526026
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-04-01 00:51:21 +00:00
Michael Ludwig
fa88291aa0 Revert "Change GPU LOD bias to be just shy of -.5."
This reverts commit 355f0f9fa2.

Reason for revert: blocking chrome roll, should be #if defined(...) for the guard

Original change's description:
> Change GPU LOD bias to be just shy of -.5.
>
> We want to ensure that when a MIP level is 1:1 with device space
> that kNearest picks that level instead of a larger level.
>
> Bug: skia:13078
>
> Change-Id: I703d08ab394e1d39b31d16946067a2ead415c72a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524224
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Bug: skia:13078
Change-Id: I42d6e99509a87f0354f104f2c0177e78cf0d0e21
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526462
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-04-01 00:51:07 +00:00
Brian Salomon
97efceeded Always copy base level in SkImage_Raster::onMakeWithMipmaps
We already do this for cached SkSurface snapshot images. However,
sharing the SkPixelRef among any SkImage_Rasters with different
SkMipmaps interacts badly with SkImage texture caching and likely
other image caches.

Bug: skia:11983
Change-Id: I07bb7a93ffb79afb7f8268cd5159ee22f58da1e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526456
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-03-31 20:48:55 +00:00
Kevin Lubick
5e8f45faf1 [includes] Prepare for moving SkColorSpace to forward declare
This updates all our callsites in preparation for removing
the #include "include/core/SkColorSpace.h" from SkImageInfo.h

According to go/chrome-includes [1], this will save ~150MB
(0.07%) from the compilation size. I think SkColorSpace is
a big include because it loads the skcms header, which is
big.

The follow-on CL will remove that link, once clients have
been updated as well.

[1] https://commondatastorage.googleapis.com/chromium-browser-clang/chrome_includes_2022-03-31_124042.html#view=edges&filter=%5Ethird_party%2Fskia%2Finclude%2Fcore%2FSkImageInfo%5C.h%24&sort=asize&reverse=&includer=%5Ethird_party%2Fskia%2Finclude%2Fcore%2FSkImageInfo%5C.h%24&included=&limit=1000

Change-Id: I1b5ff491ac495317b0e5af3a2082b080d43697ae
Bug: skia:13052
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525639
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-31 19:50:10 +00:00
Greg Daniel
6b52f372c3 [graphite] Add a result param to graphite callbacks.
Bug: skia:12974
Change-Id: Ie10ef5c8ab4e04647233a6039d22a2eb6437d6bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526022
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-03-31 19:26:28 +00:00
Michael Ludwig
027b9c0d38 Remove GrAA parameter from drawing functions that support per-edge AA
Bug: skia:13114
Change-Id: I653ab746927abdd1491e070e2e27252bf056d233
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526024
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-31 19:25:26 +00:00
Brian Salomon
e679a08f9a Remove GrGLCreateNativeInterface
Bug: skia:13087
Change-Id: Ibaf7b223631a7282393cb670779a0a769bd0f86a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526301
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-03-31 19:01:34 +00:00
Brian Salomon
355f0f9fa2 Change GPU LOD bias to be just shy of -.5.
We want to ensure that when a MIP level is 1:1 with device space
that kNearest picks that level instead of a larger level.

Bug: skia:13078

Change-Id: I703d08ab394e1d39b31d16946067a2ead415c72a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524224
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-03-31 16:58:30 +00:00
Michael Ludwig
7b04832cbe [graphite] Initial ClipStack paired down from v1::ClipStack
PS1 is the exact contents of src/gpu/v1/ClipStack.* copied to
experimental/graphite/src.

PS2+ shows all the changes to remove v1-only features and update some of
the types over to what graphite uses. The major changes are:
1. FragmentProcessors, clip atlases, stencil mask writing, and SW mask
   writing are gone.
2. SW mask caching and tracking are gone.
3. Graphite is effectively in the "forceAA" mode that the original clip
   stack supported. So branches that focused on non-AA, or comparing AA
   or handling cases where elements' AA mismatched could all be removed.
4. Updated to use Graphite's Shape and Transform classes. Did not go as
   far as moving the bounds from SkIRect to Rect, but since everything
   is AA, it will be much simpler to switch to comparing float bounds
   directly and not worry about rounding in or out. That's a more
   substantial change so will come later.
5. The original ClipStack had a "Draw" type that was used to compute
   clip interactions between SaveRecords and Elements. It was always
   just device-space bounds because of limitations of the GrClip API.
   In Graphite, we can use the exact same set of info for Draws and
   Elements, making interaction tests share code and be more accurate.
   Since that's a more involved change, I just removed the simpler Draw
   type from this version for now.
6. Tried to add TODOs for what logic and extra state will need to be
   added to actually apply graphite's clip stack as depth-only draws.

Bug: skia:12698
Change-Id: I418703e8f759cd5e1ddd1e302a864bf2204cf040
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525516
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-31 16:45:58 +00:00
Kevin Lubick
dabc752c3f [canvaskit] Add test to prove we have COLRv1 font support
Pardon the duplicate test file, I have not yet finished
moving the CanvasKit tests to be on Bazel. When I do,
the duplicate (font.spec.js) will go away.

Change-Id: I6ad468f3f322280ffa25429fb8732e7266703e91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526297
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-03-31 16:14:31 +00:00
Herb Derby
1422409d32 bound glyphCount by the number of bytes remaining
Since the data for a glyph is always > 4, bound the count to
buffer.available() / 4.

Bug: oss-fuzz:45885

Change-Id: I5c7925487bf11c673c4375c69e8ee8cd4ff4b4a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525979
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-03-31 15:14:05 +00:00
Herb Derby
3ece2127e9 pick a size if the hint is out of bounds
The fuzzer has produced a hint such the add sizeof(Slug) make the
value negative. Since this is just a hint, and the arena can always
add more blocks of needed. Just pick a nice size if the hint looks
to small or big.

Bug: oss-fuzz:45893

Change-Id: I196e93a441a586340da6f0626f00c660f3858c64
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526030
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-03-31 15:13:21 +00:00
Robert Phillips
0ec0c38e2e [graphite] Add ExtractRenderStepData
This doesn't reuse memory w/in the gatherer but sets us up to do so.

Bug: skia:12701
Change-Id: If5ed962e73609b113581ed2bd681e872fe3214c0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526029
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-03-31 14:45:54 +00:00
John Stiles
ee9ecfa478 Disable test OutParamsAreDistinctFromGlobal on Wembley.
Change-Id: I8a2bd5596b10f76b77cfa834cc5d592c249457ee
Bug: skia:13115
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526256
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2022-03-31 14:12:03 +00:00
Jim Van Verth
0c50659cfe [graphite] Move writePixels logic up into Device
Following the philosophy that DrawContext should be as simple as
possible, the work that sets up the upload should be done higher up.
If we need to share the code, that can be handled by a helper class or
function.

Bug: skia:12845
Change-Id: Ib0308ce816e545ccffb5ddbe3d9bcc302349397f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526025
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-31 14:04:37 +00:00
Kevin Lubick
3f335b6e01 [canvaskit] Can build debug mode with RBE
Release mode requires https://github.com/emscripten-core/emscripten/pull/16640
to land

Change-Id: I70295d4c2f884ebeb400bd30f4ef28d7695e48df
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526047
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2022-03-31 13:59:15 +00:00
Brian Salomon
e4601b0864 Fix issue mipmapped SkImages made from SkSurface_raster snapshots.
This fixes a bug with the following sequence:

Make SkSurface_Raster, draw to it
snap an image, A, from the surface
make image B by calling withDefaultMipmaps() on image A
Let image A be destroyed.
draw to surface again
snap another image, C, from the surface

Image C and image B would now share the same SkPixelRef, reflecting
the final contents of the SkSurface.

Add a GM that exercises the bug when run through either the pic- or
serialize- vias and DDL.

Bug: skia:13111
Change-Id: Ib079163c84f420baf62fa7960110386303b8fb93
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525517
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-03-31 13:21:59 +00:00
Ethan Nicholas
3f5184cfa6 Added an SkSL Operator enum
SkSL::Operator was previously just a thin wrapper around Token::Kind and
everything was therefore written in terms of Token. Since Token is not
accessible from include/ (and we don't want it to be), this creates an
actual Operator enum and eliminates the dependence on Token. This will
enable followup changes to reference Operator from within the DSL
include files.

Change-Id: I49555c9151618fd15970a303d2284972c78c3f21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525976
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-03-31 13:20:57 +00:00
skia-autoroll
54d5be6c66 Roll ANGLE from 9a0b306dcc6d to 3bdbfbf868e3 (9 revisions)
9a0b306dcc..3bdbfbf868

2022-03-31 m.maiya@samsung.com Vulkan: Adjust border color
2022-03-31 johncunningham@apple.com WebGL ReadPixels validation is incorrect.
2022-03-30 syoussefi@chromium.org Vulkan: Move mid-RP color clear to loadOp if content undefined
2022-03-30 syoussefi@chromium.org Vulkan: Enable framebuffer fetch on SwiftShader
2022-03-30 gman@chromium.org Metal: Fix for not submitting command buffers in order
2022-03-30 lubosz.sarnecki@collabora.com Tests: Add Super Mario Run trace.
2022-03-30 mfoltz@chromium.org [Cast Convergence] Remove is_cast_desktop_build from ANGLE.
2022-03-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from e38e969e37fe to f9e3d5a50ca2 (4 revisions)
2022-03-30 lubosz.sarnecki@collabora.com FrameCapture: Use getCompressedTextImage.

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 jcgregorio@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: jcgregorio@google.com
Test: Test: angle_perftests --gtest_filter="*super_mario_run*"
Test: Test: dEQP-GLES31.functional.texture.border_clamp.*
Change-Id: Ia7ac270f6e5c0e8b77fd60d0893424e0d5f8a379
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526157
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-31 05:36:01 +00:00
John Stiles
14c689c283 Remove GN support for DSL-based fragment processors.
We needed to do a trick to convince GN to work with a file that had two
extensions (`.dsl.cpp`). We no longer compile fragment processors, and
we definitely don't compile them into DSL code, so this trick is
obsolete.

Change-Id: I918d37835e23071a4cb5143cb057f86a23b91152
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526031
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-30 22:28:37 +00:00
John Stiles
61e7d06c48 Remove skia_compile_processors gn flag.
This flag was meant to control compilation of .fp files, which no longer
exist. Its only meaning now is a synonym for `skia_compile_sksl_tests`.
If you had `skia_compile_processors` enabled in your gn args, you can
replace it with `skia_compile_sksl_tests`.

Change-Id: I49fe58aaf0e60d3998ec43c51c1372a6acad980a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526028
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-03-30 22:01:30 +00:00
Kevin Lubick
7c6a1526f7 Free FontChains after test completes
ASAN detected this leak.

Change-Id: I7f54cbe35ac36d288d2fa676cf0192a793686ba1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526077
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-30 21:02:55 +00:00
Kevin Lubick
145e18f5cc Fix memory leak in AAClipTest
We were not freeing the memory allocated by copyToMask in
one place.

Change-Id: I4404395e8bc2beb43eca5226e947c42b22805ef7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526076
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2022-03-30 21:02:55 +00:00
Jim Van Verth
0361abf39d Fix setup for iOS simulator on arm64 Macs.
The current setup for the iOS simulator keys off of the fact that iOS
runs on ARM CPUs, and Macs (prior to M1) ran on x64 CPUs. So setting
the target_os to "ios" and the target_cpu to "x64" will indicate use
of the simulator. On M1, they have the same CPU architecture, so we
need another method to indicate use of the simulator SDK.

Also added a check to disable code signing, which is not needed for
running on the simulator.

Bug: skia:12880
Change-Id: I668121010cc557546c4a4e4960601a732bb985c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526017
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-30 20:06:39 +00:00
John Stiles
d370e89353 Disable test OutParamsAreDistinctFromGlobal on some platforms.
Windows + Intel GLSL and Android + Adreno GLSL do not recognize aliasing
against the global and fail the test.

Change-Id: I4c1f950f7addf6691a8db989d93b727dbc97742e
Bug: skia:13115
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526023
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-30 19:58:38 +00:00
Michael Ludwig
7f5033d714 Take edge AA flags into account when applying implicit device bounds clip
Bug: skia:13114
Change-Id: I1e6552aaeee68eaf4e50e42da2a7761953b06415
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526019
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-30 19:46:17 +00:00
John Stiles
121d4a2e4b Move skslc dependencies into a dedicated list.
I'm considering migrating SkSL precompilation/dehydration into a
separate binary from skslc. It would need the exact same set of Skia
dependencies. So let's factor them out.

Change-Id: I9b000ef058f7253e142cf5a8a603e468beb4d6f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526020
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-30 18:50:12 +00:00
John Stiles
674eb326f4 Improve distinct-out-param test cases.
Added new aliasing tests inspired by syoussefi@'s ANGLE changes at
http://go/crrv/c/3561278.

Change-Id: Ifa312faa9503b211b7c09edd2abd5087ead35e5f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/526018
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-03-30 18:49:15 +00:00