Commit Graph

57716 Commits

Author SHA1 Message Date
Jim Van Verth
6dcb6b44e9 [graphite] Take two at fixing non-Metal build
Bug: skia:12466
Change-Id: I7eb240985ce0c267bbc7be040e0f812407d31435
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461699
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-10-20 20:53:08 +00:00
Michael Ludwig
251e7e6bfd [graphite] Wire up BoundsManager for color/depth ordering
Except that applyClipToDraw doesn't actually evaluate any clip shapes,
and the BoundsManager is the slow/naive one, I think all the changes to
Device fully implement the tracking/work needed for color/depth sorting.

Bug: skia:12466
Change-Id: I74f38e56d34d822c2be35f1ebedfb7c00b87f04c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460616
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-10-20 20:20:01 +00:00
Jim Van Verth
271dedc924 [graphite] Add iOS compile bots
Bug: skia:12561
Change-Id: I0a739dcfd4214ee4855f04a70fb6f66ab638bf2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461478
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-10-20 19:53:39 +00:00
Jorge Betancourt
aaa70658c2 expose directional blur to skottie
Change-Id: I759e4fff7a6d9cd1aae6ece060d570d05c1af94a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461236
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
2021-10-20 19:41:30 +00:00
Jorge Betancourt
ebe2d82384 [JetSki] get TypeFace from FontMgr
Change-Id: Ied6cc2f67434757ed1cf6dd4edb6c40798ec206b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450038
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
2021-10-20 19:33:30 +00:00
Chris Dalton
dd07eb01c8 Move VectorXform into the wangs_formula namespace
This class is only meant to be used with Wang's formulas, so it
belongs in their name namespace.

Bug: skia:12524
Change-Id: Ib1667781b947a7f052af103b7bf9084d09a690de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461567
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-10-20 18:17:48 +00:00
Chris Dalton
49c766732d Delete the skgpu::tess namespace
Tessellation code can just exist in the skgpu namespace.

Bug: skia:12524
Change-Id: I44d473c5f82d608bb6cd3bb9df239c4f4028da4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461557
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-10-20 18:16:48 +00:00
Brian Salomon
524f336088 Make Greg Daniel a Skia API owner.
Change-Id: I7a7a61eba40131acea3db7ed1da5c3e3cb47ee86
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461596
Reviewed-by: Heather Miller <hcm@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-10-20 17:59:42 +00:00
Chris Dalton
8f6a229a71 [graphite] Add alignment directives to IntersectionTree arrays
Thise should have been aligned properly already due to their
placement, but it doesn't hurt to make it more explicit.

Change-Id: Idb6a03e93d86df7727324987f166d197d5e708a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461377
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2021-10-20 17:48:28 +00:00
Greg Daniel
ac29367c91 [graphite] Fix graphite iOS build.
Bug: skia:12466
Change-Id: Id0419836ca96d99836879d509ca2cd1c9244d76f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461598
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-10-20 17:15:09 +00:00
Brian Osman
cb3c02005c Add SkColorMatrix factories for SkYUVColorSpace
This lets clients access and use the same RGB to YUV matrices that we
use internally.

Inspired by https://crrev.com/c/3223983

Bug: skia:12545
Change-Id: I7f70f56e721819c3d33da447eff2e572b7774c51
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461476
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-10-20 16:47:03 +00:00
Herb Derby
0edd2c33d3 use faster cases in blitAntiH for SkVMBlitter
Use the coverage from the mask to avoid or reduce blitting.

nanobench
desk_chalkboard 51ms -> 38ms.

Change-Id: I58e3ca5f9ef59dbd5b9ceb1a905ea1f3d948fd89
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461296
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-10-20 15:27:35 +00:00
Jim Van Verth
c7fa96c4e5 [graphite] Fix non-Metal compile error
Bug: skia:12466
Change-Id: I2e0421191d05c3e0f457425e0dab49c2afb9c2b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461477
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2021-10-20 14:57:00 +00:00
Greg Daniel
8582724780 [graphite] Add copyTextureToBuffer call on CommandBuffer.
Bug: skia:12466
Change-Id: I44bd3899dea817318f83444f023c1c8adcfc2d1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/459881
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-10-20 14:12:28 +00:00
skia-autoroll
d62b7ef970 Roll ANGLE from 7f87a326e878 to 02b73c2fd738 (16 revisions)
7f87a326e8..02b73c2fd7

2021-10-20 timvp@google.com Vulkan: Flush descriptor set updates during flush*Commands()
2021-10-20 gman@chromium.org Update bug number for point clipping AMD metal
2021-10-20 gman@chromium.org Update bug numbers in dEQP test expectations
2021-10-19 lubosz.sarnecki@collabora.com Reland "RendererVk: Enable VK_KHR_image_format_list on SwiftShader."
2021-10-19 gert.wollny@collabora.com libANGLE: Assert on mExecutable when syncing images
2021-10-19 jmadill@chromium.org infra: Remove SwANGLE bots from CQ.
2021-10-19 syoussefi@chromium.org Vulkan: Optimize updating blend state in pipeline desc
2021-10-19 syoussefi@chromium.org Revert "Isolate commit_id.h from other code."
2021-10-19 jmadill@chromium.org infra: Add new configs to CQ.
2021-10-19 syoussefi@chromium.org Vulkan: Async Queue: Fix signal of external semaphores
2021-10-19 syoussefi@chromium.org Vulkan: Improve wording in DeferredClears.md
2021-10-19 weiweilin@google.com [milo] migrate to new bug_url_template
2021-10-19 gert.wollny@collabora.com Capture/Replay: Skip binary formats test when none are supported
2021-10-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from a9d8c46f2b61 to fe06f6ff26f8 (7 revisions)
2021-10-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 33eaf1f76b60 to 85101b9ec148 (7 revisions)
2021-10-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 54930e1ff6ee to 0d22e489aa33 (634 revisions)

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: jcgregorio@google.com
Change-Id: I759852ff50681ad1a7ec091a61a72804a8b7f0af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461397
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-20 05:20:28 +00:00
skia-autoroll
950ad78541 Roll Chromium from 26d05efa8664 to 0a219531705e (479 revisions)
26d05efa86..0a21953170

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 jcgregorio@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: jcgregorio@google.com
Change-Id: I8c13879352176ab31dd005ab670e841bc97f7212
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461396
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-20 05:15:33 +00:00
skia-autoroll
53f44b699b Roll SwiftShader from 7997cbc34bb2 to 6b700ffc6a8a (5 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/7997cbc34bb2..6b700ffc6a8a

2021-10-19 srisser@google.com Add VK_KHR_shader_integer_dot_product structs
2021-10-19 swiftshader.regress@gmail.com Regres: Update test lists @ 85101b9e
2021-10-19 capn@google.com Avoid SPIR-V binary identifier clashes
2021-10-19 capn@google.com Avoid recompiling identical SPIR-V binaries
2021-10-19 capn@google.com Store the SPIR-V binary of a vk::ShaderModule in an sw::SpirvBinary

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: jcgregorio@google.com
Change-Id: Ia70add10f81248b9cdf4b64df223db8fca83b78e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461398
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-20 05:08:32 +00:00
skia-autoroll
3208de5b3f Roll Dawn from 40b73c646e2d to ba0d653b8c00 (15 revisions)
https://dawn.googlesource.com/dawn.git/+log/40b73c646e2d..ba0d653b8c00

2021-10-20 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from c34f08dd4589 to 54180d6631b3 (1 revision)
2021-10-20 jiawei.shao@intel.com D3D12: Support [[num_workgroups]] for Dispatch
2021-10-19 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 7d0fc07b202b to c34f08dd4589 (2 revisions)
2021-10-19 enga@chromium.org Populate supported Vulkan limits from the backend
2021-10-19 lokokung@google.com Moves DestroyApiObject call into ApiObjectBase::DeleteThis
2021-10-19 bclayton@google.com dawn_node: Use the new CTS server runner
2021-10-19 yunchao.he@intel.com Add validation rule for depth/stencil between bundle and pass
2021-10-19 bclayton@google.com dawn_node: Run CTS serially if --j 0 is specified
2021-10-19 bclayton@google.com dawn_node: Only rebuild CTS if something has changed
2021-10-19 amaiorano@google.com D3D12: dump disassembled DXBC when dump_shaders is enabled
2021-10-19 bclayton@google.com dawn_node: Track promises
2021-10-19 bclayton@google.com dawn_node: Prevent setImmediate() being queued multiple times
2021-10-19 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 5f5d43ff5193 to 7d0fc07b202b (1 revision)
2021-10-19 bajones@chromium.org Improve errors in BindGroupLayout, BindingInfo
2021-10-19 enga@chromium.org Add tests for some limits

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 5f5d43ff5193 to 54180d6631b3

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 jrprice@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: jrprice@google.com
Change-Id: I979ffa555fa0160950cad1f10ad408f4d5fe0ba6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461399
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-20 04:45:37 +00:00
Michael Ludwig
40b143c174 [graphite] Add mapRect(skgpu::Rect) to Transform
While we won't be transforming shapes, we do need an accurate way to
transform bounding boxes to device space. Right now this just uses
SkM44's mapRect function and converts to/from an SkRect. However,
under the hood SkM44 uses a similar negation trick as skgpu::Rect so
I need to explore if using Rect's internal structure directly will let
us compute the bounding box with fewer operations.

Additionally, SkM44's mapRect clips to a fixed w=epsilon plane, and I
think Transform::mapRect should just do the right thing and handle
w clipping/projection as accurately as possible.

Bug: skia:12466
Change-Id: I08c9df6c40cbcdcd8f622baae222bdf361d59070
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460578
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2021-10-20 00:03:58 +00:00
Michael Ludwig
3793335614 [graphite] Update Shape to use skgpu::Rect and float2
Switches Shape to store kRect types as skgpu::Rect instead of SkRect,
although it can be constructed or set from an SkRect. It returns a Rect
from rect() and bounds() now.

Also switches out the line to be constructed from float2's, and re-use
the fRect storage to store the first segment vertex in topLeft and
the second vertex in botRight.

Bug: skia:12466
Change-Id: I1032fb6f222b0853305186c0e34091b014ae0cea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460577
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-10-19 23:25:48 +00:00
Jim Van Verth
c9b9174475 [graphite] Use std::move when adding RenderPass attachment to CmdBuffer
This step was missing from the previous CL.

Bug: skia:12466
Change-Id: I3da0082efefbabf6008fc8962d706f75f0743ecc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461176
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-10-19 23:07:02 +00:00
Chris Dalton
2fceb21cb7 [graphite] Add an IntersectionTree class
Implements a BSP tree with NEON/SSE optimizations that tracks
non-overlapping regions. This object can be used batch sets of paths
into non-overlapping draws. Performance on AppleM1 with our existing
benchmarks looks very promising:

    desk_motionmarkarcs.skp     1227 paths -> 69 draws    450us
    desk_motionmarksuits.skp    1417 paths -> 26 draws    201us
    desk_chalkboard.skp         1940 paths -> 11 draws     84us
    desk_ynevsvg.skp             859 paths -> 10 draws     31us
    desk_micrographygirl.skp     318 paths -> 29 draws     11us

Bug: skia:12466
Change-Id: I847a93ed726dea10cb403cb76e578bd81eb920d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460298
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2021-10-19 19:45:01 +00:00
Florin Malita
b3460f9979 [skottie] Floatify Fractal Noise
Halfs are lacking sufficient precision for this effect.

Change-Id: If3c2cac34d465d74b7ad8228417c42950f48adfd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461177
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-10-19 19:20:08 +00:00
Chris Dalton
e1bfa18fc5 [graphite] Rect::isEmptyOrNegative() -> Rect::isEmptyNegativeOrNan()
Bug: skia:12466
Change-Id: I89d41509b8158aabac5250f035115954e8ae7f4b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460655
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-10-19 18:07:30 +00:00
Chris Dalton
aa0600136c Extract ToolUtils::sniff_paths
Makes the path sniffing code from BisectSlide reusable.

Change-Id: I21c1e752590359c557c35804e5d5044d8041a308
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460637
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-10-19 17:39:11 +00:00
Jim Van Verth
a2645f2f5f [graphite] Remove CapsTest
Bug: skia:12466
Change-Id: Ibb99647cf151fb45901aee340d60914611c2ba75
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/461096
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-10-19 17:36:59 +00:00
Jim Van Verth
f3f2e75820 [graphite] Add RenderPass setup and test
Bug: skia:12466
Change-Id: Ibbb4894c6a46dd8853909214da85314f9abc3959
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/459880
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-10-19 17:34:03 +00:00
Brian Osman
8095adeebb Reland "Simplify draw_image and paint construction"
This is a reland of c091e48f8f

Reland expands the dual-source blending bug workaround to certain
Adreno6xx GPUs (Pixel 4 and 5), where the unit test for
crbug.com/1241134 began to repro after the FP simplification.

Original change's description:
> Simplify draw_image and paint construction
>
> This inlines the body of SkPaintToGrPaintWithTexture to its one
> call site, and simplifies the resulting FP trees slightly. Also,
> explicitly comment (as with TextureOp and GradientShader) why
> we're *really* doing the OverrideInput "optimization".
>
> Bug: skia:11942
> Change-Id: I0a0e9325a7e47e71e861806519d115054e78e7f0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/459556
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

Cq-Do-Not-Cancel-Tryjobs: true
Bug: skia:11942
Bug: chromium:1241134
Change-Id: I67d54788255d36d269114834bfecdb5a57ebe7a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460978
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-10-19 17:02:49 +00:00
Ethan Nicholas
0118073cd4 Cleaned up SkSL includes
This removes a bunch of includes from header files and replaces them
with forward declarations.

Change-Id: I14a766b84913817f2989437eb78760cec5f048e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460976
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-10-19 15:01:29 +00:00
Joe Gregorio
7a6247afd6 Revert "Simplify draw_image and paint construction"
This reverts commit c091e48f8f.

Reason for revert: Failing on Pixel 4 and Pixel 5.

Original change's description:
> Simplify draw_image and paint construction
>
> This inlines the body of SkPaintToGrPaintWithTexture to its one
> call site, and simplifies the resulting FP trees slightly. Also,
> explicitly comment (as with TextureOp and GradientShader) why
> we're *really* doing the OverrideInput "optimization".
>
> Bug: skia:11942
> Change-Id: I0a0e9325a7e47e71e861806519d115054e78e7f0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/459556
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

Bug: skia:11942
Change-Id: Id809c724d78d2303ab2ee7dac13b916edb89419d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460977
Auto-Submit: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-10-19 14:19:11 +00:00
Ethan Nicholas
ab0a13d9d9 Removed the final remnants of IRGenerator
This completes the long process of moving all of IRGenerator's code and
data into better homes and finally kills the class altogether. There is
a lot of #include churn here due to poor header hygiene in the past;
IRGenerator.h included a ton of stuff and almost everything included
IRGenerator, allowing us to inadvertently be sloppy with our includes.

Change-Id: I70d854e57dec7bd9a311b72f9f72d978d354da98
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/459936
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-10-19 13:17:01 +00:00
Brian Osman
d34b49f891 Add GM to demonstrate inconsistent scaling of shader by paint alpha
Bug: skia:11942
Change-Id: Ibd5fcc1b160763760ed739ec183f3268feb9618e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460617
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-10-19 13:04:42 +00:00
Brian Osman
c091e48f8f Simplify draw_image and paint construction
This inlines the body of SkPaintToGrPaintWithTexture to its one
call site, and simplifies the resulting FP trees slightly. Also,
explicitly comment (as with TextureOp and GradientShader) why
we're *really* doing the OverrideInput "optimization".

Bug: skia:11942
Change-Id: I0a0e9325a7e47e71e861806519d115054e78e7f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/459556
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-10-19 13:04:25 +00:00
skia-autoroll
e32df8f1cf Roll ANGLE from 485cb718c072 to 7f87a326e878 (14 revisions)
485cb718c0..7f87a326e8

2021-10-19 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix crash in array of struct constant
2021-10-19 syoussefi@chromium.org Vulkan: Suppress failing test on AMD/Linux
2021-10-19 syoussefi@chromium.org Roll vulkan-deps from 5be75e2ae595 to a9d8c46f2b61 (6 revisions)
2021-10-19 cnorthrop@google.com Revert "Revert "Translator: Remove the SH_VALIDATE flag""
2021-10-19 syoussefi@chromium.org Revert "RendererVk: Enable VK_KHR_image_format_list on SwiftShader."
2021-10-19 timvp@google.com Vulkan: Add R8G8B8_UNORM to vk_format_map.json
2021-10-18 syoussefi@chromium.org Vulkan: Suppress failing async queue tests
2021-10-18 pkasting@chromium.org Fix some instances of -Wshadow.
2021-10-18 shannonwoods@google.com Update link to old presentation
2021-10-18 jmadill@chromium.org Isolate commit_id.h from other code.
2021-10-18 syoussefi@chromium.org Vulkan: Recycle vkAcquireNextImageKHR semaphores
2021-10-18 jmadill@chromium.org Suppress colorspace trace tests.
2021-10-18 syoussefi@chromium.org Vulkan: Fix importing layered AHBs
2021-10-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from ce1449fd798a to 33eaf1f76b60 (2 revisions)

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: jcgregorio@google.com
Test: Test: dEQP-EGL.functional.image*
Change-Id: I37a88bbb345151ec2f26c7d31183867522180bb1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460459
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-19 05:22:40 +00:00
skia-autoroll
0552805770 Roll SwiftShader from 33eaf1f76b60 to 7997cbc34bb2 (4 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/33eaf1f76b60..7997cbc34bb2

2021-10-18 sugoi@google.com Fix uninitialized memoryOwner on unused DescriptorSet
2021-10-18 sugoi@google.com Fix BC6h decoder
2021-10-18 sugoi@google.com Fix blitting of various packed formats
2021-10-18 srisser@google.com Update Vulkan headers to version 1.2.196

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

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

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

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: jcgregorio@google.com
Change-Id: I95ed60cd30810930e4a9f06fcd07a963f9d16ee7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460460
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-19 05:07:03 +00:00
skia-autoroll
0c0ccc985e Roll Dawn from 180ec459ea79 to 40b73c646e2d (4 revisions)
https://dawn.googlesource.com/dawn.git/+log/180ec459ea79..40b73c646e2d

2021-10-18 pkasting@chromium.org Fix an unused variable warning on Android.
2021-10-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 8045166b166d to 5f5d43ff5193 (1 revision)
2021-10-18 yunchao.he@intel.com Add validation rule for depth/stencil between pipeline and render bundle
2021-10-18 zhaoming.jiang@intel.com Deprecation of using 0 as default size in buffer mapAsync

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 8045166b166d to 5f5d43ff5193

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 jrprice@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: jrprice@google.com
Change-Id: I77b93db82e199eeaacededc47a96f269950f7299
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460461
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-19 04:43:00 +00:00
skia-autoroll
6d74919392 Roll Chromium from bea00132a7e9 to 26d05efa8664 (433 revisions)
bea00132a7..26d05efa86

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 jcgregorio@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: jcgregorio@google.com
Change-Id: Icd6ad6fcf503178d163f1dc3b5b8ab911aa3c510
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460458
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-10-19 04:38:07 +00:00
Aditya Kushwah
99f23a0309 Add labels to Skia OpenGL backend.
This CL will add labels to Skia OpenGL backend using ANGLE's
labeling API.

Bug: chromium:1164111
Change-Id: I479f273fdeb2ba719831ab3de778716c9157b433
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/455899
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-10-19 00:09:29 +00:00
Robert Phillips
1f766792d5 [graphite] Copy UniformDataManager into Graphite and trim down
This attempts to salvage the reuseable portion of:

https://skia-review.googlesource.com/c/skia/+/440841 (New approach to GrProcessor uniforms)

It also removes the old code's Gr- dependencies.

Bug: skia:12466
Change-Id: I7f7f3a9f9b4f3e282af1caeb02d2b305e6756025
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460556
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-10-18 23:58:59 +00:00
Chris Dalton
8fafb0f633 [graphite] Add setters to Rect
Bug: skia:12466
Change-Id: I69222b60d421d8deebcb977124ee0f5cb06f34dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460638
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-10-18 22:13:35 +00:00
Brian Osman
9dd63710f1 Disable GL_NV_shader_noperspective_interpolation on PowerVR
There's probably a more specific check we could use, but we're seeing
shaders fail to compile when enabling this extension on some MediaTek
devices.

Bug: b/177473804
Change-Id: Ic91f60c6935386f44d9386c362e9f778c28a4099
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460576
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-10-18 21:07:49 +00:00
Joe Gregorio
c388629313 Restore Android NativeFonts bot coverage.
Bug: skia:12463
Change-Id: Id0813a9f3e43755770499ef77653a53ced206766
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460516
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2021-10-18 18:14:32 +00:00
Jim Van Verth
0c56bbaffe [graphite] Add command buffer test
Adds test of command buffer submission with GPU recording (if enabled).
Also adds programmatic GPU recording support.

Bug: skia:12466
Change-Id: I85aba9f7e5e09f62f2ddc7040d1ff84bb9b4ae09
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460337
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-10-18 17:49:36 +00:00
Ben Wagner
2764d524e7 [pdf] Treat dc:creator as rdf:Seq
Previously dc:creator was treated as an rdf:Bag, but the XMP
specification defines dc:creator as an ordered sequence which should be
stored as an rdf:Seq.

Fixes: skia:12492
Change-Id: Ie0780d281daedbd351101396dcff26a98af6f490
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/459887
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-10-18 17:20:29 +00:00
Florin Malita
decc9ae2fc [skottie] Fractal Noise optimization
Hoist all evolution-related calculations out of the shader, and pass
precomputed noise planes and weight uniforms.

Renders ~20% faster locally (w/ software rasterization).

Change-Id: I771bea8f3425440515d2cb9a8623336d18bcc7b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460336
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-10-18 16:14:54 +00:00
John Stiles
90c86ad06c Report an error when negating or plussing an array of scalars.
Change-Id: I894bfa01e7cf58f140423554d0200b6c66beef35
Bug: oss-fuzz:39998
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/459883
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-10-18 16:04:18 +00:00
Florin Malita
b6a3aa7eb5 [skottie] Fractal Noise: cycle evolution support
AE allows for optional cycling of evolution, after a certain number of
revolutions.

To support:

  - split off the base/offset component into a separate uniform
    (currently front-loaded into evolution)
  - introduce an additional "cycle" (period) uniform to mod() the noise
    plane calculations


Change-Id: Ib412027114c467934c549cc1438a7d4560aa14bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/460116
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-10-18 15:11:06 +00:00
John Stiles
9f43ceefa3 Allow vector operator~ in SkSL.
This is supported in GLSL ES3. (Strangely, vector operator! isn't.)
Previously, this was flagged as an error: http://review.skia.org/459885

Change-Id: I2c4299159fff58fefe8bd131c8d317cd82974a62
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/459886
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-10-18 15:03:33 +00:00
Michael Ludwig
75310f0c3f Experimental support for lower-resolution backdrop filter eval
Bug: b/197774543
Change-Id: Ic441387a5a48a4bea7eb508cf53e7f88851ec5f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/453316
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-10-18 14:46:05 +00:00
John Stiles
319d75d6f6 Add error test for unary-negating and unary-plussing arrays.
At present, we only detect four errors here. We should detect six.

Change-Id: I226854ab930a273695c42cf2f7bdb1d5cd97e50b
Bug: oss-fuzz:39998
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/459882
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>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-10-18 14:30:36 +00:00