Commit Graph

59573 Commits

Author SHA1 Message Date
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
Robert Phillips
88f90513a9 [graphite] Make CreateKey work more like ExtractPaintData
ExtractPaintData currently returns:
  std::tuple<SkUniquePaintParamsID, std::unique_ptr<SkPipelineData>>

SkShaderCodeDictionary::findOrCreate is going to change in an upcoming CL and this sets up to better isolate those changes.

Bug: skia:12701
Change-Id: I8d077b3d342e6ea16ac99227eb145d92e8247ea4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517736
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-03-09 14:07:53 +00:00
skia-autoroll
0843ef6ded Roll ANGLE from 74f327021439 to 2d12b321826c (5 revisions)
74f3270214..2d12b32182

2022-03-09 b.schade@samsung.com Remove limit on exposeNonConformantExtensionsAndVersions to expose 3.2
2022-03-08 jmadill@chromium.org Add stubs for AMD_performance_monitor.
2022-03-08 gman@chromium.org Metal: Fix MultisampleResolveTest failure on Vulkan_SwiftShader
2022-03-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from ac2a0b67e505 to a7a3a6313703 (7 revisions)
2022-03-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 62518720406c to 614f751bf536 (474 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
Change-Id: Ic72739e5bc3c20e1d89f48817fe02207856bbdf5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518338
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-09 05:29:13 +00:00
skia-autoroll
50d6b0db48 Roll SwiftShader from fc40ddd2a901 to fdf93385496f (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/fc40ddd2a901..fdf93385496f

2022-03-09 swiftshader.regress@gmail.com Regres: Update test lists @ fc40ddd2
2022-03-08 nicolascapens@google.com Merge changes Id0d4524c,Ife5beff3

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: Iab0cf3802befe0e08955fb7d49009aad13721ba6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518337
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-09 04:50:49 +00:00
skia-autoroll
9c755dd051 Roll Dawn from 345bf87c35dc to 9b0718c7a88a (9 revisions)
https://dawn.googlesource.com/dawn.git/+log/345bf87c35dc..9b0718c7a88a

2022-03-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 7bf08f3c927b to 2d12b321826c (3 revisions)
2022-03-09 enga@chromium.org Metal/GL: Make new texture view for non-2D view of single-layer texture
2022-03-09 enga@chromium.org Fix BindGroupLayoutEntry validation message for no bindings types set
2022-03-09 enga@chromium.org Update shader validation message to reflect new @ binding syntax
2022-03-09 enga@chromium.org Use GetInternalUsage in vulkan::TextureView::Initialize
2022-03-08 shrekshao@google.com Fix dawn.json for upstream webgpu-headers
2022-03-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from fc40ddd2a901 to b21967ee088b (1 revision)
2022-03-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from a7a3a6313703 to 44d2b785120a (1 revision)
2022-03-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from ea70300ba044 to 7bf08f3c927b (3 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: I7efe952c2f263d54fa1592bfdc593c8ae0e1aa24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518339
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-09 04:40:14 +00:00
Kevin Lubick
cbc954bf57 [includes] Remove include link between SkPath.h and SkPathRef.h
According to go/chrome-includes [1], this will save about
185MB (0.08%) off the Chrome build (some of which is handled
by https://skia-review.googlesource.com/c/skia/+/512776).
http://screen/3foDapQ5BN7srcG

This adds several forward declares and moves several
implementations from SkPath.h to SkPath.cpp.

This also removes privateSetConvexity from SkPathBuilder
because the SkPathConvexity being set to a non-zero default
value would have required moving the enum out of SkPathRef
or adding an include link. This private API was only used
in one location, so I just opted to remove it.

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

Change-Id: Ie1f83ac3eee6eb19d7ded18a41a7532f445c13ee
Bug: 242216
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/512357
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-03-09 00:55:54 +00:00
Ben Wagner
cad130bd36 Ensure Sample::onOnceBeforeDraw before onAnimate.
On Linux, Viewer can sometimes attempt to animate a sample before the
first time it is drawn. If the sample's onAnimate depends on resources
being loaded in onOnceBeforeDraw then it may crash.

Change-Id: Idddf3dc80e2ee2bc3252cc3ee58784d14165bc07
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518136
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-08 21:50:17 +00:00
Kevin Lubick
7ac7413f08 [bazel] Support Vulkan
PS1 regenerates BUILD.bazel files

I suggest reviewing the deltas between PS1 and the latest
PS to focus on the interesting bits.

The changes here allow for a Vulkan-only build of HelloWorld
based on sk_app. The toughest change was properly fetching
the VisualID after removing the gl calls that used to
fill that in.

There are a few changes that fix resolution of Dawn
header files, but those won't actually be built until
a follow-on CL.

Change-Id: I54fb58b5dd7ecd4313562aed401759b3eaed53c0
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516999
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-08 21:21:17 +00:00
skia-autoroll
6e9b0ab507 Roll SK Tool from 4a81244729f7 to d37b5a4a6c21
https://skia.googlesource.com/buildbot.git/+log/4a81244729f7..d37b5a4a6c21

2022-03-08 borenet@google.com [kube] Add configmap-reload to Go deps, build with Bazel

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 borenet@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: borenet@google.com
Change-Id: I65230f5eb05ad75684596d4da4b30fb807fe3008
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518058
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-03-08 20:20:46 +00:00
Kevin Lubick
57c1541715 Remove old experiments
These are unowned and/or unused.

Change-Id: I2ca871be712a7bf990ff89acc23b6a519bb19374
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517996
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-03-08 19:07:00 +00:00
Ben Wagner
35453dc1e1 Make GrVkRenderPass::AttachmentFlags enum unsigned
These are flags and so are logically unsigned. This fixes an issue where
ASAN detects that the bitwise negation of of all listed enum values will
not fit in underlying enum type.

Change-Id: Idb993f29bdac36ef8960392b89a748f708dae520
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517878
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-03-08 18:32:30 +00:00
Greg Daniel
3c254e1d3b [Graphite] Support caching of buffers.
Bug: skia:12754
Change-Id: I8b74fadabee2ec90c20f9b53ff4946a3e2062cd3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/515956
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-03-08 18:14:47 +00:00
Kevin Lubick
03f84116a8 [canvaskit] Enable Debugger bindings for autobuild
Change-Id: I12a4be7d1dabd721fd4aa82242bf646791a0b229
Bug: skia:12995
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517677
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2022-03-08 17:42:37 +00:00
Brian Osman
258954f29e Update build_command_buffer to copy ANGLE libs
This is required, now that the passthrough decoder is enabled
(particularly on Mac, where we run our command buffer bots).

Change-Id: Id2c5ccff1f27669c487cade04b912a7792077c38
Cq-Include-Trybots: luci.skia.skia.primary:Build-Mac-Clang-x86_64-Debug-CommandBuffer
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517776
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-08 17:29:47 +00:00
Ben Wagner
6c630f2ce6 Make SkScalerContext enums scoped.
This was motivated by SkScalerContextFlags putting `kNone` into the
global namespace. Instead of adding a suffix, change these internal
enums to be scoped and update the users.

Because SkScalerContextFlags is used like a bitfield,
`SK_MAKE_BITFIELD_OPS` is used to provide the appropriate operators. The
macro implementation is updated to handle scoped enums, remove the very
dangerous, unwanted, and unused templated operators, and add operator~
since that is needed by one existing user.

Also, for some reason this allows the compiler to find an unused field
which is removed.

Change-Id: Id31c80b381bffaf9b623f6a8ec7d86751d3d99f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517616
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-03-08 16:24:47 +00:00
Ben Wagner
d727f04dd1 FreeType bitmap glyphs never have a path.
If a glyph is to be drawn from a bitmap, preemptively mark it as not
having any path. This prevents attempts to fake bold or draw large
`sbix` glyphs from paths.

Change-Id: I2959f18e70f29b13ca198a710dffc88a249c73d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/517617
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-03-08 16:24:29 +00:00