Commit Graph

56037 Commits

Author SHA1 Message Date
Ravi Mistry
c3ded43e92 Run CreateDockerImage bots only on main branch
Change-Id: I82f432a7b072c52623bebea12486f54ff751807a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/423076
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-06-29 19:18:28 +00:00
Brian Osman
581c336b73 Remove all unused GrProcessor class IDs
Change-Id: I0150fbdafaec2e8131d18956138fc100bfc45225
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/423024
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-06-29 18:58:45 +00:00
Brian Osman
56b6107cad Fix a subtle bug with pass-through children of GrSkSLFP
Discovered this while converting the remaining gradient FPs. The idea is
explained in the comment - we want to detect when we're sampling a child
that was converted to pass-through. Rather than directly checking for
that, I was looking at the explicitly-sampled flag. This is usually
correct. However - that flag is propagated to all child FPs, independent
of sample-usage. In this situation, we would end up not clearing coords,
and passing the incorrect default (float2(0)), rather than the actual
incoming coords.

Change-Id: Ibd8e799ec72f1e3a1bc79f723240048dae63ee13
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/423023
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-06-29 18:50:14 +00:00
skia-autoroll
62ce2488f7 Roll SK Tool from ab601dcaea01 to e3e7f63ba062
https://skia.googlesource.com/buildbot.git/+log/ab601dcaea01..e3e7f63ba062

2021-06-29 borenet@google.com [sk] Add logging during asset upload, tweak creation subprocess
2021-06-29 erikrose@google.com [machine] Bridge Switchboard types to TS.
2021-06-29 jcgregorio@google.com [kingsford] Reconnect on invalid pod.
2021-06-29 rmistry@google.com [autoroller] Return error if no changes found; add logging; commit with "-a"
2021-06-29 jcgregorio@google.com [switchboard] Embed the kubeconfig.yaml file in the application.

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 kjlubick@google.com on the revert to ensure that a human
is aware of the problem.

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: kjlubick@google.com
Change-Id: I916c537e2f6a3980c4740cf9182129372deedaef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/423045
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-29 17:47:16 +00:00
Brian Osman
4716a7681e SkRuntimeEffect: Don't keep two copies of SkSL source around
Change-Id: I98fcaa0e83e574cdbdd767abbedcf6763c0fdce4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422521
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-06-29 16:52:46 +00:00
Chris Dalton
c04503d1b2 Run gldmsaa on the AppleM1 bot
Bug: skia:11396
Change-Id: I2a4e6f6508ccbb7a7365bb567d77cc4a95c0bc4d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415117
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-29 16:37:46 +00:00
Kevin Lubick
9080a2fdb5 [infra] Update M1 Mac jobs to use 11.4
These mac minis had been mysteriously low on disk space.
They reported 20 or fewer GB free, but no tool could tell
us where that space was being used.

Updating from 11.1 to 11.4 seems to have cleared that up.

Change-Id: I5291b1ac5616b9899b1cd6de35ae36af0cb8c75b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/423056
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2021-06-29 15:14:34 +00:00
Greg Daniel
bee1b55f30 Make sure we aren't allocating more ycbcr desc sets in Vk than available.
Ycbcr images in vulkan can use anywhere from 1 to 3 descriptor set slots.
This comes from some gpus needing to internally treat the different
planes as different textures/samplers. So when you allocated a desc set
that includes a ycbcr image it may actually use up 3 desc set slots from
the pool. Nothing else changes in how we use the VkImage or descriptor
set. Just a matter of accounting for it in the pool.

Change-Id: I10dead981e59f0ebee54b76bdeabf968114d83b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422520
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-06-29 14:35:45 +00:00
Brian Osman
2f5466e2b3 Initialize fBackend in Window_unix
Discovered while trying to run viewer in ASAN

Change-Id: Ic7469fdbf8cb77573c2f93503440b2137bdba783
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/423016
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-06-29 14:33:26 +00:00
Robert Phillips
b25ce71cb1 Fix bug in GrResourceCache::purgeAsNeeded
Change-Id: Iafb09c2f7ea2393c2753208bd0d245c7b175bc65
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422957
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-06-29 13:32:15 +00:00
Robert Phillips
d1285c68d0 Guard default path renderer against buffer allocation failure
Apparently the guarantee of buffer space has been refactored out from
underneath this class.

Bug: 1223365
Change-Id: I9beb9566a641933322bd946a5067eeafb9c4c013
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422636
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-06-29 13:25:35 +00:00
Florin Malita
1df8756419 [androidkit] Color filter support
Add MatrixColorFilter, HSLAMatrixColorFilter and ComposeColorFilter.

Change-Id: I047368adcd13452566a40e91a6f594dd525efd5f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422517
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-06-29 12:42:19 +00:00
skia-autoroll
78af79e98d Roll Chromium from a685aa37c9fa to 5803a306de81 (1325 revisions)
a685aa37c9..5803a306de

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 bungeman@google.com on the revert to ensure that a human
is aware of the problem.

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: bungeman@google.com
Change-Id: I5f3ca12944d4ca1d4fc7d4f8a68963e34efa8368
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422841
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-29 05:40:19 +00:00
skia-autoroll
a7d4294642 Roll SwiftShader from e4fea30bb438 to 964b9e39e44a (6 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/e4fea30bb438..964b9e39e44a

2021-06-28 bclayton@google.com SpirvShader: Consider OpEntryPoint interface IDs
2021-06-28 capn@google.com Determine MSan instrumentation for Reactor at run-time
2021-06-28 stha09@googlemail.com GCC: readd visibility attributes for EGL/GLESv2
2021-06-28 capn@google.com Fix -warn-stack-size command line option for LLVM 12
2021-06-28 sugoi@google.com Only perform LOD computation when it is necessary
2021-06-28 swiftshader.regress@gmail.com Regres: Update test lists @ e4fea30b

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 bungeman@google.com on the revert to ensure that a human
is aware of the problem.

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: bungeman@google.com
Change-Id: I81400dbb3a395fe9ebd081f415c1c68648fe01ab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422840
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-29 05:00:50 +00:00
skia-autoroll
ff11290840 Roll ANGLE from 8767ec1549a7 to e70c21f4cb16 (24 revisions)
8767ec1549..e70c21f4cb

2021-06-28 cnorthrop@google.com Tests: Add Beach Buggy Racing trace
2021-06-28 timvp@google.com Fixes and updates to roll_aosp.sh
2021-06-28 jmadill@chromium.org Suppress flaky TSAN TLS false positive.
2021-06-28 gert.wollny@collabora.com Capture/Replay: enable passing DrawBuffersTest.*
2021-06-28 cnorthrop@google.com Capture/Replay: Disable GL_OES_depth32 during capture
2021-06-28 penghuang@chromium.org Disable shader cache for PowerVR Rogue GPUs.
2021-06-28 m.maiya@samsung.com Vulkan: Handle incompatible pipeline layouts
2021-06-28 jmadill@chromium.org Revert "Vulkan: Load custom Vk Loader."
2021-06-28 gert.wollny@collabora.com Capture/Replay: enable passing OcclusionQueriesTest.*
2021-06-28 cnorthrop@google.com Capture/Replay: Update CopyImageSubData params
2021-06-28 gert.wollny@collabora.com Capture/Replay: enable passing IndexedPointsTest* tests
2021-06-28 gert.wollny@collabora.com Capture/Replay: capture GetMaterialfv parameters
2021-06-28 syoussefi@chromium.org Vulkan: SPIR-V Gen: Support loops
2021-06-28 gert.wollny@collabora.com Capture/Replay: Handle Gen/Delete Semaphores and fix map emit
2021-06-28 jmadill@chromium.org Vulkan: Load custom Vk Loader.
2021-06-28 jmadill@chromium.org Add SearchType to OpenSharedLibraryWithExtension.
2021-06-28 syoussefi@chromium.org Add angle::BitMask for creating bit masks
2021-06-28 gert.wollny@collabora.com Capture/Replay: Limit number of compile processes based on load
2021-06-28 jmadill@chromium.org Trace Tests: Use hermetic depot_tools.
2021-06-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 8f075627d16b to e4fea30bb438 (3 revisions)
2021-06-28 gert.wollny@collabora.com Capture/Replay: Add test to capture an uninitialized buffer
2021-06-28 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 94cea2515faf to 1078c63704e4 (468 revisions)
2021-06-28 gert.wollny@collabora.com Capture/Replay: Enable BufferDataTests.*
2021-06-28 gert.wollny@collabora.com Capture/Replay: SimpleOperationTest.* pass now

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 bungeman@google.com on the revert to ensure that a human
is aware of the problem.

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: bungeman@google.com
Test: Test: Beach Buggy Racing MEC
Test: Test: ImageTest.SourceAHBTarget2DExternalCycleThroughRgbAndYuvTargets*Vulkan
Test: Test: PUBG Mobile MEC
Test: Test: angle_perftests --gtest_filter="*beach_buggy_racing*"
Change-Id: Ifa2fd660df5ed29328133be07143a224007771b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422839
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-29 04:55:49 +00:00
Chris Dalton
baae2dd7fb Implement inverse fill support in GrTessellationPathRenderer
Bug: skia:10419
Bug: skia:11396
Change-Id: I489236ec5dff59b0e7c4c4e22b83b2b5ec4e9a26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421796
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-29 03:57:46 +00:00
Ben Wagner
1bddd42b98 Add base outlines to colrv1 test font
This allows tests which draw this font on platforms which do not support
the COLRv1 table to draw something rather than nothing.

Change-Id: I024dd4809498d55f8c4c9f0de9e342fed5fb69ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422757
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-06-28 23:59:26 +00:00
Chris Dalton
141cfdfe98 Remove the "DMSAA" bots
DMSAA is complete enough now that we can just add gldmsaa configs to the
normal test bots.

Bug: skia:11396
Change-Id: I4f65777388e2e4ddbe10271dd419a71e8fa7820b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421376
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-06-28 23:22:01 +00:00
Brian Osman
b7af4875cb Don't use SkSL node pools for runtime effects
Particlarly with runtime FPs, this is a poor space/time tradeoff.
This doesn't completely undo the memory losses from the linked bugs.
Some of it is the unavoidable cost of initializing the runtime effect
compiler - but that's going to happen once, sooner or later. It does
reduce the heap impact of each effect from ~64k to something like 2-3k,
depending on the effect.

Bug: chromium:1223995 chromium:1223996
Change-Id: I929b7a94a88119a155ca403793bebd003a2deca6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422518
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-06-28 22:26:33 +00:00
Chris Dalton
661abd0f8d Reland "Use GL_ANGLE_instanced_arrays"
This is a reland of 76b80eca64

Original change's description:
> Use GL_ANGLE_instanced_arrays
>
> It turns out the es2 command buffer has supported instanced rendering
> all along. We just weren't using it! This CL starts using
> GL_ANGLE_instanced_arrays, after which point chrome es2 will start
> taking many of our instanced codepaths. It can even use tessellation if
> we update the shaders to not rely on gl_VertexID.
>
> Bug: chromium:1220246
> Change-Id: I173f4c07771691143d2540ecb9c3f8222ed8e4b3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422379
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

Bug: chromium:1220246
Change-Id: I4d6f74adff4e2eda4b55a459faf16b5f5a230d06
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422616
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-28 21:49:46 +00:00
Jorge Betancourt
4588910612 [androidkit] expose paint stroke settings
Change-Id: I9e34c319ff8b056e5b9cc0104be2ad50b37284c9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422618
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-06-28 20:19:22 +00:00
Mike Reed
40fefb239e Make SkTOptional C++14 safe
Change-Id: Ib8e872ecd1b5d2b3702a12bae73f1a7a1b3a2f4e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422519
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-06-28 20:00:08 +00:00
skia-autoroll
5a0e6c0ac5 Roll SK Tool from 164b720af267 to f22c7abcd92e
https://skia.googlesource.com/buildbot.git/+log/164b720af267..f22c7abcd92e

2021-06-28 jcgregorio@google.com [switchboard] Fold targetconnect into test_machine_monitor.
2021-06-28 kjlubick@google.com [infra] Fix named fiddles alert
2021-06-28 borenet@google.com [autoroll] Rebase the CL before retrying CQ

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 kjlubick@google.com on the revert to ensure that a human
is aware of the problem.

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: kjlubick@google.com
Change-Id: I8eafa75c3a93606c013c3b0a71d06dc7a953aced
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422536
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-28 19:21:32 +00:00
Ethan Nicholas
549c6b8739 Added Poison values to SkSL to improve DSL error handling
This also tightens up the rules around releasing DSL objects.

Bug: skia:12133
Change-Id: I11a6d8fbcec58374f7b5ed5ced1c5c112e2b7cc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421323
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-06-28 19:15:16 +00:00
Chris Dalton
1c39ecab1e Various workarounds for es3 command buffer
* Never generate mipmaps manually
* Disallow EXT_texture_norm16
* Disallow ETC2 compression
* Disallow GL_CHROMIUM_map_sub
* Disallow "transfer from surface to buffer"

Bug: chromium:1220246
Bug: chromium:1224108
Bug: chromium:1224111
Bug: chromium:1224138
Bug: chromium:1224117
Bug: chromium:1224110
Change-Id: I9d02dc942623b1c7b5399877ea4863637bdd9005
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422382
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-06-28 18:57:19 +00:00
Chris Dalton
e0f4de6f23 Add a cmdbuffer_es3 config
Adds the ability to create an es3 command buffer context, but does not
yet begin testing it because libcommand_buffer_gles2.dylib needs to be
updated first to respect the EGL_CONTEXT_CLIENT_VERSION attrib. Adds a
version check on the context as well to verify we actually get an es3
context when we ask for one.

Bug: chromium:1220246
Change-Id: I996f482d8ad831b81f873e1bfd2f0526e5f1e73e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419616
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-06-28 18:30:56 +00:00
Eric Boren
e5766b8080 [infra] Remove Pixel (sailfish) jobs
Move some rough equivalents to Pixel2XL.

Change-Id: I8e96cdf011f02061cdbbda774b5ac53dd1581d54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422500
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-06-28 16:52:04 +00:00
Michael Ludwig
f8316fd3d6 Check for invertible device matrix
skif::Mapping's deviceToLayer space had a punt when the device matrix
was not invertible and just returned the value unmodified, silently.
In this instance, it meant that conversion of device bounds into layer
space produced non-empty bounds, but the actual non-invertible CTM
would always result in an empty layer.

Now skif::Mapping asserts that its device matrix is invertible and
caches that inverse. The SkCanvas's get_layer_bounds_and_mapping checks
for invertibility first.

This doesn't quite fix the linked fuzzer bug's test case, but allows
it to proceed past the saved layer with image filter.

Bug: chromium:1222351
Change-Id: I1342634e6ba5d78709a5f1b30785c9e7c69633e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421096
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-06-28 16:28:59 +00:00
Chris Dalton
040728364d Revert "Use GL_ANGLE_instanced_arrays"
This reverts commit 76b80eca64.

Reason for revert: Chrome layout test diffs

Original change's description:
> Use GL_ANGLE_instanced_arrays
>
> It turns out the es2 command buffer has supported instanced rendering
> all along. We just weren't using it! This CL starts using
> GL_ANGLE_instanced_arrays, after which point chrome es2 will start
> taking many of our instanced codepaths. It can even use tessellation if
> we update the shaders to not rely on gl_VertexID.
>
> Bug: chromium:1220246
> Change-Id: I173f4c07771691143d2540ecb9c3f8222ed8e4b3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422379
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=bsalomon@google.com,csmartdalton@google.com

Change-Id: I62c25be4f6cf6937c0b5ab6e765a7113aad76916
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1220246
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422441
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-28 16:12:11 +00:00
Chris Dalton
ee3902d6ec Reland "Remove all instances of incorrect coverage with DMSAA"
This is a reland of 3722d3195b

Original change's description:
> Remove all instances of incorrect coverage with DMSAA
>
> Here we pivot and handle DMSAA differently depending on platform:
>
> 1) Desktop GL and EXT_multisample_compatibility: Here it's easy to use
>    all our existing coverage ops because we can just call
>    glDisable(GL_MULTISAMPLE). So we only trigger MSAA for paths and
>    use the coverage ops for everything else with MSAA disabled.
>
> 2) EXT_multisampled_render_to_to_texture (86% adoption on Android):
>    The assumption here is that MSAA is almost free. So we just allow
>    MSAA to be triggered often and don't worry about it.
>
> Devices that neither support #1 nor #2 just don't get DMSAA for now.
>
> Bug: skia:11396
> Change-Id: I53ad840216ea6d88ae69eece6f7a062f9e82dad7
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421019
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

Bug: skia:11396
Change-Id: I536d365efc3c6890b45f14b7d188e0ef5ec36e19
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421825
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-06-28 16:09:23 +00:00
Jorge Betancourt
0ce582790a [androidkit] introduce clipping to java Canvas
clipPath(), clipRect(), clipRRect(), clipShader()

Change-Id: Iee2571c6ab7c3f8cdfbfc4df223fd59d307b5c62
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420880
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-06-28 16:04:49 +00:00
Jim Van Verth
d0eb770756 Reland "Metal: First pass at async pipelineState creation."
This reverts commit 688d3180ab.

Reason for revert: Fixing error

Original change's description:
> Revert "Metal: First pass at async pipelineState creation."
>
> This reverts commit adf36be2f9.
>
> Reason for revert: breaking Flutter roll
>
> Original change's description:
> > Metal: First pass at async pipelineState creation.
> >
> > Trying a basic approach to generating pipelineStates asynchronously.
> > Rather than managing the caching ourselves, we depend on the Apple
> > cache. When a pipelineState is created during the regular path, it
> > should find it in the Apple cache and return immediately.
> >
> > To avoid too much duplication of the shader compilation step we cache
> > the MTLLibrarys locally until the final PSO is cached.
> >
> > Bug: skia:12141
> > Change-Id: Id8f6ba7caee33b4c7f6a5af0e8ad5b84993b1246
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421321
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: Jim Van Verth <jvanverth@google.com>
>
> TBR=jvanverth@google.com,brianosman@google.com,chinmaygarde@google.com
>
> Change-Id: Iad7c4c87c22d0d002809c215878439fdb098f54a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:12141
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422117
> Reviewed-by: Tyler Denniston <tdenniston@google.com>
> Commit-Queue: Tyler Denniston <tdenniston@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:12141
Change-Id: Ibf6aa5383b6aabbf538dab679f3f83241a4504d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422499
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-06-28 16:00:19 +00:00
Kevin Lubick
9f39daff8f [canvaskit] Deploy 0.28.1
Change-Id: I001eae691e9167d67eab82a5eeb3650dc6f0118f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422516
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-06-28 15:28:26 +00:00
Brian Salomon
b8c4add799 Revert "Avoid non-indexed quad draws on PowerVR Rogue and 54x"
This reverts commit b149700e01.

Reason for revert: This was a speculative fix that didn't pan out.

Original change's description:
> Avoid non-indexed quad draws on PowerVR Rogue and 54x
>
> Bug: chromium:1203652
> Change-Id: Id83ac81c40eda2653e97a7c8ae9326c273f0f00b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420537
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:1203652
Change-Id: I73f2415e35d92514229572f2d8823c1a632a68fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421921
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-06-28 15:13:49 +00:00
Kevin Lubick
8fd0ccfc9f [skottie] Update lotties_with_assets to include all lotties from lottie-samples
The make_lotties_with_assets is a handy tool to take a
directory of lottie files and move them into their own
folders. This will make it easier to add assets (e.g. fonts,
images) if we want to get more accurate benchmarks.

This also makes the test not stop on the first failure, but complete
all of them, so we can see more easily if multiple things have broken.

Change-Id: Idb2ece71376a11e7524cd513a2798884a44bb59f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421927
Reviewed-by: Florin Malita <fmalita@google.com>
2021-06-28 14:59:24 +00:00
Kevin Lubick
bd71936196 [canvaskit] Document perf-canvaskit-puppeteer
We also catch any errors that happen during running the
test or flushing. This allows them to show up in the CI logs.

For skottie-frames in particular, we stop clearing the canvas
before each render, as that was masking an error (and not how
we do things on skottie.skia.org).

Change-Id: I83936a35b6c314da76a0a64e15deaabd156e71f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421923
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-06-28 14:59:24 +00:00
Chris Dalton
76b80eca64 Use GL_ANGLE_instanced_arrays
It turns out the es2 command buffer has supported instanced rendering
all along. We just weren't using it! This CL starts using
GL_ANGLE_instanced_arrays, after which point chrome es2 will start
taking many of our instanced codepaths. It can even use tessellation if
we update the shaders to not rely on gl_VertexID.

Bug: chromium:1220246
Change-Id: I173f4c07771691143d2540ecb9c3f8222ed8e4b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422379
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-28 14:58:39 +00:00
Eric Boren
e3a1b69cd4 [infra] Update infra dep to roll cpython3 back to 3.8.10
This also updates a few other CIPD packages.

Change-Id: I078e7ac8da49ae79392263013158956a6d29c656
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422096
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-06-28 13:09:19 +00:00
skia-autoroll
eef5b0e933 Roll ANGLE from c24494415a1a to 8767ec1549a7 (12 revisions)
c24494415a..8767ec1549

2021-06-28 cnorthrop@google.com Tests: Add Bricks Breaker Quest trace
2021-06-26 cnorthrop@google.com Tests: Add Mario Kart Tour trace
2021-06-25 syoussefi@chromium.org Translator: Better group ES100 texture builtins
2021-06-25 jmadill@chromium.org infra: Add perf mb configs.
2021-06-25 pkasting@chromium.org Fix -Wimplicit-int-float-conversions.
2021-06-25 jmadill@chromium.org infra: Add perf configs.
2021-06-25 jmadill@chromium.org Trace Tests: Use xvfb consistently on Linux.
2021-06-25 jmadill@chromium.org D3D11: Fix OOB write in Blit11.
2021-06-25 ynovikov@chromium.org Remove obsolete Android bots from CQ
2021-06-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from fa6954ae7bb5 to 94cea2515faf (470 revisions)
2021-06-25 syoussefi@chromium.org Vulkan: SPIR-V Gen: Support the ternary operator
2021-06-25 syoussefi@chromium.org Vulkan: SPIR-V Gen: Basic support for fragment shaders

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 bungeman@google.com on the revert to ensure that a human
is aware of the problem.

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: bungeman@google.com
Test: Test: angle_perftests --gtest_filter="*bricks_breaker_quest*"
Test: Test: angle_perftests --gtest_filter="*mario_kart_tour*"
Change-Id: I6b47f47cb43d963a18ca761d3ed3388ba515c33a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422376
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-28 05:16:44 +00:00
skia-autoroll
e8e67e29a7 Roll Dawn from a9faf7f74aef to 3d5402c0a4a0 (10 revisions)
https://dawn.googlesource.com/dawn.git/+log/a9faf7f74aef..3d5402c0a4a0

2021-06-27 jiawei.shao@intel.com OpenGL: Return error when calling writeTexture() on stencil aspect
2021-06-27 jiawei.shao@intel.com Fix wrong declaration in BufferZeroInitTest.BoundAsReadonlyStorageBuffer
2021-06-26 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from e25a8fc7f0d3 to c03a09c10656 (1 revision)
2021-06-25 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from e225b556c6fa to e25a8fc7f0d3 (2 revisions)
2021-06-25 bclayton@google.com D3D12: Reenable EncodeManyUBOAndSamplers test
2021-06-25 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 5b9203cc0581 to e225b556c6fa (2 revisions)
2021-06-25 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from ae0bf04ad224 to 5b9203cc0581 (12 revisions)
2021-06-25 bclayton@google.com Test that UBO and SB layout rules are correct and consistent for all backends
2021-06-25 hao.x.li@intel.com Add stress test for memory allocation and free on D3D12
2021-06-25 cwallez@chromium.org Vulkan: Check for required features when initializing adapters

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from ae0bf04ad224 to c03a09c10656

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 rharrison@google.com on the revert to ensure that a human
is aware of the problem.

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: rharrison@google.com
Change-Id: I23868952c633c78226655253ebe0c81fed844328
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422378
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-28 05:16:09 +00:00
skia-autoroll
b1590f15a3 Roll SwiftShader from 8f075627d16b to e4fea30bb438 (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/8f075627d16b..e4fea30bb438

2021-06-25 pkasting@chromium.org Fix -Wloop-analysis warnings in llvm-subzero.
2021-06-25 capn@google.com Enable the -Wdeprecated-copy compiler warning
2021-06-25 capn@google.com Prevent changing Reference<> address

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 bungeman@google.com on the revert to ensure that a human
is aware of the problem.

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: bungeman@google.com
Change-Id: Ia145b73e6a709db301b548eda42ebd20c75b41bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422377
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-28 05:11:39 +00:00
skia-autoroll
0f1ac21185 Roll SK Tool from 14f373690fe1 to 0b5d4a7786e6
https://skia.googlesource.com/buildbot.git/+log/14f373690fe1..0b5d4a7786e6

2021-06-27 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com Update CIPD Packages
2021-06-25 borenet@google.com [vpython] Roll cpython3 back to 3.8.10

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 kjlubick@google.com on the revert to ensure that a human
is aware of the problem.

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: kjlubick@google.com
Change-Id: Iee1c7563791d12c26fe0436a7ae3c593e2e78773
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422296
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-27 17:26:18 +00:00
skia-autoroll
96a7f06201 Roll SK Tool from 107a95a6bc03 to 14f373690fe1
https://skia.googlesource.com/buildbot.git/+log/107a95a6bc03..14f373690fe1

2021-06-25 borenet@google.com [sk] Fix hang in "sk asset" when not running inside a Git checkout

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 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: Ibec4740ac15b9e3f70d6a6e312187b12fa409a4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422216
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-06-26 18:29:19 +00:00
Jim Van Verth
1d9fe0090a Revert "Fix warning"
This reverts commit 702fb679f3.

Reason for revert: Landed without original CL

Original change's description:
> Fix warning
>
> Change-Id: I7f017aa0a842c40e5041529f5e3d7b9a03989a65
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422116
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

TBR=jvanverth@google.com,bungeman@google.com

Change-Id: Ie1ab9daaff46efbff5879bf451269fcf9f554d3f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422118
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-06-26 02:56:06 +00:00
Jim Van Verth
702fb679f3 Fix warning
Change-Id: I7f017aa0a842c40e5041529f5e3d7b9a03989a65
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422116
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-06-26 02:54:25 +00:00
Mike Reed
9f745d90d0 Remove SkMatrix44
Change-Id: I4b33603f7318bc5881929b50258bf166c8a5cb04
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420818
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-06-26 01:51:45 +00:00
Tyler Denniston
688d3180ab Revert "Metal: First pass at async pipelineState creation."
This reverts commit adf36be2f9.

Reason for revert: breaking Flutter roll

Original change's description:
> Metal: First pass at async pipelineState creation.
>
> Trying a basic approach to generating pipelineStates asynchronously.
> Rather than managing the caching ourselves, we depend on the Apple
> cache. When a pipelineState is created during the regular path, it
> should find it in the Apple cache and return immediately.
>
> To avoid too much duplication of the shader compilation step we cache
> the MTLLibrarys locally until the final PSO is cached.
>
> Bug: skia:12141
> Change-Id: Id8f6ba7caee33b4c7f6a5af0e8ad5b84993b1246
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421321
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

TBR=jvanverth@google.com,brianosman@google.com,chinmaygarde@google.com

Change-Id: Iad7c4c87c22d0d002809c215878439fdb098f54a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:12141
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/422117
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2021-06-25 21:43:20 +00:00
Brian Osman
9204ca678b Replace GrAlphaThresholdFP with GrSkSLFP
This also introduces "IgnoreOptFlags", for child FPs that should not
influence the OptFlags of the parent.

Change-Id: I8f7ba2ca59f612bd7d6e226b96e9fd94d656150b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421929
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-06-25 21:02:49 +00:00
Chris Dalton
061aa81252 Handle the empty case in GrDrawingManager::insertTaskBeforeLast
Change-Id: I3c0f042b28cc39cc6df2f63b52a0f431cee6bda4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421826
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-25 20:38:09 +00:00
Ben Wagner
9d92d0ff29 Roll FreeType
f9350be1e4..ff40776591

Change-Id: I8df5885be80bd5beab8a8b0745f457eb1f98a741
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421998
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-06-25 19:57:39 +00:00