Commit Graph

58360 Commits

Author SHA1 Message Date
Brian Osman
85bd4dff59 In SkImage::MakeFromEncoded, support overriding alpha type
Use that to preserve the alpha type of (unpremul) SkImages when
serializing. This ensures that the new GM works correctly in
serialize-8888, and is required for an upcoming "raw" image feature.

Change-Id: I747803c2928cbb5872d4c97a421701248d8f6a51
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478957
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2021-12-02 22:31:26 +00:00
Greg Daniel
f278a8058e [graphite] Use correct uniform buffer alignment.
Change-Id: I0695614a68a0d05d3a30163b4da5a75486f1d0b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/479060
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-12-02 20:18:57 +00:00
John Stiles
d7c3b21b79 Revert "Enable various switch tests in ES2 mode."
This reverts commit ffe365eb4d.

Reason for revert: crash inside IntelHD405 Vulkan driver
http://screen/6ugVDdjJpqDkxX6

Original change's description:
> Enable various switch tests in ES2 mode.
>
> switch is no longer an ES3-specific feature.
>
> Change-Id: Ic878a77268e517e17699c2e35a37da6b0a7765dd
> Bug: skia:12450
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/452320
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Bug: skia:12450
Change-Id: Id6f32a084f1bc7b2b3a1e5fb0b82d2011e4ba780
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/479059
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-12-02 19:03:11 +00:00
John Stiles
2756b0ee02 Reduce the number of extra bit_and ops caused by SkVM traces.
Previously, the trace opcodes took a single mask argument, which was
computed as `execution mask & trace mask`. This led to extra bit_ands in
the output, as this value would be need to be recalculated every time
the execution mask changed.

To reduce this cost on program size, the trace ops now take two mask
arguments and require that both must be true. We have four register
slots at our disposal in an Op, which is more than we need, so this
doesn't really cost us anything.

(As an extra minor optimization, if one of the masks is "always-on", we
optimize it away. This avoids burning a register just to hold a ~0
immediate value.)

Change-Id: I9eb71292a1983e71b03c7ac842534beb3d6bbf17
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478456
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-12-02 18:15:34 +00:00
John Stiles
6c32794d2b Add JSON serialization for trace info.
Add an array which represents the trace itself into the SkVMDebugInfo.
Since we expect complex programs to emit a lot of trace data, we try to
keep the JSON representation here compact. Ops and their data are
represented as a compact array of integers. Data fields can be left
unspecified; these are assumed to be zero.

Change-Id: Ia52ad280ab5989496eb495c4efb8b99aa72cda5f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/477983
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-12-02 18:12:47 +00:00
Greg Daniel
d4c3495ba9 [graphite] Fix recorder gn.
Change-Id: I7f0998f159e0bc3f32f813f8150f4f12477760cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/479056
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-12-02 17:57:27 +00:00
John Stiles
9e17096adb Add SkRuntimeEffect accessor to SkColorFilterBase.
This mirrors the SkRuntimeEffect accessor in SkShaderBase and
SkBlenderBase, and will be used in a followup CL which will allow
hooking up debug traces to runtime effects of any type.

Change-Id: I4449333dac3f2af7b11868d9baf0a82b35ca5aaf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478960
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-12-02 17:54:26 +00:00
John Stiles
ffe365eb4d Enable various switch tests in ES2 mode.
switch is no longer an ES3-specific feature.

Change-Id: Ic878a77268e517e17699c2e35a37da6b0a7765dd
Bug: skia:12450
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/452320
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-12-02 17:17:43 +00:00
Greg Daniel
9d74c28e82 [graphite] Move Recorder and Recording to public include.
This also hides the ctors for the respective classes so you can't just
arbitrarily make one outside of the factories.

Change-Id: If31ac8ea9b54c9e10c162081251e77d7e9d07147
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478956
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-12-02 16:49:12 +00:00
Michael Ludwig
3145cb8f4b [graphite] Add rtAdjust to metal program generation
With this CL, rt adjust is handled automatically by the backend of the
CommandBuffer when setViewport is called, so DrawPass and the
CommandBufferTest are updated to configure that (and the geometry of
command buffer test is rewritten to be in Skia's coord system instead
of NDC).

Currently, the metal command buffer uses push constants to set the
rtAdjust uniform. Hypothetically, D3D12 could use the root descriptor,
etc. There is some coupling here between the intrinsics the SkSL
programming environment operates in, and the backends configuring the
pipelines, but I don't think it's unreasonable and it seems cleaner
to me than having DrawPass bind and upload uniforms for all of the
intrinsics.

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-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,Build-Mac-Clang-arm64-Release-Graphite
Bug: skia:12466
Change-Id: Id91e9ffc31688886c5bf3ee6134567070820207a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478656
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-12-02 16:42:57 +00:00
Kevin Lubick
6dc45289ae [infra] Remove go from PATH of Push* tasks.
Change-Id: I7f89dbd83db82c94ea59618aa12868ca1ed35f85
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478918
Reviewed-by: Eric Boren <borenet@google.com>
2021-12-02 15:34:59 +00:00
Kevin Lubick
ab0dc57149 [infra] Add job for pushing bazel apps
This way we can avoid breaking the existing flow until
we are sure it is building correctly.

Change-Id: I619f44e3d217eaabbd2f92c319cbd521451ee07e
Bug: skia:10614
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478616
Reviewed-by: Eric Boren <borenet@google.com>
2021-12-02 14:23:55 +00:00
skia-autoroll
c4712cc704 Roll SwiftShader from ff91ac52f4b7 to f9c39655a610 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/ff91ac52f4b7..f9c39655a610

2021-12-02 srisser@google.com Expose support for VK_KHR_swapchain_mutable_format

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 tdenniston@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: tdenniston@google.com
Change-Id: Ibf4d7d88f35d300cc0f9c9514e6405062de2ee4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478589
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-12-02 06:03:24 +00:00
skia-autoroll
e4ce49668e Roll ANGLE from fc860bc16be3 to 7107f8aa1064 (10 revisions)
fc860bc16b..7107f8aa10

2021-12-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 5bf1cc589ddf to d2d61620103d (907 revisions)
2021-12-02 shrekshao@google.com Decouple gl_BaseVertex/gl_BaseInstance uniforms
2021-12-01 lfy@google.com Vulkan: Don't retain in buffer/imageRead unnecessarily
2021-12-01 jonahr@google.com Rework compressed texture pixel unpack state handling.
2021-12-01 syoussefi@chromium.org Vulkan: Fix image respecify's usage tracking
2021-12-01 ynovikov@chromium.org Skip MultithreadingTestES3.MultithreadFenceTexImage on TSAN
2021-12-01 ynovikov@chromium.org Document using Rubber Stamper for test expectations CLs
2021-12-01 jmadill@chromium.org Add a test for changing an XFB buffer after Begin.
2021-12-01 gert.wollny@collabora.com Capture/Replay: eliminate redundant parameters in GenOnBind
2021-12-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from f12305c3a0d9 to ff91ac52f4b7 (6 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 tdenniston@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: tdenniston@google.com
Change-Id: Ibf1b3ba476ea95b1409d7de0eb7f837b6e1e8087
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478584
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-12-02 05:21:57 +00:00
skia-autoroll
64b53732c9 Roll Chromium from 8a0b29eaa6a5 to ac5c1cd1a0f0 (495 revisions)
8a0b29eaa6..ac5c1cd1a0

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC tdenniston@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: tdenniston@google.com
Change-Id: I053a1884bb955e07854132c26750ffddc5e23aac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478585
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-12-02 04:58:28 +00:00
skia-autoroll
2a42471c92 Roll Dawn from 1fe05467a6da to c871df0b1984 (27 revisions)
https://dawn.googlesource.com/dawn.git/+log/1fe05467a6da..c871df0b1984

2021-12-02 hao.x.li@intel.com Validate depth/stencil texture formats in image copies
2021-12-02 bsheedy@google.com Suppress GTX 1660 failures
2021-12-02 kainino@chromium.org Only default to vulkan loader in standalone
2021-12-01 lokokung@google.com Adds testing infrastructure in DawnTest for error testing.
2021-12-01 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from fc860bc16be3 to 8f6f5a4bb28d (6 revisions)
2021-12-01 lokokung@google.com Moves remaining logic in BindGroup dtor into Destroy.
2021-12-01 lokokung@google.com Refactors Destroy to be upward calls instead of overriding.
2021-12-01 lokokung@google.com Expose device.destroy upwards and add end2end tests
2021-12-01 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 77e2c6f0b247 to 62394b2492bf (1 revision)
2021-12-01 bajones@chromium.org Copy from a zeroed-out buffer to clear in D3D12
2021-12-01 jiawei.shao@intel.com dawn_wire: Add missing "strlen" in "adapter properties"
2021-12-01 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 17261f3bffe2 to fc860bc16be3 (10 revisions)
2021-11-30 enga@chromium.org Use Tint HLSL options to pass dynamic storage buffer sizes
2021-11-30 lokokung@google.com Suppress flaky order-dependent BufferZeroInitTest.PaddingInitialized.
2021-11-30 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from ef65edf2f2e5 to 17261f3bffe2 (3 revisions)
2021-11-30 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 76fc6d61e93f to 77e2c6f0b247 (1 revision)
2021-11-30 jie.a.chen@intel.com Bug fixes for VulkanImageWrappingTestsDmaBuf
2021-11-30 enga@chromium.org Disabling inlining of counterSet checks
2021-11-30 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 460cb0d58c3d to ef65edf2f2e5 (7 revisions)
2021-11-30 hao.x.li@intel.com Add Depth16Unorm texture format in utils/TextureUtils.h
2021-11-30 enga@chromium.org Revert "Add a guard for MTLDevice.counterSets being null."
2021-11-29 enga@chromium.org Add D3D12 root constants to hold dynamic storage buffer sizes
2021-11-29 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 8c30d752a05f to 76fc6d61e93f (1 revision)
2021-11-29 shrekshao@google.com Add undef Bool for xlib_with_undefs.h
2021-11-29 lokokung@google.com Fixes Dawn to use custom Vulkan loader on Linux systems.
2021-11-29 rharrison@chromium.org Update Mac version and remove stale experiment
2021-11-29 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from c789169b4210 to 460cb0d58c3d (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 8c30d752a05f to 62394b2492bf

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 kainino@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: kainino@google.com
Change-Id: Idfa25c6a8e4ae84896ec1d0afed958dadf0b1aa2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478583
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-12-02 04:37:00 +00:00
skia-autoroll
0c7505b1e6 Roll SK Tool from e9c81a37f7c1 to 039210fafe39
https://skia.googlesource.com/buildbot.git/+log/e9c81a37f7c1..039210fafe39

2021-12-01 rmistry@google.com Add new ignore_default_attention_set_rules field to DeleteVote
2021-12-01 rmistry@google.com [skcq] Use attention sets
2021-12-01 rmistry@google.com Add support for AttentionSets to gerrit.SetReview
2021-12-01 rmistry@google.com [skcq] Notify CQ vote triggerers in addition to owners
2021-12-01 rmistry@google.com Add support for NotifyDetails to gerrit.SetReview

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/sk-tool-skia
Please CC jcgregorio@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

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

Tbr: jcgregorio@google.com
Change-Id: Idd0af009e4b82af48ebcffbc54ce42bceaef030a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478578
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-12-01 22:37:34 +00:00
Michael Ludwig
9a44a6bf4f [graphite] RenderStep handles local-to-device transforms
Passes the Transform for each draw to the RenderStep, to both
writeVertices and writeUniforms, since any given RenderStep could
choose to transform vertices on the CPU, pack the matrix as instance
attributes, or upload it as a uniform.

Also updates UniformManager to take the source data as const void*

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-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,Build-Mac-Clang-arm64-Release-Graphite
Bug: skia:12466
Change-Id: I7ac40af0b7c123d068478f5672dda455c0bbbfb5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478376
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-12-01 22:37:28 +00:00
John Stiles
0601042b09 Allow .sksl and .frag files to compile to SkVM.
Before this change, asking skslc to convert a .sksl file to .skvm would
result in a crash:

  $ out/Debug/skslc resources/sksl/folding/CastFolding.sksl ~/CastFolding.skvm
  ../../src/sksl/codegen/SkSLVMCodeGenerator.cpp:428: fatal error: "Unsupported builtin 10001"

(10001 is SK_FRAGCOLOR_BUILTIN.)

We now silently change the program kind from kFragment to
kRuntimeShader. For a typical SkSL shader, this does the right thing.

Change-Id: Ia8eb80a9ab596ea8a67a1a6ea4feafd20982a22f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478637
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-12-01 22:12:26 +00:00
Brian Osman
d498d0759c Fix texture-backed image shaders drawing to raster canvas
Bug: skia:12685
Change-Id: Ie8785be73fd2f2670291e9c1295985ac7ad1d714
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478497
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-12-01 22:03:04 +00:00
Leandro Lovisolo
5a7d91c35b bloaty_treemap.py: Fix path/symbol name collisions; make symbols unique with _1, _2, ... instead of _x, _x_x, ...
This prevents google.visualization.TreeView errors I encountered while visualizing the output of bloaty against a debug build of dm.

This CL also changes the unique symbol naming scheme to use number suffixes for more human-friendly symbol names.

These changes will be reflected in the Golang port of bloaty_treemap.py (see https://skia-review.googlesource.com/c/buildbot/+/478216).

Bug: skia:12151
Change-Id: I798a8556cab4ecbcc22d960733b88eac990aa78e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478636
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-12-01 21:38:55 +00:00
Jim Van Verth
0f75cc70f5 [graphite] Only track command buffer work in debug builds
Bug: skia:12466
Change-Id: Id17222170984731eb36b8158c5c97b9880d3a814
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478496
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-12-01 20:01:25 +00:00
John Stiles
d339917819 Remove redundant trace_line elimination pass.
Now that we emit so much more tracing information, we no longer see
multiple trace_lines back to back. This pass does not actually do
anything useful anymore.

Change-Id: I29dac3ffc36a9abfa8b8eae0b687102232eeef88
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478457
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-12-01 19:19:54 +00:00
John Stiles
dfe33f49f5 Add a setting to disable SkVM variable traces.
This will allow the visualizer to see line-number information without
incurring the code bloat caused by trace_var.

For reference, Commutative.skvm with no debug traces:
https://osscs.corp.google.com/skia/skia/+/main:tests/sksl/runtime/Commutative.skvm;drc=c809e5ba9fc9bc67291d088c448ed0057371b760

Change-Id: If98b5e102571d7fe06a1653d199e3ae035b3cb78
Bug: skia:12692
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478417
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-12-01 17:25:59 +00:00
John Stiles
030f8260a7 Add debug traces to an existing test.
This demonstrates how much additional non-trace code can be generated
when debug traces are turned on. A followup CL adds a setting to disable
`trace_var`, which eliminates a significant percentage of the additional
ops (at the cost of removing valuable debug info).

Change-Id: I238e28e6f6531f1dbccfef8f1dcd24a1e8481669
Bug: skia:12692
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478416
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-12-01 17:25:59 +00:00
Ben Wagner
caea94d197 Correct documentation on setting glyph.fMaskFormat
It used to be that SkScalerContext::generateMetrics could not reliably
set the fMaskFormat and generateImage could modify it. This has since
changed and the code not generally depends on generateMetrics properly
setting fMaskFormat and generateImage not changing it.

Change-Id: I9723d71370de587ef3968624d4a7eebed134b321
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/477816
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2021-12-01 17:19:30 +00:00
Eric Boren
87c76265c4 [python3] Add band-aid for invalid characters in adb logs
I'm not sure why this happens; the encoding does appear to be utf-8 but
some of the characters are not valid.

Bug: chromium:1256037
Change-Id: I5865d2ee237addf0680079f7072bf70aefaa6de8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478396
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-12-01 16:59:26 +00:00
Michael Ludwig
fc2eef845a [graphite] Add operator== to BindBufferInfo
DrawWriter was using == to compare buffer bindings, but that hadn't
actually been added yet.

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-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,Build-Mac-Clang-arm64-Release-Graphite
Bug: skia:12466
Change-Id: I769cd3cb9f58f9ffc1558da9f24b2b6000c27388
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478262
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
2021-12-01 16:54:02 +00:00
Jim Van Verth
7e34f11733 [graphite] Set up resolve and stencil/depth renderpass info
Bug: skia:12466
Change-Id: I85d23e73a37a368ed68c81191d072014df110080
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/475645
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-12-01 16:50:02 +00:00
Greg Daniel
6e523fdd6e Remove background reset of command pools in Vulkan.
In practice it has been seen that the cost of spinning up and thread and
sending over this small bit of work is not worth the savings of moving
the command pool reset to another thread. Thus we don't currently have
clients taking advantage of this feature. For now I am removing this
feature and we can add it back in later if we find a better use case or
have more total work to send to a helper thread.

Also in this change I reverse the order of resetting the VkCommandPool
and freeing the resources attached to the pool to workaround a driver
bug.

Bug: chromium:1161411
Change-Id: I8c399ecd8005ada29090902ba9b18b6837096716
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/477659
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-12-01 16:37:37 +00:00
John Stiles
6a13ff1c8d Remove references to ASTNode from SkSL.
ASTNodes were removed when we switched to DSL parsing.

Change-Id: I2cbd42f279087c14d6f5b7f4690679b8cb317b8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478356
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-12-01 16:23:41 +00:00
Michael Ludwig
adcf51cb52 [graphite] Record commands in DrawPass
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-iOS_Graphite,Build-Mac-Clang-arm64-Release-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:12466
Change-Id: If1d4c29a434a1ad3445ceadb98bd7f3b8abb5ee4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/475639
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-12-01 16:18:29 +00:00
Kevin Lubick
aef2b63743 [canvaskit] Use closure in release Bazel builds
We don't need to use the env variable EMCC_CLOSURE_ARGS,
as per https://github.com/emscripten-core/emsdk/pull/941

We can use --closure-args to pass the externs file in
instead, which is much easier to configure.

Change-Id: I2dcfbca6307438e76fb374741bb6b33ef296be15
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478307
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2021-12-01 15:59:41 +00:00
Herb Derby
22525afffb fix device bounds for clipping test
The device clip rectangle was not properly adjust for transformations.
It's still not quite correct, but I need to also go through the code
to reduce the number of calculations. I will fix it then.

Change-Id: Ice56601cc42bb4fd7a966d84efc8e458cb1b9529
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478058
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-12-01 15:46:28 +00:00
Kevin Lubick
1c4f5183f1 [debugger] Define SK_ENABLE_DUMP_GPU to fix audit trail
Change-Id: I9301059b3ecb6c72b5978b82724285452448521a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478308
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-12-01 14:57:03 +00:00
Eric Boren
7bc4c9a8d1 [python3] Reland recipes -> python3 changes
This was enabled by moving the iPhones off of the old RPI2 hosts.

This reverts commit 04cd6fba97.
This reverts commit a726978ae7.

Bug: chromium:1256037
Change-Id: I35069089aa39baf62a18235c8d0514923f327c53
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/477987
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-12-01 13:04:03 +00:00
skia-autoroll
04a169e298 Roll ANGLE from 949624bf5e3b to fc860bc16be3 (12 revisions)
949624bf5e..fc860bc16b

2021-11-30 ynovikov@chromium.org Skip *Vulkan_AsyncQueue angle_end2end_tests on TSAN
2021-11-30 bpastene@chromium.org Enable the chromium recipe RDB results experiment for all builds.
2021-11-30 jmadill@chromium.org D3D11: Fix OOB access in vertex conversion code.
2021-11-30 sugoi@google.com Vulkan: Use the correct format when binding a pBuffer.
2021-11-30 ynovikov@chromium.org Don't build dEQP tests on MSVC temporarily
2021-11-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from b510b0864113 to 5bf1cc589ddf (826 revisions)
2021-11-30 cnorthrop@google.com FrameCapture: Fix Gen on Bind for MEC
2021-11-30 cnorthrop@google.com FrameCapture: Integer attribs in MEC
2021-11-30 penghuang@chromium.org Add end2end gl test for *_ANGLE_vulkan_image extensions
2021-11-30 gert.wollny@collabora.com Capture/Replay: run tests that will crash or fail compilation
2021-11-30 ynovikov@chromium.org Remove not needed constexpr definitions, deprecated in C++17
2021-11-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 81bb0c5b367f to cb8be59599df (8 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 tdenniston@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: tdenniston@google.com
Test: Test: Asphalt 9 MEC
Change-Id: I0da84c37435d0a05c9637d8058cd433e4d6d1bf3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478206
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-12-01 05:28:58 +00:00
skia-autoroll
c50bd46fdc Roll SwiftShader from f12305c3a0d9 to ff91ac52f4b7 (6 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f12305c3a0d9..ff91ac52f4b7

2021-11-30 capn@google.com Prevent exit-time destructors in src/WSI, Pipeline, and System
2021-11-30 capn@google.com Update SPIR-V Tools to d0a827a9f
2021-11-30 capn@google.com Update SPIR-V Headers to 20b02de99
2021-11-30 capn@google.com Don't handle vendor-specific SPIR-V instructions
2021-11-30 capn@google.com Don't consider OpType* instructions to be statements
2021-11-30 capn@google.com Eliminate SpirvShaderInstructions.inl

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 tdenniston@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: tdenniston@google.com
Change-Id: I3787b8c52e03461b885ec4ae97fbc99a399f729f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478204
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-12-01 05:13:59 +00:00
skia-autoroll
7cd5713164 Roll Chromium from 8d94e56fbd24 to 8a0b29eaa6a5 (542 revisions)
8d94e56fbd..8a0b29eaa6

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC tdenniston@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: tdenniston@google.com
Change-Id: Iae0fa4542fb58afcfb66e746cdd35c2235e49cdf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478205
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-12-01 05:06:56 +00:00
Herb Derby
fa183572bf use correct size call for GM
Change-Id: Ic088fd5ac60c9218ce252cbbbf5dedbb3d62e503
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478060
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-11-30 22:38:53 +00:00
Herb Derby
b755b0157e add clipping to slug test
Change-Id: I62d767bffb4e5c366ecbff5f8d39b547f93d6c00
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478059
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-11-30 21:41:10 +00:00
Greg Daniel
5e0950e4dc [graphite] Add Context create/deleteBackendTexture calls.
Bug: skia:12633
Change-Id: Ida78c4145423376dc0267096a1d758b74144fd0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/477139
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-11-30 21:36:23 +00:00
Kevin Lubick
4bd08c52c0 [infra] Add SkParagraph (harfbuzz, ICU) to Canvaskit Bazel build.
As a follow-up to https://skia-review.googlesource.com/c/skia/+/476219,
this sketches out how we can maybe use cc_library for the things
in //modules to make sure something in //src doesn't depend on
anything in //modules, for example.

The following succeeds:
bazel build //modules/skparagraph:skparagraph --config=clang \
  --shaper_backend=harfbuzz_shaper --with_icu

As does `make bazel_canvaskit_debug` in //modules/canvaskit

Suggested Review Order:
 - third_party/BUILD.bazel for ICU and harfbuzz rules. Pay
   special attention to the genrules used to call the python
   script for turning the icu .dat file into .S or .cpp.
 - bazelrc and bazel/ for new flags and defines that control
   use of ICU and harfbuzz. Unlike GN, with the public_defines
   that get added in automatically if icu or harfbuzz is
   depended upon, we need to set the defines at the top level.
   This necessity might go away if we change the atoms to
   depend on //modules/skshaper, which could define that flag.
 - Top level BUILD.bazel files in //modules/skparagraph,
   //modules/skshaper, //modules/skunicode, //modules/canvaskit
 - All other .bazel file changes are automatic.

Bug: skia:12541
Change-Id: I38a9e0a9261d7e142eeb271c2ddb23f362f91473
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478116
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2021-11-30 21:01:06 +00:00
John Stiles
5588bdd72d Put function return values in a slot.
This shouldn't change code generation when debug traces are disabled.
When they are enabled, we now get trace_var opcodes emitted for every
return statement. Internally, this required a fair amount of refactoring
around how return values are passed around, but it should all be
functionally equivalent.

Change-Id: Ieb9d9c75399109186f905e0499d8fe6e2fc2067c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/477981
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-11-30 19:25:31 +00:00
Kevin Lubick
6ba9f702ba [bazel] Try adding cc_binary rules that use generated rules
To make the atomic rules a bit easier to work with, in many
of the folders, this adds in cc_library rules to group
together the sources from that folder (and subfolders
where prudent). We only needs sources because those atoms
should have their headers as deps.

One issue that was pointed out is that there is currently
no way to restrict the inclusion of certain packages,
a la, `gn check`. For example, there is no mechanism from
stopping a dev from adding
#include "modules/canvaskit/WasmCommon.h"
to something in //src/core (except circular dependencies).
We can probably address that using Bazel's visibility
rules as needed:
https://docs.bazel.build/versions/main/visibility.html
https://docs.bazel.build/versions/main/be/functions.html#package_group

It is recommended to look at this CL patchset by patchset.
PS1: Update gazelle command to generate rules in more folders.
PS2: A few changes to make generation work better.
PS3: The result of running make generate in //bazel
PS4: Adding the rules to build sksllex, the simplest binary I
     could find in the Skia repo.
PS5: Adding the rules to build skdiff, a more complex binary.
     I tried a few approaches, but ended up gravitating back
     towards the layout where we have each folder/package
     group up the sources. I imagine at some point, we'll have
     skdiff depend on skia_core or something, which will
     have things like //src/core, //src/codecs, //src/pathops
     all bundled together.
PS7: Added in the groupings of sources, similar to what we had
     earlier. I liked these for readability. These helped fix
     up the //:skia_core build, and by extension, the CanvasKit
     build.

Change-Id: I3faa7c4e821c876b243617aacf0246efa524cbde
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/476219
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2021-11-30 18:18:53 +00:00
Brian Osman
41e7df4fec Disable matrix constructor tests
Given how badly these fail (even on recent NVIDIA drivers), I'm prepared
to ignore the conformance suite on this one and just disallow this in
SkSL. For now, this disables these tests so that they don't crash for
anyone running an NV GPU.

Bug: skia:12443
Change-Id: I990eaa47acf0e23f4f0b6e90e136712d837b7f6d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/477477
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-11-30 18:08:57 +00:00
Herb Derby
705dce533a add SK_API to slug so chrome can use it
Change-Id: I848eca3a9ddfabadf82c86e4b3396aaa0e55757c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478056
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-11-30 17:27:54 +00:00
Herb Derby
6e98e91020 make PathGlyph common to all path implementations
Change-Id: I51f87f712523bfdd8d28c3196b718e1bee019b8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/478036
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-11-30 16:43:01 +00:00
Herb Derby
2c6b3deb42 only test slugs when padding is correct
The slug GM should only run if the experimental padding flag:
SK_EXPERIMENTAL_ADD_ATLAS_PADDING is defined.

Otherwise, there is just random pixel set based on atlas layout.

Change-Id: Ib5c2352b630d1ab4a24b5830ffcaa7f93666fd93
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/477757
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-11-30 16:37:58 +00:00
Michael Ludwig
660cc2a38f [graphite] Assign indices to pipeline descriptions
Also adds a helper class to upload uniform data the first time it's
seen, and then remember the BufferBindInfo for use after sorting.

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-iOS_Graphite,Build-Mac-Clang-arm64-Release-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:12466
Change-Id: I922166a24c5f8417020c0a3288cddf6043573c79
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/475637
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-11-30 14:49:48 +00:00