Commit Graph

55336 Commits

Author SHA1 Message Date
Brian Osman
1042334c6e Add SkFilterColorProgram
This extracts the logic for SkRuntimeEffect's one-at-a-time handling of
colors, and also makes it more capable. We can now execute color filters
that invoke children with literals, or with the results of other
children (eg, compose color filter).

Change-Id: I53c6db0316a7162c32f2a7b86b35c947cccb42ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/408117
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-05-24 15:06:42 +00:00
Adlai Holler
db418ec6cd Update the documentation for GrResourceAllocator
This class has changed with reordering so we need to
freshen these up.

Bug: skia:10877
Change-Id: Ic1bfabe7b21d665e6b50cad8be4026dc3481fb9c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411217
Auto-Submit: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-05-24 14:57:13 +00:00
Brian Salomon
90a40bb298 Don't add mips to pinned raster images
Pinning is only used by Android Framework and shouldn't require mipmaps
anyway.

Bug: skia:10411
Change-Id: Ie9fe09a26468386fc667e05e316a033427617688
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410417
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-05-24 14:27:10 +00:00
Brian Salomon
5cc24c07bb YUVUtils function for splitting image into yuva planes.
Makes the code from yuv_splitter reusable and able to produce subsampled
planes.

Bug: chromium:1210557
Change-Id: Icce112658bbdb866c3ecb9dcff1a5e8d0d30135a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411297
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-05-24 14:10:39 +00:00
Kevin Lubick
cd7fc79579 [infra] Remove Moto G4 tasks
We no longer have these devices in the lab.

Change-Id: Ief49387818c9620afe763ad59558dd84475f1960
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411756
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2021-05-24 14:02:41 +00:00
John Stiles
f061c59792 Rewrite matrix comparisons to work around Adreno bug.
Change-Id: I2f245892e12416decd4f0aee491f16fb4040ffca
Bug: skia:11308
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411036
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-05-24 13:42:19 +00:00
Ravi Mistry
b1bc34243e Revert "Whitespace change for master->main migration test"
This reverts commit 8988cb4643.

Reason for revert: Testing again

Original change's description:
> Whitespace change for master->main migration test
>
> No-Tree-Checks: true
> Bug: skia:11987
> Change-Id: I1321a33063b1d934a2d0fbaf01e13884c47e11de
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410416
> Reviewed-by: Ravi Mistry <rmistry@google.com>
> Commit-Queue: Ravi Mistry <rmistry@google.com>

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

Bug: skia:11987
Change-Id: Ic271da0b2b7096464c71b78e53fce51dacb4a44e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411304
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-05-24 12:22:59 +00:00
Mike Reed
0e4477e713 Switch to malloc/free to be compatible with CanvasKit.Malloc
Inspired by https://skia-review.googlesource.com/c/skia/+/410876

Change-Id: Iaf64f379e74d46b46c795dd5f04db32406b976b4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411576
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-05-24 12:22:13 +00:00
skia-autoroll
09eb337d30 Roll Chromium from e4951e43cf8f to 9aeecd90eabf (1007 revisions)
e4951e43cf..9aeecd90ea

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 jlavrova@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/master/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: jlavrova@google.com
Change-Id: Ia2e82a0d5dd12db37129ad307539a76a29b04d5f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411678
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-24 08:56:09 +00:00
skia-autoroll
29670b0853 Roll SwiftShader from 3b9a1a795f1e to b46b97c10c10 (4 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/3b9a1a795f1e..b46b97c10c10

2021-05-22 swiftshader.regress@gmail.com Regres: Update test lists @ cbfa971a
2021-05-21 johnstiles@google.com Revert "Fix error in mat4x2(scalar) construction."
2021-05-21 capn@google.com Update llvm::ConstantVector::getSplat() usage to take ElementCount
2021-05-21 srisser@google.com Make fragDepth clamping conditional

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 jlavrova@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/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: jlavrova@google.com
Change-Id: I8184d81e2411b0edc70fd7ba313c3f06ed11bb5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411329
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-24 05:13:04 +00:00
skia-autoroll
c66d708545 Roll Dawn from 4589de61a07e to df7ddab82562 (8 revisions)
https://dawn.googlesource.com/dawn.git/+log/4589de61a07e..df7ddab82562

2021-05-22 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from e5fdd58352b2 to bcefe46f449e (2 revisions)
2021-05-22 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from ed86bf99b055 to e5fdd58352b2 (1 revision)
2021-05-22 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from e92a1ae4ac2d to ed86bf99b055 (3 revisions)
2021-05-21 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from ee0b69ce537f to e92a1ae4ac2d (4 revisions)
2021-05-21 bajones@chromium.org Remove deprecated BindGroupLayoutEntry fields
2021-05-21 enga@chromium.org ParamGenerator: Return the end iterator if any param is empty
2021-05-21 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from ada560b289b7 to ee0b69ce537f (1 revision)
2021-05-21 bajones@chromium.org Removed deprecated CreateRenderPipeline path

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from ada560b289b7 to bcefe46f449e

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 cwallez@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/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: cwallez@google.com
Change-Id: Id637c9bca33c33a394017b88981bd14792c35398
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411330
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-24 05:09:09 +00:00
skia-autoroll
a3c2a4a809 Roll ANGLE from 44fabb7b8864 to c229ccfeea64 (11 revisions)
44fabb7b88..c229ccfeea

2021-05-22 syoussefi@chromium.org Vulkan: SPIR-V Gen: Handle gl_PerVertex
2021-05-21 m.maiya@samsung.com Vulkan: TextureVk inherits a few attributes from ImageHelper
2021-05-21 jmadill@chromium.org infra: Add isolated script tests to Pixel 4.
2021-05-21 cnorthrop@google.com Tests: Skip pokemon_go on Intel Windows Vulkan
2021-05-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 535dfe49fc49 to 8010f59c7034 (14 revisions)
2021-05-21 m.maiya@samsung.com Vulkan: Allow certain usecases to have non-zero stride
2021-05-21 Kyle.Griffiths@imgtec.com Remove linear filtering requirement on depth textures
2021-05-21 m.maiya@samsung.com Reland "Vulkan: Add support for EXT_texture_border_clamp"
2021-05-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from b625560cb068 to dbbe4e524711 (537 revisions)
2021-05-21 gert.wollny@collabora.com Capture/Replay: Write some bytes when serializing blobs
2021-05-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 3b9a1a795f1e to 024bf32587e5 (1 revision)

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 jlavrova@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/master/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: jlavrova@google.com
Test: Test: PbufferTest.ClearAndBindTexImageSrgbSkipDecode*Vulkan
Test: Test: VertexAttributeTestES3.DrawWithMismatchedComponentCount*
Test: Test: VertexAttributeTestES3.DrawWithRelaxedVertexAttributeType*
Change-Id: I592ae5d5b20ed6eb8be2930896e6c45597c63d47
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411331
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-24 05:07:59 +00:00
skia-recreate-skps
f88eb656c1 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Ifd02e82d6cf48954d90a9342d165d445ebfa9fc5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411497
Reviewed-by: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-05-23 06:43:24 +00:00
Mike Reed
ec9d0e865d Move patheffect details to (private) base subclass
bug: skia:11957
Change-Id: Iceaa0ac1d7a3f049d2725629d78c755ad03a2862
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411302
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-05-22 01:55:43 +00:00
Chris Dalton
8447f13c6d Chop tessellated curves that don't fit in a patch
Previously we would completely disable hardware tessellation for a path
if there was any chance of a curve requiring more segments than
supported by the hardware. This CL updates the tessellators to simply
chop paths until they fit in patches, allowing us to finally draw any
path using hardware tessellation.

Bug: skia:10419
Change-Id: I5c9f78cda3e30b8810aff3cb908235965706f2d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410977
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-05-21 23:01:43 +00:00
John Stiles
5ee369f623 Rename caps bit for matrix comparison rewrites.
This was originally designated for 2x2 matrices only, but this was not
right--all matrix comparisons actually need to be rewritten to fully
work around the bug.

Change-Id: I743d16a65bc55e93361a3dd8753653384583f063
Bug: skia:11308
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411416
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-05-21 22:31:53 +00:00
Adlai Holler
cbe4634d94 Revert "Temporarily disable reduceOpsTaskSplitting on bots"
This reverts commit 9604eab2bd.

Reason for revert: Got perf data

Original change's description:
> Temporarily disable reduceOpsTaskSplitting on bots
>
> When we enabled this, at that time CCPR atlasing would
> auto-disable when reordering was enabled, so the perf
> impact was unclear.
>
> Since then, CCPR atlasing has been disabled for everyone,
> so let's flip this flag, get some perf data, and then flip it back.
>
> Bug: skia:10877
> Change-Id: I67f081981e84c573dfc2907018b50c740f3a32cc
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411216
> Auto-Submit: Adlai Holler <adlai@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,robertphillips@google.com,adlai@google.com

Change-Id: Ic90be563da759b48f5aa3d9c951cfb76439ce604
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10877
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411298
Reviewed-by: Adlai Holler <adlai@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2021-05-21 19:25:04 +00:00
John Stiles
147cfda6d8 Allow function declarations to take (void).
This is allowed by GLSL, so we allow it too.

GLSL ES 1.0, Section 6.1: "The idiom “(void)” as a parameter list is
provided for convenience."

Change-Id: I551c505d3de518a75acd5e306f09f0f0767e43f2
Bug: skia:12025
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411300
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-21 19:21:23 +00:00
Heather Miller
0ea0e75a3d Update release notes for m92 cut, m93 begin
Change-Id: I216fa16d6dfd57214def9099cb3fa1b5cb281f23
Docs-Preview: https://skia.org/?cl=411299
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411299
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
2021-05-21 18:18:03 +00:00
Mike Reed
8f4e924181 Move class into impl
I think this finishes all public subclasses, so we can proceed next with
moving the virtuals themselves to a private subclass.

Change-Id: I490f3cf6497a6bdcafc1ce756cfdeb32eab18585
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411239
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-05-21 18:06:53 +00:00
Brian Osman
b1e9cb08c1 Remove fExpression (matrix expression) from SampleUsage
Other than GMs, there is exactly one use of matrix-sampling
(GrMatrixEffect). It is always uniform (not literal or an
expression containing a uniform). The uniform always has the
same name. Bake these simplifications in, which also shrinks
SampleUsage quite a bit.

Change-Id: I0d5e32069d710af475ccc1030e2988c5fc965a98
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411296
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-05-21 18:04:03 +00:00
Florin Malita
50cc5d4147 [androidkit] Image shader support
Tangential updates:

 - new encoded input stream Image factory
 - Paint setters now return the object to support a fluent workflow
 - cube demo updated to store face paints instead of colors


Change-Id: I6142a229b18165112ef1fe76acae38bc4b27480d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410789
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-05-21 17:30:43 +00:00
Chris Dalton
8017581ec0 Don't under-allocate curve tessellation triangles
Fixes a bug introduced by 2758a3189a.
This probably isn't a big deal since when a path has 1 verb, the 1
verb is kMove and it's empty anyway, but this change is probably best
for the sake of correctness.

TBR=robertphillips@google.com

Change-Id: I73f7d199b19c7d8adc8d73efb7eac1a3d2fbd3be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410935
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-21 16:29:53 +00:00
Brian Salomon
54593e7424 Revert "Reland "Use SkImage_Raster's unique ID to cache textures.""
This reverts commit 814c6db4c0.

Reason for revert: Pending investigatoin of what's going on with Chrome issue 1211203.

Original change's description:
> Reland "Use SkImage_Raster's unique ID to cache textures."
>
> This is a reland of 8005007e98
>
> Original change's description:
> > Use SkImage_Raster's unique ID to cache textures.
> >
> > SkImages can share SkBitmaps and have different unique IDs/mipmap
> > status. Currently we cache the texture version using the bitmap's
> > unique ID. Instead use the image's ID so different images produce
> > different textures (e.g. mipped and nonmipped).
> >
> > Bug: skia:11983
> > Change-Id: Ic37564186f675277e5a9de1bcf36b40a19c3a3de
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/407356
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
>
> Bug: skia:11983
> Change-Id: I63e9d15ffdf6b6769c9b0b97d9aa30f353e1a3a3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/409376
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Bug: skia:11983
Change-Id: I4fb2875c2a62d409c3f6ddd41344e83f4e68a375
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411240
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-05-21 16:06:46 +00:00
Eric Boren
465819d7c2 Update Skia milestone to 93
Change-Id: Ib9a9832dbd63b6a306f5c955f4528b195c29c71f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411278
Reviewed-by: Eric Boren <borenet@google.com>
2021-05-21 15:29:03 +00:00
Ravi Mistry
e5be65e998 Update references to master branch
Change-Id: I1bfd1b655af6cdfbd64452b1e594a276425095fe
Bug: skia:11987
Docs-Preview: https://skia.org/?cl=410790
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410790
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-05-21 15:18:16 +00:00
Chris Dalton
1c933f83c1 Fix an egregious overallocation error in GrVertexChunkArray
Change-Id: I6ca9f094edcaf1dbf21ffe32a37d5e058ec57c0a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411096
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-21 15:15:46 +00:00
Robert Phillips
7dd999696d Remove last two uses of SkGpuDevice's GrSurfaceDrawContext-based factory
Change-Id: Ib286933a1c2c82efbb87799016550086bcbc584f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410817
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-05-21 14:51:56 +00:00
Adlai Holler
9604eab2bd Temporarily disable reduceOpsTaskSplitting on bots
When we enabled this, at that time CCPR atlasing would
auto-disable when reordering was enabled, so the perf
impact was unclear.

Since then, CCPR atlasing has been disabled for everyone,
so let's flip this flag, get some perf data, and then flip it back.

Bug: skia:10877
Change-Id: I67f081981e84c573dfc2907018b50c740f3a32cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411216
Auto-Submit: Adlai Holler <adlai@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-05-21 14:46:56 +00:00
skia-autoroll
7c67ebcd3b Roll ANGLE from 019eda5c9478 to 44fabb7b8864 (10 revisions)
019eda5c94..44fabb7b88

2021-05-21 ynovikov@chromium.org Revert "Vulkan: Add support for EXT_texture_border_clamp"
2021-05-20 ynovikov@chromium.org Don't use VK_EXT_debug_utils with non-Android Vulkan < 1.1.91
2021-05-20 jmadill@chromium.org D3D11: Fix respecifying 3D textures.
2021-05-20 timvp@google.com Fix Loading ANGLE.apk in Android
2021-05-20 jonahr@google.com Reland Change to module directory when loading swiftshader ICD.
2021-05-20 ruperts@google.com Remove .find_ignore files
2021-05-20 jmadill@chromium.org infra: Add dEQP tests to the Pixel 4.
2021-05-20 gert.wollny@collabora.com FrameCapture: Write the frame cpp file even if frame is empty
2021-05-20 cnorthrop@google.com Add MultisampledRenderToTexture Pixel4 expectations
2021-05-20 mark@lunarg.com Balance debuglabel begin/end pairs for skipped drawcalls

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 bsalomon@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/master/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: bsalomon@google.com
Test: Test: TH
Change-Id: Ic0e1bced4f0b380e6ad5f3ad906b7bb809587a9f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411120
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-21 05:10:45 +00:00
skia-autoroll
a39b80bfd3 Roll Dawn from b58efd079cab to 4589de61a07e (6 revisions)
https://dawn.googlesource.com/dawn.git/+log/b58efd079cab..4589de61a07e

2021-05-21 jiawei.shao@intel.com Remove DAWN_SKIP_TEST_IF -- Part I
2021-05-21 bajones@chromium.org Remove deprecated vertex formats
2021-05-21 bajones@chromium.org Remove Fences
2021-05-20 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 6c582778cff9 to ada560b289b7 (3 revisions)
2021-05-20 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 9e32b2009686 to 6c582778cff9 (11 revisions)
2021-05-20 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 31d761329a5f to 9e32b2009686 (49 revisions)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 31d761329a5f to ada560b289b7

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 cwallez@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/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: cwallez@google.com
Change-Id: I618007335572e71b4608afff49442aeae654cf8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411119
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-21 04:57:55 +00:00
John Stiles
36c5796f0b Add caps bit for 2x2 matrix comparison rewrites.
This will allow us to rewrite `mat == mat` on Adreno 5xx/6xx GPUs when
running in GLSL.

Change-Id: I621e918a545a49b7ecb9c944ae59b1e7a7594bae
Bug: skia:11308
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410996
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-05-20 23:19:05 +00:00
Brian Osman
77a5bc3212 Remove GrArithmeticProcessor, use GrRuntimeFPBuilder instead
This also converts "enforcePMColor" to a uniform (rather than baking it
in). It's easier to write this way, and I can't imagine it made that
much difference to performance.

Change-Id: Idd202678740077412a2fb4e5122ebb9118f1d7bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410096
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-05-20 23:16:55 +00:00
Mike Reed
ec87dc1b76 Just expose factories for patheffects
bug: skia:11957
Change-Id: If2983fcd1b520a7ae77650d7e5ab226af9db52e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410782
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
2021-05-20 23:01:45 +00:00
John Stiles
298de8a345 Add catch-all Adreno6xx renderer type.
The `fInBlendModesFailRandomlyForAllZeroVec` workaround is now enabled
for any Adreno 600-class driver, instead of only the 615, 630 and 640.

Change-Id: I60980508ae3b1fbfdb24073ff661785bfd5cfcdb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410795
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-05-20 22:21:45 +00:00
Florin Malita
6e5d64b160 [androidkit] Add SamplingOptions
Mirroring SkSamplingOptions.

Change-Id: I6c4d21fb3f123e7931271fcc830d82f6b0215c40
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410786
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2021-05-20 20:29:55 +00:00
Florin Malita
934c02142e [androidkit] Introduce Image support
Two sources from now:

  - encoded data factory
  - Surface.makeImageSnapshot()

Change-Id: Icbf2f855e489839dc82db425916c8644418a2fb7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410324
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-05-20 20:28:55 +00:00
John Stiles
25be58e24b Reland "Eliminate unreachable code during optimization."
This is a reland of c6260f9742

Problematic DeadReturn.sksl test cases have been moved to DeadReturnES3.

Original change's description:
> Eliminate unreachable code during optimization.
>
> The Adreno 5xx and 6xx previously failed the SkSLStaticSwitchInline
> test; the driver struggled to interpret code with multiple return
> statements in a row. We now detect unreachable statements and eliminate
> them.
>
> Change-Id: I344d632f2488ca65b0635b37bebffe6e4fb607c5
> Bug: skia:12012
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410256
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Bug: skia:12012
Change-Id: I748e8761cbc71c811b5ad8fe49186f980261d8b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410793
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-05-20 20:02:15 +00:00
John Stiles
b82e93103e Reland "Add support for do-while loops in PipelineStage."
This is a reland of 9c7e04cd6f

The DeadReturnES3 test isn't enabled yet due to crashes in Radeon, but
the PipelineStage fixes need to be landed now.

Original change's description:
> Add support for do-while loops in PipelineStage.
>
> This allows us to run tests which use do-while loops (like
> DeadReturnES3) within dm.
>
> Change-Id: If8ecb6b3fcd23d79451a43edf8e1ee8a182de984
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410459
> Commit-Queue: John Stiles <johnstiles@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Change-Id: I73715f09defd950156cc252be9a52a36620d6d5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410936
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-05-20 19:49:42 +00:00
Brian Osman
1391170bee More ctype cleanup in SkSL
- Remove ctypes that were entirely unused
- Remove explicit selection of default ctypes
- After that, only two ctype tokens are needed (SkPMColor4f and SkV4)
  ... remove all of the others from the parser

Change-Id: I2322aab73a19127b3b26850aefdad6140ea0f7e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410057
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-05-20 19:46:05 +00:00
John Stiles
60e52284d5 Label willReadDstColor argument to GrXferProcessor ctor.
This makes it much easier to search through the code and find places
where `willReadDstColor` is set.

Change-Id: I94077d2ce2cacf35c84f7ff6ba2da3c5c3bab15c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410677
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-20 19:42:15 +00:00
Kevin Lubick
82c4a69b27 [canvaskit] Roll 0.27.0
Change-Id: I216d91caa48a8d596d303a5dfa8a403b56b2d11a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410857
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-05-20 18:57:24 +00:00
skia-autoroll
21282e7dc8 Roll SK Tool from 473c0ef7fb65 to 4ef22d867c8f
https://skia.googlesource.com/buildbot.git/+log/473c0ef7fb65..4ef22d867c8f

2021-05-20 lovisolo@google.com [gold] Port multi-zoom-sk to TypeScript.
2021-05-20 lovisolo@google.com Update BUILD files with Gazelle.
2021-05-20 rmistry@google.com Look for main branch to get list of trybots in cq_watcher
2021-05-20 rmistry@google.com Specify branch to update in androidingest
2021-05-20 rmistry@google.com Push to main branch of perf-buildid/android-master

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/master/autoroll/README.md

Tbr: jcgregorio@google.com
Change-Id: I05c0d8bbc2efc254138d76b79c5d14ed83605f8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410750
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-20 18:48:15 +00:00
John Stiles
d2c5a80281 Enable additional do-while SkSL tests.
These tests were written earlier but not enabled due to the absence of
ES3 support in Runtime Effects.

Change-Id: Idaf81926271e5b2e483a7c5cfce824a0056f5595
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410460
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-05-20 18:45:35 +00:00
Kevin Lubick
6017b4833f [canvaskit] Remove two previously deprecated APIs
Change-Id: I952f688fe4292344d1d4a57a29179eaddb35360b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410856
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-05-20 18:44:50 +00:00
Robert Phillips
54c878ef1c Retract GrSurfaceDrawContext when creating SkGpuDevices
This adds a new SkGpuDevice factory function that absorbs the
creation of the GrSurfaceDrawContext and updates a second factory
function to handle more cases.

Change-Id: If7bd33aa18d1ed5dd72288e7b4db3b97302640cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410077
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-05-20 18:24:35 +00:00
John Stiles
6011bbcf48 Fix comma operator support with matrices in Metal.
MetalCodeGen would incorrectly identify `(someMatrix, someScalar)` as a
math operation between `someMatrix` and `someScalar` and attempt to
convert `someScalar` to a matrix. If `someScalar` was a Boolean type,
this would lead to an assertion.

The binary expression is now checked more thoroughly before converting
the scalar into a matrix.

Change-Id: Id7e104d5533d8c43375927d4815b83e1a3c36be1
Bug: skia:11125
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410682
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-20 18:08:35 +00:00
Chris Dalton
2758a3189a Add triangle support to GrPathOuterCurveTessellator
Supports drawing exact triangles as conics with infinite weight. This
is necessary for drawing inner fans, breadcrumb triangles, and extra
triangles that will be introduced when we start splitting curves that
don't fit in a single patch.

Bug: skia:10419
Change-Id: If72560be4eb38340512be55dccea93b3a083fad5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410836
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-05-20 17:34:45 +00:00
Chris Dalton
ea46fb7d20 Disable CCPR everywhere except testing
Skia has an atlas clipping mode (historically called CCPR clipping) that
doesn't quite work. It will fail on blend modes that require a dst read
and is also drawing the complexclip_* tests wrong on several devices.
We plan to rewrite the clip atlas, but in the meantime we need to
disable the "CCPR" clipping.

Bug: b/188794626
Change-Id: I126030a2a81057ffca85fd8b8e7db97b716451ab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/408557
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-20 16:52:15 +00:00
Chris Dalton
0801ffdf20 Update path tessellation shaders to use GrWangsFormula
Bug: skia:10419
Change-Id: I34114a7b034f51bc485ae2ddb8ae85addad91f93
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410496
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-20 15:46:15 +00:00