Commit Graph

59588 Commits

Author SHA1 Message Date
ColdPaleLight
227764e5c9 Remove obsolete sk_cf_obj
sk_cf_obj has been migrated to sk_cfp in Flutter's PR https://github.com/flutter/engine/pull/30029

Change-Id: If86926b311a38af3d2a436d6afee0cdc7ebdc65b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/514696
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-11 05:59:16 +00:00
skia-autoroll
a2f15efff5 Roll ANGLE from fe4fa1cb2aa8 to b97aab3f862a (10 revisions)
fe4fa1cb2a..b97aab3f86

2022-03-10 cclao@google.com Vulkan: resync mCurrentElementArrayBuffer when out of lineloop
2022-03-10 jmadill@chromium.org perf tests: Report multiple time metrics.
2022-03-10 geofflang@google.com Emulate RGB10 (no alpha) on desktop OpenGL.
2022-03-10 jmadill@chromium.org Vulkan: Expose performance counters via extension.
2022-03-10 gert.wollny@collabora.com Capture/Replay: Override GL_HALF_FLOAT type for legacy formats
2022-03-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 3c9e2a377a64 to e3d910c94d33 (4 revisions)
2022-03-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 4661f6635ad5 to 2d9abfbddc1b (4 revisions)
2022-03-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 7a1995be961b to ceeef8f99b7d (533 revisions)
2022-03-10 j.vigil@samsung.com Remove unused Semaphore::init
2022-03-10 antonio.caggiano@collabora.com Vulkan: Non-mutable DmaBuf images

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 brianosman@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: brianosman@google.com
Change-Id: I3daaad516b513107420589466e6b607c590a8725
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519761
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-11 05:32:46 +00:00
skia-autoroll
5f62f8ca39 Roll SwiftShader from e3d910c94d33 to c27e99245d42 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/e3d910c94d33..c27e99245d42

2022-03-10 swiftshader.regress@gmail.com Regres: Update test lists @ e3d910c9
2022-03-10 capn@google.com Regres: Include UNSUPPORTED() failures in CI test runs

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 brianosman@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: brianosman@google.com
Change-Id: I51306cba1d2bf0af18d5e02a071500d4ab275b81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519760
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-11 04:46:20 +00:00
skia-autoroll
6baef21e5b Roll Dawn from 8c5e3ede3975 to ed840583eb79 (7 revisions)
https://dawn.googlesource.com/dawn.git/+log/8c5e3ede3975..ed840583eb79

2022-03-11 shrekshao@google.com Relax vertex stride requirement
2022-03-11 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from e3d910c94d33 to c27e99245d42 (2 revisions)
2022-03-10 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 2d9abfbddc1b to 881a589c0ed9 (6 revisions)
2022-03-10 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from fe4fa1cb2aa8 to f7474347f933 (5 revisions)
2022-03-10 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 89bd767fec53 to e3d910c94d33 (3 revisions)
2022-03-10 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 6d4e78fa7f02 to 2d9abfbddc1b (3 revisions)
2022-03-10 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 5e0c51ce7c09 to fe4fa1cb2aa8 (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/dawn-skia-autoroll
Please CC lokokung@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: lokokung@google.com
Change-Id: I42848445a5765f69965265f5b45a78b8eb3fadb1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519762
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-11 04:41:46 +00:00
Aditya Kushwah
52771e2bb3 Plumbing the label string through Skia.
This CL defines a const string in GrGPUResource and have the
constructors accept it. The label string is then plumbed through the
system for other components to accept it.

Bug: chromium:1164111
Change-Id: I6cc759f9263dedd4b2cc0c3ca7cf280be5d74174
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/508798
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-03-11 03:06:47 +00:00
John Stiles
95e4a402cf Update SkTCopyOnFirstWrite to wrap an optional<T>.
Previously, this wrapped an SkTLazy<T>, but in C++17, SkTLazy is just a
thin wrapper on top of std::optional. This CL removes the middle-man.

Change-Id: I78f88d24a7933dfac4b637367a3d1e7ee80b3070
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519622
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-03-11 02:49:05 +00:00
John Stiles
eda97288bd Disable SkSLPreserveSideEffects in wasm tests.
This test fails on P400 GPUs (used in our Golo machines) but the wasm
tests do not honor the dm_flags test exclusions. (Another good reason to
implement skia:13034.)

Failing on tree: http://screen/4PxKQrjxaXpL9Q2

Change-Id: I086fb3293b3f4eaad877064470002525a7d6e75f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519621
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-03-11 00:05:47 +00:00
Jim Van Verth
5d1aa2aff8 [metal] Add more checks around command buffer operations
Bug: b/212296687
Change-Id: I9f5b5966e7cc497f8c8591463801ef558297f3ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519620
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-10 22:02:12 +00:00
Robert Phillips
35f435160c [graphite] Have the kSolidColorShader shader snippet's uniform be premul
This makes the fixed-function blending happier

Bug: skia:12701
Change-Id: I398977a3ce9c25949535f73a83b9eb774d2d1c35
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519616
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-03-10 21:14:12 +00:00
John Stiles
333159568d Add CurrestTestHarness helper method to WasmGMTests.
Change-Id: Ifcfe69974fabf15f73ac010ab1ae6775868af629
Bug: skia:13037
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519618
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-03-10 21:14:03 +00:00
Jim Van Verth
6cb3f3d2c7 [graphite] Add Recorder accessors to SkCanvas and SkSurface
Bug: skia:12845
Change-Id: Ic036dea6b58682a6463f8c34d915730c4bfe677b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519617
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-10 20:47:02 +00:00
Florin Malita
5fe4b6faeb Revert "[skottie] Fix text-on-path tracking"
This reverts commit ca973cbea0.

Reason for revert: g3 image diffs

Original change's description:
> [skottie] Fix text-on-path tracking
>
> Tracking and line spacing computations require knowledge of cumulative
> values for the whole line => we need two passes:
>
>   1) compute cumulative values
>   2) compute per-fragment position adjustments
>
> Currently, #1 is implemented in the main onSync() loop (as we iterate
> to compute fragment props) and #2 is post-applied via adjustLineProps(),
> after the main loop.
>
> The problem is adjustLineProps() is executed after positioning glyphs on
> path, and tracking is not taken into account for path positioning
> (instead it moves glyphs horizontally, unrelated to the path).
>
> To fix this, we need tracking adjustments to be applied before
> positioning on path (which is performed in fragmentMatrix()).
>
>   - move the cumulative tracking computation to a dedicate lambda
>     (compute_linewide_props)
>   - move the fragment position adjustments to the main onSync() loop
>     (that way they participate in path positioning)
>   - to avoid executing the first pass unnecessarily, add flags to detect
>     the presence of tracking and line spacing animators.
>
>
> Change-Id: Ieef2afb53ffe14177eba0ef41dc5c71149cab070
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518696
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Florin Malita <fmalita@google.com>

Change-Id: Ia99fbb3d7d98eb6a59ff00d796bcc05bc6db63a3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519597
Auto-Submit: Florin Malita <fmalita@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-03-10 20:33:09 +00:00
Michael Ludwig
b141e485d2 Don't overflow tile calculation
Bug: chromium:1299266
Change-Id: Ic3d0f5e96c9c1d3d0b50cc20b41143481cdbb042
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519324
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-10 19:20:47 +00:00
Florin Malita
ca973cbea0 [skottie] Fix text-on-path tracking
Tracking and line spacing computations require knowledge of cumulative
values for the whole line => we need two passes:

  1) compute cumulative values
  2) compute per-fragment position adjustments

Currently, #1 is implemented in the main onSync() loop (as we iterate
to compute fragment props) and #2 is post-applied via adjustLineProps(),
after the main loop.

The problem is adjustLineProps() is executed after positioning glyphs on
path, and tracking is not taken into account for path positioning
(instead it moves glyphs horizontally, unrelated to the path).

To fix this, we need tracking adjustments to be applied before
positioning on path (which is performed in fragmentMatrix()).

  - move the cumulative tracking computation to a dedicate lambda
    (compute_linewide_props)
  - move the fragment position adjustments to the main onSync() loop
    (that way they participate in path positioning)
  - to avoid executing the first pass unnecessarily, add flags to detect
    the presence of tracking and line spacing animators.


Change-Id: Ieef2afb53ffe14177eba0ef41dc5c71149cab070
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518696
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
2022-03-10 18:19:16 +00:00
Arman Uguray
e70f2e0e0f [sksl][test] Add more folding tests for side-effecting expressions
Moved the MatrixFoldingES2.sksl test case for matrix construction with
side-effects into a new PreserveSideEffects.sksl test and added new test
cases for various vector and matrix types and constructors. The new test
is written such that none of its contents should be folded away.

Note: This test does not pass on NVIDIA GPUs when using OpenGL as
discussed in skia:13035. Notably, NONE of the increments are executed on
those GPUs as ALL increment expressions seemingly get subjected to
constant-folding. The test is disabled on NVIDIA GPU bots.

This also means that the remaining MatrixFoldingES2.sksl tests now work
on NVIDIA GPUs when using OpenGL (with the exception of Tegra3 + OpenGL
ES).

Bug: skia:13035, skia:11919
Change-Id: I561bb62fe2b6b814ba80fbc492d3885bbcd6b65b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518278
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-03-10 18:06:12 +00:00
John Stiles
c5ca065411 Add CurrestTestHarness helper method.
This lets us differentiate SkQP from other testing harnesses (like DM or
Viewer) at runtime.

This allows us to change strictness or deactivate tests when SkQP is
running. Previously we had a macro SK_BUILD_FOR_SKQP for this, but this
did not work on a local skqp binary; it only activated when compiling
for Android.

Change-Id: I7334e04ea1eddda783a5d2f26699edd20828f81a
Bug: skia:13037
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518939
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-03-10 18:05:28 +00:00
Greg Daniel
79ca52d678 Initialize D3D stencil load op.
Bug: skia:13045
Change-Id: Ie2c027f2fbf017933dbe9cd998f34c18271afcc9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519278
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-10 17:36:32 +00:00
Michael Ludwig
02ea811ce8 [graphite] Add a DynamicInstances mode to DrawWriter
This changes the fTemplateCount field in DrawWriter to be just 'int'.
fTemplateCount == 0 remains the signal for vertex-only drawing, but
now "dynamic" instances are encoded as negative values (-count-1).

A dynamic instance is needed for curved path rendering where each
block of instances uses an index count based specifically on the
tessellation level chosen by Wang's formula. However, the shaders and
the vertex/index structure is designed so that if a subsequent instance
required higher tessellation, the other instances could still be
invoked with that draw call's higher index count and the shader will
produce degenerate triangles (a little extra work in the VS, but far
fewer draw flushes).

Cq-Include-Trybots: luci.skia.skia.primary:Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Release-All-Graphite,Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-ASAN_Graphite,Build-Mac-Clang-arm64-Release-Graphite,Build-Mac-Clang-arm64-Release-iOS_Graphite,Build-Mac-Clang-arm64-Debug-iOS_Graphite,Build-Mac-Clang-arm64-Debug-Graphite_NoGpu,Build-Mac-Clang-arm64-Debug-Graphite,Build-Mac-Clang-arm64-Debug-ASAN_Graphite
Bug: skia:12703
Change-Id: I96387daf86a53aa4861e253250bac7e500e3d53c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/498317
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-10 17:03:05 +00:00
Nathaniel Nifong
ee4f34edd3 delete experimental/wasm-skp-debugger
Change-Id: I3188e08f0f451938b16af0f3326607ea4d47ba92
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519319
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2022-03-10 16:30:16 +00:00
Michael Ludwig
841906a850 [graphite] Don't reset uniform bindings on pipeline change
This is pulled from https://skia-review.googlesource.com/c/skia/+/492400

I noticed this when trying to determine pipeline changes in graphite on
the motionmark SKPs. Resetting the uniform bindings to invalid when we
switched pipelines because of a stencil-only pass meant a lot of extra
re-binding. Additionally, with graphite splitting bindings between
geometry and shading, this potentially avoids a rebind when a program
has a compatible shading snippet, or a compatible RenderStep.

Cq-Include-Trybots: luci.skia.skia.primary:Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Release-All-Graphite,Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-ASAN_Graphite,Build-Mac-Clang-arm64-Release-Graphite,Build-Mac-Clang-arm64-Release-iOS_Graphite,Build-Mac-Clang-arm64-Debug-iOS_Graphite,Build-Mac-Clang-arm64-Debug-Graphite_NoGpu,Build-Mac-Clang-arm64-Debug-Graphite,Build-Mac-Clang-arm64-Debug-ASAN_Graphite
Change-Id: I42e60194a09b30b717d814acb4584c3f1eb884d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519079
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-10 16:21:21 +00:00
Brian Osman
4b3403e6c8 Fix image shader local matrix not being applied on CPU
We were using the shader wrapper's local matrix (which is
always identity), rather than the original (wrapped)
shader's local matrix.

Bug: skia:13047
Change-Id: I7c70d9a4d210746141633e3664cb7ba5841a732d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519376
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-03-10 15:56:45 +00:00
Michael Ludwig
c88fff00c8 PatchWriter vertex allocation is templated
This is the last step to allow graphite to drop in a different
VertexWriter mechanism that works off DrawBufferManager/DrawWriter
isntead of GrVertexChunkArrayBuilder for Ganesh.

Bug: skia:13012
Change-Id: I986b102d951f9ea133e35a30376f775992d484e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518938
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-10 15:41:53 +00:00
Michael Ludwig
f4f8bbb577 [graphite] Support reserving and returning vertex data in DrawWriter
Cq-Include-Trybots: luci.skia.skia.primary:Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Release-All-Graphite,Test-Mac11-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-ASAN_Graphite,Build-Mac-Clang-arm64-Release-Graphite,Build-Mac-Clang-arm64-Release-iOS_Graphite,Build-Mac-Clang-arm64-Debug-iOS_Graphite,Build-Mac-Clang-arm64-Debug-Graphite_NoGpu,Build-Mac-Clang-arm64-Debug-Graphite,Build-Mac-Clang-arm64-Debug-ASAN_Graphite
Bug: skia:12703
Change-Id: I5f1221ff7a51ca8b5935f6f46dd5d5a364cfec45
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/498316
Reviewed-by: Christopher Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-10 15:40:53 +00:00
John Stiles
07e0a0abd3 Honor SkQP flag when running SkSL tests.
The Android builds of SkQP will conditionally exclude any tests that are
not flagged with `SkQP`.

Note that local builds of the C++ skqp binary do not actually set
SK_BUILD_FOR_SKQP. This flag is set by gn_to_bp. So local skqp binaries
will continue to run these tests. A possible fix for this limitation
has been written in the followup CL: http://review.skia.org/518939

Change-Id: I879650d165c5931693b14102586bae2c9e45dd43
Bug: skia:13037
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518936
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2022-03-10 15:16:23 +00:00
Florin Malita
3e8d2d286b Fix SkVideoDecoder build
Missing headers after
https://skia-review.googlesource.com/c/skia/+/518277.

Change-Id: I28c2a925846348f769f2774061eef756e268f680
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519316
Commit-Queue: Florin Malita <fmalita@chromium.org>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-10 14:21:44 +00:00
Michael Ludwig
5eb9e9e88c Reland "Convert PatchWriter to trait-oriented template"
This reverts commit bad94bc85a.

Reason for revert: the reverted CL moved the updateStrokeParamsAttrib
call into updateTolerances(), but forgot to guard it with checking
the PatchAttrib.

Original change's description:
> Revert "Convert PatchWriter to trait-oriented template"
>
> This reverts commit 2393b88311.
>
> Reason for revert: Asserts on ASAN bots.
>
> Original change's description:
> > Convert PatchWriter to trait-oriented template
> >
> > This allows the different variations to have compile-time optimizations
> > for certain features related to stroking, curve-filling, or wedges.
> > Additionally, it extends the attrib writing system to let graphite take
> > advantage of compile-time-only attribute configs and avoid using
> > VertexWriter::If per patch.
> >
> > Benchmark                              Orig   ->   ToT    ->   CL
> > StrokeFixedCountTessellator_motionmark 845us  ->  904us   ->  871us
> > StrokeFixedCountTessellator_one_chop   3.03ms ->  3.29ms  ->  2.89ms
> > StrokeFixedCountTessellator            2.15ms ->  2.21ms  ->  1.93ms
> > StrokeHardwareTessellator_motionmark   560us  ->  601us   ->  551us
> > StrokeHardwareTessellator_one_chop     2.45ms ->  4.23ms  ->  3.89ms
> > StrokeHardwareTessellator              395us  ->  478us   ->  399us
> > PathWedgeTessellator                   313us  ->  407us   ->  367us
> > PathCurveTessellator                   278us  ->  335us   ->  331us
> >
> > With these results from my workstation, we nearly recovered the
> > regression on the SFCT_motionmark benchmark and exceeded original perf
> > on the SFCT_on_chop and SFCT benchmarks. SHT_motionmark and SHT have
> > returned to original, and SHT_one_chop has improved. I'm less concerned
> > about bringing that back down since SHT is on the chopping block. We see
> > some improvements on the PWT and PCT benches.
> >
> > Change-Id: Id76d34089dbaa50fe7d5f82fe54ee3cf605d0c24
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/512577
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
>
> Change-Id: Ief826c4e489742df98dbe7a38165dd72537ece3d
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519076
> Auto-Submit: Brian Osman <brianosman@google.com>
> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>

Bug: skia:13012
Change-Id: Ife3e8b30c7e817b253f957b9ebd55f540b60be92
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519077
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-03-10 14:08:29 +00:00
skia-autoroll
43557a6d55 Roll ANGLE from 2d12b321826c to fe4fa1cb2aa8 (7 revisions)
2d12b32182..fe4fa1cb2a

2022-03-10 cclao@google.com Vulkan: Tune pruneEmptyBuffers() to be a bit more aggressive
2022-03-09 cnorthrop@google.com Test: Add Solar Smash trace
2022-03-09 m.maiya@samsung.com Early return when rebinding the same buffer, sampler or texture
2022-03-09 j.vigil@samsung.com Vulkan: Add EGL to VULKAN mapping for BT2020 colorspace
2022-03-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from a7a3a6313703 to 4661f6635ad5 (4 revisions)
2022-03-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from fc40ddd2a901 to 3c9e2a377a64 (5 revisions)
2022-03-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 614f751bf536 to 7a1995be961b (475 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 brianosman@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: brianosman@google.com
Test: Test: SimpleStateChangeTestES3.BindingSame*
Test: Test: angle_perftests --gtest_filter="*solar_smash*"
Change-Id: I53be12cde1e7fcd3ebeffc67995cb1efa64f5eee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519137
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-10 05:30:42 +00:00
Kevin Lubick
efce17de5d Reland "[includes] Remove link between SkImage.h and SkImageEncoder.h"
This is a reland of commit f60584eb0f

Client changes:
 - https://chromium-review.googlesource.com/c/chromium/src/+/3508565
 - http://cl/433225409
 - http://cl/433450799

Original change's description:
> [includes] Remove link between SkImage.h and SkImageEncoder.h
>
> According to go/chrome-includes [1], this will save about
> 210MB (0.09%) off the Chrome build. http://screen/GVdDaRRneTRuroL
>
> [1] https://commondatastorage.googleapis.com/chromium-browser-clang/include-analysis.html#view=edges&filter=%5Ethird_party%2Fskia%2Finclude%2Fcore%2FSkImage%5C.h%24&sort=asize&reverse=&includer=%5Ethird_party%2Fskia%2Finclude%2Fcore%2FSkImage%5C.h%24&included=&limit=1000
>
> Change-Id: If911ec283a9ce2b07c8509768a6a05446573a215
> Bug: 242216
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/512416
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Kevin Lubick <kjlubick@google.com>

Bug: 242216
Change-Id: Ic61e4ac2878e7a51f389312a3a434856e2e32be3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518277
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-10 04:47:51 +00:00
skia-autoroll
a1c0e3da5a Roll SwiftShader from fdf93385496f to e3d910c94d33 (7 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/fdf93385496f..e3d910c94d33

2022-03-09 sugoi@google.com VK_KHR_shader_integer_dot_product implementation
2022-03-09 sugoi@google.com Use enums of promoted 1.3 extensions
2022-03-09 sugoi@google.com Use VK_EXT_texture_compression_astc_hdr's promoted features
2022-03-09 helo@vewd.com Convert failing assert condition
2022-03-09 capn@google.com Pass the RelaxedPrecision decoration value to all affected instructions
2022-03-09 capn@google.com Support specifying math precision through a template argument
2022-03-09 capn@google.com Improve exp2 accuracy through weight adjustment

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 brianosman@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: brianosman@google.com
Change-Id: Ie63c0883e76674fd6ff075857c8299ad8abc37eb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519136
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-10 04:46:17 +00:00
skia-autoroll
157ccdb54c Roll Dawn from 9b0718c7a88a to 8c5e3ede3975 (8 revisions)
https://dawn.googlesource.com/dawn.git/+log/9b0718c7a88a..8c5e3ede3975

2022-03-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 3c9e2a377a64 to 89bd767fec53 (1 revision)
2022-03-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 41f8d2ad52ff to b86895da5f74 (1 revision)
2022-03-09 shrekshao@google.com Rename SurfaceDescriptorFromXlib -> SurfaceDescriptorFromXlibWindow
2022-03-09 enga@chromium.org Make loapOp/storeOp undefined valid
2022-03-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 7df3f6282518 to 6d4e78fa7f02 (2 revisions)
2022-03-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 2d12b321826c to 5e0c51ce7c09 (3 revisions)
2022-03-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from b21967ee088b to 3c9e2a377a64 (4 revisions)
2022-03-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 44d2b785120a to 7df3f6282518 (2 revisions)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 41f8d2ad52ff to b86895da5f74

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 lokokung@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: lokokung@google.com
Change-Id: I225ea0d94389036a9b17584e4b13941f70b1106d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519138
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-10 04:42:24 +00:00
Florin Malita
762f8fbcad Reland "[skottie] Max lines text auto-sizing constraint"
This relands commit 4d6d9e3f89.

Original change's description:
> [skottie] Max lines text auto-sizing constraint
>
> Introduce a new text property ("xl"), to limit the number of lines when
> auto-sizing.
>
> This is a Skottie extension, pending UI/controls in Bodymovin.
>
> Change-Id: Id0f1e633e1b324a97b227d6b187cd540990796a7
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518498
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
> Commit-Queue: Florin Malita <fmalita@google.com>

Change-Id: Ib9d28366332866d8b787f89fa1dc13132c02b435
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518699
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2022-03-10 02:22:09 +00:00
Brian Osman
bad94bc85a Revert "Convert PatchWriter to trait-oriented template"
This reverts commit 2393b88311.

Reason for revert: Asserts on ASAN bots.

Original change's description:
> Convert PatchWriter to trait-oriented template
>
> This allows the different variations to have compile-time optimizations
> for certain features related to stroking, curve-filling, or wedges.
> Additionally, it extends the attrib writing system to let graphite take
> advantage of compile-time-only attribute configs and avoid using
> VertexWriter::If per patch.
>
> Benchmark                              Orig   ->   ToT    ->   CL
> StrokeFixedCountTessellator_motionmark 845us  ->  904us   ->  871us
> StrokeFixedCountTessellator_one_chop   3.03ms ->  3.29ms  ->  2.89ms
> StrokeFixedCountTessellator            2.15ms ->  2.21ms  ->  1.93ms
> StrokeHardwareTessellator_motionmark   560us  ->  601us   ->  551us
> StrokeHardwareTessellator_one_chop     2.45ms ->  4.23ms  ->  3.89ms
> StrokeHardwareTessellator              395us  ->  478us   ->  399us
> PathWedgeTessellator                   313us  ->  407us   ->  367us
> PathCurveTessellator                   278us  ->  335us   ->  331us
>
> With these results from my workstation, we nearly recovered the
> regression on the SFCT_motionmark benchmark and exceeded original perf
> on the SFCT_on_chop and SFCT benchmarks. SHT_motionmark and SHT have
> returned to original, and SHT_one_chop has improved. I'm less concerned
> about bringing that back down since SHT is on the chopping block. We see
> some improvements on the PWT and PCT benches.
>
> Change-Id: Id76d34089dbaa50fe7d5f82fe54ee3cf605d0c24
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/512577
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

Change-Id: Ief826c4e489742df98dbe7a38165dd72537ece3d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519076
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-03-10 00:29:04 +00:00
Michael Ludwig
2393b88311 Convert PatchWriter to trait-oriented template
This allows the different variations to have compile-time optimizations
for certain features related to stroking, curve-filling, or wedges.
Additionally, it extends the attrib writing system to let graphite take
advantage of compile-time-only attribute configs and avoid using
VertexWriter::If per patch.

Benchmark                              Orig   ->   ToT    ->   CL
StrokeFixedCountTessellator_motionmark 845us  ->  904us   ->  871us
StrokeFixedCountTessellator_one_chop   3.03ms ->  3.29ms  ->  2.89ms
StrokeFixedCountTessellator            2.15ms ->  2.21ms  ->  1.93ms
StrokeHardwareTessellator_motionmark   560us  ->  601us   ->  551us
StrokeHardwareTessellator_one_chop     2.45ms ->  4.23ms  ->  3.89ms
StrokeHardwareTessellator              395us  ->  478us   ->  399us
PathWedgeTessellator                   313us  ->  407us   ->  367us
PathCurveTessellator                   278us  ->  335us   ->  331us

With these results from my workstation, we nearly recovered the
regression on the SFCT_motionmark benchmark and exceeded original perf
on the SFCT_on_chop and SFCT benchmarks. SHT_motionmark and SHT have
returned to original, and SHT_one_chop has improved. I'm less concerned
about bringing that back down since SHT is on the chopping block. We see
some improvements on the PWT and PCT benches.

Change-Id: Id76d34089dbaa50fe7d5f82fe54ee3cf605d0c24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/512577
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-09 21:51:11 +00:00
Brian Salomon
40fd0abc03 Don't assume a small number of max GrSamplerStates.
This is in prep to add a another dimension to sampler state for aniso.

The main culprit here is the GL backend which used a sampler cache
that assumed it could store all possible sampler states at once. Make it
LRU-based.

Metal backend was using the max possible sampler states constant where
I don't think it should have been.

Bug: skia:13036

Change-Id: I5b1027f815957a7f883e52607110ff5cb5c6974b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516836
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-03-09 20:40:40 +00:00
Nathaniel Nifong
db949f4643 Remove three qualcomm related tests from skqp
Bug: b/222736702
Change-Id: I0dfeea605b65b42ed3f2521698a9c998d0787105
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518698
Auto-Submit: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
2022-03-09 19:49:46 +00:00
Nathaniel Nifong
0832e2081d add one more test suite category for skqp
Change-Id: I3d49bfab23870bb8f96b800d5ecec8730a0b41a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516377
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2022-03-09 19:44:12 +00:00
Leon Scroggins III
c34d8c8e94 Add an OWNERS.android file
Include a bug component, so that automated bug triaging can assign to
the right component.

Use "*" for owners, which matches the OWNERS file. Permission to submit
is gated by Gerrit ACLs.

While it would be nice to specify actual owners, this prevents our
roller from working. See b/199385287 and skbug.com/12454.

Change-Id: Ib7c7834fc28ebd30b9f780af668f249f194a32d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517877
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2022-03-09 19:33:22 +00:00
Kevin Lubick
27be14f2ca [includes] Prepare to remove SkColor<->SkImageInfo
This breaks out the SkAlphaType and SkColorType enums into
their own files, which lets us break the dependency between
SkColor and SkImageInfo.

It does not yet sever the link, but we plan to land this
so as to migrate clients to the new enum files if necessary.

This is estimated to save Chrome 230 MB of build size [1]
(about 0.1%) http://screen/4dMqPC9rvAyCk6y

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

Change-Id: I331d414fe2996632ab11825c1092060ff5fe2ebd
Bug: 242216
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517678
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-09 18:40:44 +00:00
Kevin Lubick
677a12f38d [includes] Fix up transitive dependencies on SkBitmap
Change-Id: Ie1ba66881743eee01d36f7c7032307fbdca1e671
Bug: 242216
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518496
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-09 18:25:17 +00:00
Florin Malita
4ea42a38eb Revert "[skottie] Max lines text auto-sizing constraint"
This reverts commit 4d6d9e3f89.

Reason for revert: g3 breakage

Original change's description:
> [skottie] Max lines text auto-sizing constraint
>
> Introduce a new text property ("xl"), to limit the number of lines when
> auto-sizing.
>
> This is a Skottie extension, pending UI/controls in Bodymovin.
>
> Change-Id: Id0f1e633e1b324a97b227d6b187cd540990796a7
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518498
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
> Commit-Queue: Florin Malita <fmalita@google.com>

Change-Id: I8877234d4d267f553b0f07255b5db13179294b90
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518697
Auto-Submit: Florin Malita <fmalita@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2022-03-09 18:24:11 +00:00
Jim Van Verth
bdbb92a721 [graphite] Add some Intel Mac bots to test Graphite
Bug: skia:13033
Change-Id: I2b4a30f8adb927966ab20e8175a0dcf15fb3ed1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518636
Reviewed-by: Erik Rose <erikrose@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-03-09 18:12:50 +00:00
John Stiles
7f9a95ab66 Restructure SkSLTest to use test flags instead of multiple macros.
At this CL, we should run exactly the same tests as before; the only
difference is that we enable and disable tests via SkSLTestFlags instead
of using different SKSL_TEST_xxxxxx macros for different test types.

There is an inert flag for SkQP; this will be implemented in a followup
CL.

The SKSL_TEST block now extends past 100 characters in some spots
because it was, overall, a lot easier to read and edit tabular data in
a tabular format than with inconsistent formatting and line wrapping.

Change-Id: Ic90f88b10c6e59357275b471e6e86e53e611f101
Bug: skia:13037
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518138
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-03-09 18:01:52 +00:00
Ben Wagner
c76bfbeb78 Improve Sample3D a bit.
Draw all the faces at the same animation time to prevent fast movement
from causing strange frames when all the faces are drawn at different
times (and orientations). Change a few names to make things a bit more
understadable.

Change-Id: I932c22f9f996e5fe1509723d5d426f188bf8ddef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518637
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-09 17:47:43 +00:00
Ethan Nicholas
9cd8456afe Renamed SkSL::PositionInfo to SkSL::Position
Change-Id: I1fa160941b18392616708f4e08a4ebbf7398480e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518521
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2022-03-09 17:37:38 +00:00
Jim Van Verth
0284676042 [graphite] Fix uniform buffer alignment for MacOS in CommandBufferTest
4 byte alignment was being used, when it should be 256 on Intel Macs.

Bug: skia:13033
Change-Id: If902885f62e019b10c316dcfd7f4a336e0982db7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518522
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2022-03-09 17:29:14 +00:00
Michael Ludwig
35553cd3a7 Pull back PatchWriter from Tessellator APIs
This is pretty much just refactoring, condensing the virtual APIs of
PathTessellator and StrokeTessellator to not require exposing
PatchWriter. Once landed, this makes it easier to move PatchWriter to
a template where each Tessellator subclass has a different instantation.

Bug: skia:13012
Change-Id: I1211a707f3e6ac6b3543cf17a3d3af0372221ce4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517978
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-09 17:13:27 +00:00
Florin Malita
4d6d9e3f89 [skottie] Max lines text auto-sizing constraint
Introduce a new text property ("xl"), to limit the number of lines when
auto-sizing.

This is a Skottie extension, pending UI/controls in Bodymovin.

Change-Id: Id0f1e633e1b324a97b227d6b187cd540990796a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518498
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2022-03-09 16:39:54 +00:00
Brian Salomon
b4baebadd4 Remove setters from GrSamplerState.
The motivation is that a future change will add a factory fn that
makes an aniso samplerstate. We don't want to support arbitrary
combinations of aniso with other knobs.

Bug: skia:13036

Change-Id: Id962f89019a37763961981990d0e49e298e16064
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516816
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-03-09 15:39:11 +00:00
Robert Phillips
6a6dea778b [graphite] Plumb PaintParamsKey's data payload down to glue code generators
The main change here is having the SkShaderInfo hold BlockReaders instead of ShaderSnippet entries.

Bug: skia:12701
Change-Id: I90f72d5a5b9735c5ce8342bee004f7adeb76ccff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517976
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-03-09 15:26:46 +00:00
Robert Phillips
5891d67871 [graphite] Plumb through the BlendInfo
The general flow of the blendInfo is:

It is created/filled in during the PaintParamsKey creation
   - it is currently stored on the SkPipelineData to get it
     out of the creation phase

Ownership is "transferred" to the ShaderCodeDictionary::Entry
when the PaintParamsKey is converted to a uniqueKey
   - this makes sense bc the blendInfo depends pretty directly
     on the PaintParamsKey

When a FS is generated by a backend the BlendInfo is retrieved
(from the SCD::Entry) and placed in the SkShaderInfo
   - the backend can then use the BlendInfo to set up the
     fixed-function blending

Note:
   The duplication of the BlendInfo in the SkPipelineData and the
   SCD::Entry is unfortunate but may go away in the future. We
   are faced with the general problem of the pre-compilation pass
   needing to get both the structure of the uniforms a program
   requires and the BlendInfo but _not_ the uniforms. So, in the
   future, an SkPipelineData may always be passed in to collect
   data but then disassembled (e.g., the uniformBlock is cached,
   the blendInfo goes into the SCD::Entry, etc.)

Bug: skia:12701
Change-Id: I5571809981cefa6770f69a4c1b8361db14afc44b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517876
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-03-09 14:39:12 +00:00