Commit Graph

60432 Commits

Author SHA1 Message Date
John Stiles
846eca6c72 Add support for dependent modules in sksl-precompile.
For now, the hierarchy of module dependencies is hard-coded into
dehydrate_sksl.py. (It is already hardcoded into SkSLCompiler.cpp, but
not in a way that is easily accessible to sksl-precompile.)

sksl-precompile now takes one output and an arbitrary number of inputs.
The inputs are processed from right to left, layering their symbol
tables as we go. e.g., sksl_frag is compiled like this:

  sksl-precompile sksl_frag.dehydrated.sksl sksl_frag.sksl sksl_gpu.sksl

At present this doesn't change anything, because every module is
written in a standalone fashion (since nothing else was allowed). I've
demonstrated that these changes actually work as intended in a
followup example CL (not meant to be submitted).

Change-Id: Ifac638537f77b4a9c78b8cd94a6c4efd4bad01cc
Bug: skia:13164
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532197
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-04-20 23:04:21 +00:00
John Stiles
6074d9e9ed Add ProgramConfig::IsVertex/IsFragment helper functions.
In a followup CL, we will have new ProgramKinds: `kGraphiteFragment` and
`kGraphiteVertex`. These accessors will add support for the new kinds.

Change-Id: I3fec7a8c02c56a855b7b33dd8c5b7e05263d5f1d
Bug: skia:13110
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532258
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-04-20 23:04:09 +00:00
Herb Derby
9f46ce7a28 Remove the fSupportBilerpAtlas field
Change-Id: I128364f345fde9b041afedd414c1a862214f6dba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531258
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-20 21:28:40 +00:00
George Wright
b14c982bf6 Revert "Check that the GrBackendFormat of a promise image is textureable."
This reverts commit 866bd64c1b.

Reason for revert: breaks unit test DDLTextureFlagsTest

Original change's description:
> Check that the GrBackendFormat of a promise image is textureable.
>
> Bug: chromium:1311844
> Change-Id: I13bae71305ae9520851cd1ea38a1da737b934dd1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532196
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

Bug: chromium:1311844
Change-Id: I741eed4514111b3682a8ee5821cf462dcaf444a7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532284
Auto-Submit: George Wright <wrightgeorge@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-04-20 20:56:20 +00:00
Ethan Nicholas
87e472722f Improved error reporting ranges for swizzles
Bug: skia:13171
Change-Id: I6dffb98ac2464f930995cf8ea57e422091d20fd2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531743
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-04-20 20:46:51 +00:00
John Stiles
df76b7341f Add helper function to pick an op/spvid by type.
This pattern was repeated several times in the code, so now it's a
dedicated function.

Change-Id: I31c32414aca3bc99ab655d8a480a849184a11037
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531836
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-04-20 20:45:41 +00:00
John Stiles
e720daba2d Remove unused context parameter.
Change-Id: I2be73f4e5ac7841b6b3ecc85206a316789a5d786
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531745
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-04-20 20:38:30 +00:00
Brian Osman
707bc17aae Fix allocation size for Slugs
Avoids buffer overrun if sizeof(GrTextBlob) < sizeof(Slug)

Change-Id: If770eb2a337f2b7ee9a5c7576d155f60c39d9cf7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532256
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2022-04-20 20:33:38 +00:00
Greg Daniel
866bd64c1b Check that the GrBackendFormat of a promise image is textureable.
Bug: chromium:1311844
Change-Id: I13bae71305ae9520851cd1ea38a1da737b934dd1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532196
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-04-20 19:42:43 +00:00
Herb Derby
6c76aeb21d Remove NoCache refs from AtlasTextOp::Geometry
Bug: skia:13214
Change-Id: I4aee7bd73711a464371ebe7892335bfce2fdd09a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/529279
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-20 18:52:41 +00:00
Herb Derby
8b43af48e7 Remove all the *NoCache subruns
Bug: skia:13214
Change-Id: I5e9d2401f74cf0909b3a17b0e0145df3dbdfa1a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/529813
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-20 17:30:12 +00:00
Kevin Lubick
99d5d0fe67 Fix typo in tests
Change-Id: Id12f811c1dc6a6070bb52ff2278234679ce49aff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532136
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-04-20 16:57:44 +00:00
skia-autoroll
cea960921f Roll vulkan-deps from 158676f39f3b to 87d837a653ef (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/158676f39f3b..87d837a653ef

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers from 82becc8a8a92 to 46b7918218d0
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools from 2b2b0282af25 to 671f6e633f42

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: wrightgeorge@google.com
Change-Id: I4ddb2987061232f56b0b0179bc28aa9c6bc594cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531963
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-20 16:42:33 +00:00
Kevin Lubick
ed60541341 [bazel] Silence gazelle warnings for unknown files
Change-Id: Id3824d5b72a6e8b28535c78254629fd506e5185d
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532082
Reviewed-by: Florin Malita <fmalita@google.com>
2022-04-20 16:33:18 +00:00
Yotam Hacohen
4d5eaf95ec Remove 'invert' call from 'SetDeviceCoordinateSystem'
Instead of inverting 'deviceToGlobal', we pass the invert to the
function. 0.1% of all cpu time (M1 Mac) for Motionmark1.2 is spent
doing this inversion.

We can remove a matrix inversion in setDeviceCoordinateSystem by
taking advantage of the fact that we can easily compute the
inverted matrix from values available on hand. The code previously
computed:
  fGlobalToDevice = (priorDeviceToGlobal * newLayerMappingLayerToDevice)'
We have access to the following values:
  newLayerMappingLayerToDevice' = newLayerMappingDeviceToLayer
  priorDeviceToGlobal' = priorGlobalToDevice
With the matrix property (A * B)' = B' * A', we can calculate:
  fGlobalToDevice = newLayerMappingDeviceToLayer * priorGlobalToDevice

Change-Id: I39656f244fa5f907536d09d69f585f09f156f133
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/527505
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-04-20 16:27:02 +00:00
Kevin Lubick
72680f0c88 Remove mdbviz
The MultiDrawBuffer no longer exists.

Change-Id: I31c2df9a5363daab018e33156104e3dd7904230e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532012
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-04-20 15:59:50 +00:00
Florin Malita
ec8c595b9f [skottie] Add transform tracking to SkottieSlide
Add UI options to select a named transform for tracking, and render a
decoration to highlight the transformed origin.

Change-Id: I2a51278150e7098034e1f6e00b268fce69558b44
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531551
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
2022-04-20 15:55:24 +00:00
John Stiles
628d9278b6 Factor out SPIR-V validation to a helper function.
This was intended to be a cleanup pass before adding spirv-opt support,
to avoid overloading `toSPIRV` with stuff. I'm no longer confident that
we need to run a spirv-opt trial, but the cleanup still seems like a
tiny win.

Change-Id: If5b0a627b400545d150d41189aca74f6fd0e856a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532010
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-04-20 15:54:16 +00:00
Jim Van Verth
48d50633ef [graphite] Move some atlas-related types to a shared header
Bug: skia:13118
Change-Id: Ica760f58107de021b7823f69b94809dd2f313ac7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531739
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-04-20 15:35:58 +00:00
Michael Ludwig
610ef02504 Manual Dawn roll with bazel build update
Change-Id: Ia4dac275a8614d7597e5c17cae77ad3770ba27e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/532001
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-04-20 15:00:45 +00:00
Herb Derby
36704ee978 Reland "Use Slugs to render non-Blob text"
This is a reland of commit f274197de1

Original change's description:
> Use Slugs to render non-Blob text
>
> Weaken the assert to allow Slugs to draw if the matrix is the same as
> when the Slug was created with.
>
> Bug: skia:13214
> Change-Id: If0820408208378d57711afb31082a918c00ffc63
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/529811
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

Rerun-Tryjobs: true
Bug: skia:13214
Change-Id: I1c144a4c28be8b6e65ee1672170bf51c988f6db2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/529938
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-20 15:00:38 +00:00
James Godfrey-Kittle
94b2f1f295 Use python3 explicitly when building
Also updates a python invocation in the docs to be consistent with
https://skia.org/docs/user/download/#clone-the-skia-repository.

Change-Id: Ic5560052d96738a492b52c87362741ee84dbdabe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531744
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: James Godfrey-Kittle <jamesgk@google.com>
2022-04-20 14:49:24 +00:00
Herb Derby
dffa36d141 Make Slug and Blob render the same
Using .isTranslate to detect compatible matrices was just wrong. This
was forcing the drawing throught the inverse matrix calculation path
causing all the pixels to be slightly off. Correctly detect if
the matrices are the same except for translate.

Change-Id: I2497920bdbb1b0e3edf32b9a469fe8b14bdab351
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531796
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-20 14:11:48 +00:00
Harry Terkelsen
50012bd88e Enable WASM cross-compilation by correctly using current_cpu
Change-Id: I5964d330f87949fd214873693204a153d22282a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/529205
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-04-20 11:31:35 +00:00
skia-autoroll
55daca632d Roll ANGLE from 197100880118 to 5014ce664ca5 (17 revisions)
1971008801..5014ce664c

2022-04-20 cclao@google.com Vulkan: Add orphaned list for non-empty BufferBlocks.
2022-04-19 jmadill@chromium.org Vulkan: Use flat array lookups for shader variables.
2022-04-19 senorblanco@chromium.org D3D: fix SSBOs used in vertex shaders.
2022-04-19 lexa.knyazev@gmail.com Fix BlendStateExt::mMaxColorMask initialization
2022-04-19 cclao@google.com Vulkan: Encapsulate ShareGroup::mContexts
2022-04-19 jmadill@chromium.org gold tests: Add command-line arg for gold instance.
2022-04-19 geofflang@google.com Mark contexts as shared when importing EGL images.
2022-04-19 jmadill@chromium.org Vulkan: Prep variable info map to remove hashing.
2022-04-19 cnorthrop@google.com Revert "Infra: Enable Skia Gold tests on Pixel 6"
2022-04-19 cnorthrop@google.com Tests: Add Monster Strike trace
2022-04-19 jmadill@chromium.org Use ProgramExecutable directly in GlslangWrapper.
2022-04-19 jmadill@chromium.org Add FastMap class.
2022-04-19 jmadill@chromium.org Skip a Vulkan test due to a threading flake.
2022-04-19 jmadill@chromium.org Revert "vulkan: Call glFinish in VulkanHelper destructor"
2022-04-19 b.schade@samsung.com Add check for GL_ANDROID_extension_pack_es31a support
2022-04-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 1a408eb154d7 to 00e1ddd4230c (8 revisions)
2022-04-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from e9b55eb91cb1 to e1b5a693bbfe (303 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 wrightgeorge@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: wrightgeorge@google.com
Test: Test: angle_perftests --gtest_filter="*monster_strike*"
Change-Id: I7012678ad80369107d93a667249753f0568d2c79
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531877
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-20 05:34:07 +00:00
skia-autoroll
d5b23300e9 Roll Chromium from e44993cc0096 to ec55e318ba2b (477 revisions)
e44993cc00..ec55e318ba

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 wrightgeorge@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: wrightgeorge@google.com
Change-Id: Ic5373b99e119ceec6cbbe310f246b6318ff3baab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531876
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-20 04:54:42 +00:00
skia-autoroll
5b64108aa7 Roll SwiftShader from 103a69bd6c82 to ea5f37f39193 (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/103a69bd6c82..ea5f37f39193

2022-04-19 capn@google.com Support the new LLVM pass manager
2022-04-19 ayzhao@google.com Backport fix for C++23 incompatibility in llvm
2022-04-19 capn@google.com Delete the legacy OpenGL ES implementation's source code

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 wrightgeorge@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: wrightgeorge@google.com
Change-Id: Id4709f27a6ddf29f10d17df6884b29e8ce17c7b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531878
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-20 04:48:11 +00:00
Greg Daniel
2cf8e9b602 Reland "Update VMA to latest version."
This is a reland of commit f33cf451a2

Original change's description:
> Update VMA to latest version.
>
> This is needed so that we can use non skia supplied vk_mem_alloc.h on
> clients that have already updated to newest version. As we transition
> to Bazel builds this helps to make it so we can set the rules for
> specific clients around VMA without things breaking
>
> Bug: skia:13211
> Change-Id: I5d38a3a91a44f6b3fdf75894a3248ee3991dd5d9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531157
> Reviewed-by: Kevin Lubick <kjlubick@google.com>

Bug: skia:13211
Change-Id: Ia4a863819a7d0bb4763f1b516acfa1cc76c47a8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531548
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-04-20 00:07:47 +00:00
Robert Phillips
163a7eaf10 Revert "[graphite] Update GMs to have graphite-backed gpu SkImages"
This reverts commit 932801c29e.

Reason for revert: unhappy bots

Original change's description:
> [graphite] Update GMs to have graphite-backed gpu SkImages
>
> This makes part of of our testing infrastructure (i.e., the GMs)
> compatible with Graphite's more stringent requirements.
>
> Bug: skia:12701
> Change-Id: I5d2bf44a1f044797971a1cf6874cf1819d715ca6
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/530539
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

Bug: skia:12701
Change-Id: I1da473800efd2110c14883d63086a82af53effe2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531742
Auto-Submit: Robert Phillips <robertphillips@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-04-19 20:56:14 +00:00
Robert Phillips
932801c29e [graphite] Update GMs to have graphite-backed gpu SkImages
This makes part of of our testing infrastructure (i.e., the GMs)
compatible with Graphite's more stringent requirements.

Bug: skia:12701
Change-Id: I5d2bf44a1f044797971a1cf6874cf1819d715ca6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/530539
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-04-19 20:19:41 +00:00
skia-autoroll
ffba7ace41 Roll vulkan-deps from 1a408eb154d7 to 158676f39f3b (16 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/1a408eb154d7..158676f39f3b

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross from 6a67891418a3 to d7cae5e7cd32
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools from cb96abbf7aff to 2b2b0282af25

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: wrightgeorge@google.com
Change-Id: Id8540345f53013e1f76330ec1fe44742fa4cc22f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531693
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-19 19:59:12 +00:00
George Wright
09c7277dd0 Revert "[infra] Update iOS device provisioning profile."
This reverts commit a370ecf9fc.

Reason for revert: This broke iOS and Mac bots

Original change's description:
> [infra] Update iOS device provisioning profile.
>
> We're moving from Apple's Enterprise program to their Developer program,
> which requires a new profile. Versions 7 and 8 were mistaken uploads of
> who-knows-what by yours truly, so we skip them.
>
> Change-Id: I1b7913781eae5c643e60b47ad374a4365cef7bce
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531553
> Reviewed-by: Ravi Mistry <rmistry@google.com>
> Commit-Queue: Erik Rose <erikrose@google.com>

Change-Id: Icbf9fbf6ed1b84a884ed6aeeebe37ea04ad14bb2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531696
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: George Wright <wrightgeorge@google.com>
2022-04-19 18:49:51 +00:00
Herb Derby
c68df46606 Remove bilerp from GrTextBlob except for fSupportBilerpAtlas field.
Change-Id: If586b3797bb458bf8806d3d030b2ed94e07b990f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531257
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-19 18:03:11 +00:00
Herb Derby
07f53c1bb6 Remove bilerp flag from GrTextBlob's API
Change-Id: Ie1330ee4f9ae2eeedb0dfb378b753dcfd9293107
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531322
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-19 17:34:35 +00:00
Erik Rose
a370ecf9fc [infra] Update iOS device provisioning profile.
We're moving from Apple's Enterprise program to their Developer program,
which requires a new profile. Versions 7 and 8 were mistaken uploads of
who-knows-what by yours truly, so we skip them.

Change-Id: I1b7913781eae5c643e60b47ad374a4365cef7bce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531553
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Erik Rose <erikrose@google.com>
2022-04-19 17:32:36 +00:00
John Stiles
721a07f5f6 Optimize away self comparisons in SPIR-V.
(This mirrors an optimization performed in the constant folder.)

Expressions like `OpIEqual %20 %20` or `OpFUnordNotEqual %15 %15` can be
replaced by `true` or `false` on sight. The GLSL spec makes it clear
that checking for NaN is optional:

4.7.1 Range and Precision
"... NaNs are not required to be generated. Support for signaling NaNs
is not required and exceptions are never raised. Operations and built-in
functions that operate on a NaN are not required to return a NaN as the
result."

Change-Id: I2e29b659a73582e9ade0eb61f70f7d362a007c50
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531550
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-04-19 16:10:03 +00:00
John Stiles
fce87a43e6 Move store-cache handling into writeLabel.
Previously, every expression/statement type was responsible for
pruning or clearing the store-cache when branches were involved. This
was difficult to reason about and easy to get wrong, particularly if
the details are not fresh in your mind.

Now, `writeLabel` takes care of the details for you. Pass in the
location of the branch(es) which use the label, and the proper cache
updating behavior will occur automatically.

Some of the label enum types are not strictly necessary and exist for
the benefit of a reader. Specifically:
 - `kBranchlessBlock` and `kBranchIsOnPreviousLine` are synonyms
 - `kBranchIsBelow` and `kBranchesOnBothSides` are also synonyms

The hope is that extra enum names will be easier for a reader to
follow, versus fewer but very-verbose enum names (like
 `kBranchIsBelowOrOnBothSides`).

This change earned some very minor switch-related dividends. Previously,
every label in a switch was treated as a forward-branch, but in fact,
the very first label in a switch is privileged. This is because we are
branching from the previous line, and the store cache is trustworthy in
this case. (Versus "branching from above," where the store cache needs
to be pruned before it can be trusted.)

Change-Id: I38b539069c22be9f0777b632f60f0eab2409d687
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531540
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-04-19 15:17:01 +00:00
Derek Sollenberger
d5c047004d Revert "Update VMA to latest version."
This reverts commit f33cf451a2.

Reason for revert: breaking the android roller

Original change's description:
> Update VMA to latest version.
>
> This is needed so that we can use non skia supplied vk_mem_alloc.h on
> clients that have already updated to newest version. As we transition
> to Bazel builds this helps to make it so we can set the rules for
> specific clients around VMA without things breaking
>
> Bug: skia:13211
> Change-Id: I5d38a3a91a44f6b3fdf75894a3248ee3991dd5d9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531157
> Reviewed-by: Kevin Lubick <kjlubick@google.com>

Bug: skia:13211
Change-Id: Ibd621aa2f07359f9b72e1a35df0f50ca3c063e86
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531543
Auto-Submit: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-04-19 14:49:08 +00:00
Herb Derby
2d8f4c76fa Remove bilerp flag from DirectMaskSubRun
Change-Id: I0dbcfde1615a4d2875906753e289b0cb15a7ba51
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531321
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-19 14:47:28 +00:00
Brian Salomon
05106ac1c3 Remove guard for skif rounding change.
Consolidate skif tolerance rounding.

Bug: chromium:1313579
Change-Id: I8d18627fb09cf78beb3013a045e62348c0c87127
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531316
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-04-19 14:07:59 +00:00
John Stiles
56bc24c004 Remove complex path simplification code.
Now that we can call into Skia utils directly, we can use the
preexisting code from SkOSPath instead.

Change-Id: I67e3099e97ec0e93acc08c7f2142a01a2af48f15
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531416
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-04-19 12:51:35 +00:00
skia-autoroll
931ce6efbc Roll ANGLE from 3636d129ee9c to 197100880118 (5 revisions)
3636d129ee..1971008801

2022-04-19 cclao@google.com Vulkan: Call into vulkan directly for big size allocation.
2022-04-18 abdolrashidi@google.com Vulkan: Remove retains before acquireBufferHelper
2022-04-18 lexa.knyazev@gmail.com Metal: Fix bytesPerRow computation for compressed formats
2022-04-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 7f875b15c6a3 to 1a408eb154d7 (4 revisions)
2022-04-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 573f2ec89cb9 to e9b55eb91cb1 (411 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 wrightgeorge@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: wrightgeorge@google.com
Change-Id: I850915c8b82152b6cfc28b979e42656e81780864
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531402
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-19 05:29:37 +00:00
skia-autoroll
a984f4d5be Roll Chromium from 9b1b8c387f01 to e44993cc0096 (297 revisions)
9b1b8c387f..e44993cc00

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 wrightgeorge@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: wrightgeorge@google.com
Change-Id: Ifa5a23b958491aac1ebb0e3886e2b1754018d47a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531401
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-19 04:40:10 +00:00
skia-autoroll
8f8ae5e3c3 Roll Dawn from 69daaab75938 to d431eb9d94fd (13 revisions)
https://dawn.googlesource.com/dawn.git/+log/69daaab75938..d431eb9d94fd

2022-04-19 dsinclair@chromium.org [tint] Move potential type creation out of ValidateReturn.
2022-04-19 dsinclair@chromium.org [tint] Remove current_function from ValidateReturn.
2022-04-19 dsinclair@chromium.org [tint] Remove current_function from ValidateFunction.
2022-04-19 dsinclair@chromium.org [tint] Remove current_function from ValidateStructure.
2022-04-19 dsinclair@chromium.org [tint] Remove current_function from ValidateEntryPoint.
2022-04-19 dsinclair@chromium.org [tint] Remove current_function_ from ValidateBuiltinAttribute.
2022-04-19 dsinclair@chromium.org [tint] Remove current_function_ usage from ValidateLocationAttribute.
2022-04-19 shaobo.yan@intel.com Add Debug Tracing in Dawn
2022-04-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from d903818a85ad to 866210add2f6 (2 revisions)
2022-04-18 aleksi.sapon@faro.com Fix integer truncation bug
2022-04-18 bajones@chromium.org Revert "Enable gn check for all build targets."
2022-04-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 1a408eb154d7 to 8b8b53e7b6de (1 revision)
2022-04-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 3636d129ee9c to d903818a85ad (1 revision)

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 shrekshao@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: shrekshao@google.com
Change-Id: I1c5dc564652edffb62a25f781c739f2ffdc11e80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531403
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-04-19 04:39:39 +00:00
Ben Wagner
d9f96ab14e Don't set FT_LOAD_COLOR on scalable fonts.
FreeType introduced FT_LOAD_COLOR in 2.5 so an application could
indicate that it could handle the new color format. If this glyph load
flag was not set then the colors would be desaturated into the old gray
format so that something would be drawn while applications were updated.
The only source of color glyphs was bitmaps, but Skia always set the
flag on both scalable and non-scalable (bitmap and outline) fonts.

In FreeType 2.10 the meaning of this flag was expanded to mean that
using FreeType to render a glyph with an associated COLR entry would
attempt to draw using the color layers instead of the base glyph. This
did not affect Skia since Skia handles the color layers itself.

In FreeType 2.12 the meaning of this flag was updated again to mean that
if using FreeType to load a glyph with an associated SVG entry would
prefer loading the glyph with a new FT_GLYPH_FORMAT_SVG. This means any
users loading a glyph with FT_LOAD_COLOR on a scalable font (like Skia
has been) will get this new format and not the base outlines.

In order to work properly with this setup, Skia must ensure the
FT_LOAD_COLOR is only set on scalable (outline) fonts when Skia supports
SVG glyphs. For now this means setting FT_LOAD_COLOR on bitmap fonts
only with a comment where it should be set when SVG is supported.

Change-Id: Iaf8991b73d353ab7bda836ff4c290d75ab519d78
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531323
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-04-19 02:41:10 +00:00
Herb Derby
78849da620 Remove bilerp from DirectMaskSubRunNoCache
Change-Id: Iea498cfb478d2cc70be131582371f2874b63d4f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531256
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-18 23:17:37 +00:00
Herb Derby
b7bddda319 Remove bilerpPadding from SubRuns down to AtlasManager
Change-Id: I4a6a7306f6549c1749ee013b7ba6de4408dbf05a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/529206
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-18 22:31:08 +00:00
Herb Derby
88530c559e Simplify all the regenerateAtlas calls to remove unused parameter
Change-Id: Ibb6eee4aec76dfd20f242598dd90553c5572fbf4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/530680
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-04-18 20:58:05 +00:00
Greg Daniel
f33cf451a2 Update VMA to latest version.
This is needed so that we can use non skia supplied vk_mem_alloc.h on
clients that have already updated to newest version. As we transition
to Bazel builds this helps to make it so we can set the rules for
specific clients around VMA without things breaking

Bug: skia:13211
Change-Id: I5d38a3a91a44f6b3fdf75894a3248ee3991dd5d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531157
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2022-04-18 20:28:30 +00:00
Brian Salomon
3d07148b85 Reland "Eval args of trace macros in debug builds"
This is a reland of commit ca0c82a968

Original change's description:
> Eval args of trace macros in debug builds
>
> Change-Id: I9ae48cfa23948fbdcdf6e8997365f5a8c2b3be8b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/530677
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Change-Id: I8eb6c5fb129e907577c504776c3bab37c6a94fec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/531236
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-04-18 19:46:44 +00:00