Commit Graph

52245 Commits

Author SHA1 Message Date
John Stiles
2aa76823b5 Fix floatBitsToInt family of intrinsics and add tests.
floatBitsToUint was missing from our intrinsic list entirely, and
u?intBitsToFloat were misspelled.

These intrinsics aren't implemented in SPIR-V or Metal either, but that
will be handled in followup CLs.

Change-Id: Iaf9b9d5a2e46e25d41eef71903fad8bd1c177d4e
Bug: skia:11071
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342757
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-12-10 15:33:48 +00:00
Jim Van Verth
2597adae85 Revise creation of blitCommandEncoder for speculative fix
Flutter is seeing an issue where we're trying to create a
blitCommandEncoder but we're still in the process of encoding. This
doesn't seem to happen with renderCommandEncoders so trying to mirror
what we do there.

Change-Id: I281509116a5666ebd67c19e4d8a21a83076861e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342621
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-12-10 15:23:28 +00:00
Brian Salomon
1fa76dd8fc Add read pixels test for GrSurfaceContext
Remove more limited tests that exercise the same code.

Reduce the number of test cases to improve run time.

Bug: skia:11019
Change-Id: I68b5b18ebf077e825a260285223b4a31243dcb4d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341456
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-12-10 15:07:38 +00:00
Jorge Betancourt
53f69f1539 Reland "Revert "Initial land of SkSL DSL.""
This reverts commit a3b8ac76e5.

Reason for revert: Need to revert again, red tree.

Original change's description:
> Revert "Revert "Initial land of SkSL DSL.""
>
> This reverts commit dd213e9d46.
>
> Change-Id: I43be020dd1b07dc13862150a9d95493f8c48b3b1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342622
> Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

# Not skipping CQ checks because this is a reland.

No-Presubmit: true
No-Try: true
Change-Id: I8e967ef8ecb7f01dc578d38264e2600b04e9b62d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342917
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-12-10 15:02:30 +00:00
John Stiles
01957273e7 Add SPIR-V support for modf intrinsic.
Change-Id: I887e700a7bf11bf2d5359c9721798f72f00e53f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342756
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-12-10 14:21:18 +00:00
Ethan Nicholas
a3b8ac76e5 Revert "Revert "Initial land of SkSL DSL.""
This reverts commit dd213e9d46.

Change-Id: I43be020dd1b07dc13862150a9d95493f8c48b3b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342622
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-12-10 14:17:38 +00:00
Mike Reed
410681932a Use explicit sampling param
Change-Id: Ifcb074365da8113fd5e0186d4afcf41041862e82
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342761
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-12-10 14:01:58 +00:00
Mike Reed
ddc27d806b Remove cons_moveTo() complexity
... now that we know we can rely on reliable verb sequencing.

Follow-on to https://skia-review.googlesource.com/c/skia/+/342616

Change-Id: If32186ba8a8690812cc1fe03ea71ae29eba4765b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342760
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-12-10 14:01:28 +00:00
Mike Klein
2e9a03ec11 Revert "Cache text blobs computed by TextLine::paintText"
This reverts commit ff7bfea4ab.

Reason for revert: several broken bots, e.g.

../SRC/skia/modules/skparagraph/src/TextLine.cpp:309:21: error: non-const lvalue reference to type 'skia::textlayout::TextLine::TextBlobRecord' cannot bind to a temporary of type 'void'
    TextBlobRecord& record = fTextBlobCache.emplace_back();
                    ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Original change's description:
> Cache text blobs computed by TextLine::paintText
>
> Change-Id: I7d4414fb64b14a714623e4c20199cab06e6ed18c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342297
> Commit-Queue: Jason Simmons <jsimmons@google.com>
> Reviewed-by: Julia Lavrova <jlavrova@google.com>

TBR=jsimmons@google.com,jlavrova@google.com

Change-Id: I467c61eead7b0d8c190cb2f883b05537de97a08e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342856
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-12-10 13:28:09 +00:00
skia-autoroll
22f80a60b1 Roll ANGLE from 27e52ca05dc7 to 067a12f05951 (10 revisions)
27e52ca05d..067a12f059

2020-12-09 cclao@google.com Reland "Vulkan: Use specialization constant for halfRenderAreaWidth"
2020-12-09 cclao@google.com Vulkan: Add dirty bits instead of direct access FBO state
2020-12-09 syoussefi@chromium.org Suppress test requiring VK_EXT_transform_feedback on Nvidia/win7
2020-12-09 courtneygo@google.com Add VK-GL-CTS autoroller link to wrangler doc
2020-12-09 syoussefi@chromium.org Fix varying packing of I/O block fields
2020-12-09 xinghua.cao@intel.com D3D: throw a perf warning for uniform block
2020-12-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from a3984b7ec4ae to 3fc522ff6579 (498 revisions)
2020-12-09 syoussefi@chromium.org Don't output matrix qualifiers in I/O blocks
2020-12-09 syoussefi@chromium.org Vulkan: Fix query pause on framebuffer binding change
2020-12-09 jiawei.shao@intel.com Enable ComputeShaderTest/DrawDispatchDispatchDraw on Intel/Win/Vulkan

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 jmbetancourt@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: jmbetancourt@google.com
Change-Id: I1c230955ddd16fdd56976012553d32f14069fbc8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342748
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-12-10 04:58:18 +00:00
skia-autoroll
d968480232 Roll SwiftShader from 84b9bb6621c7 to d94a77b304f4 (9 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/84b9bb6621c7..d94a77b304f4

2020-12-10 natsu@google.com Set prefersDedicatedAllocation for AHB
2020-12-09 natsu@google.com Treat AHB YUV as external format
2020-12-09 natsu@google.com Handle AHARDWAREBUFFER_FORMAT_YV12
2020-12-09 srisser@google.com Update SPIR-V version to VK_1_1_SPV_1_4
2020-12-09 natsu@google.com Handle VkExternalFormatANDROID in VkCreateImage
2020-12-09 srisser@google.com Add decorate operations new to SPIR-V 1.4
2020-12-09 natsu@google.com Handle more image properties from external device memory
2020-12-09 natsu@google.com Update AHB default YUV dataspace to YCBCR_709
2020-12-09 sugoi@google.com Make Constants a singleton instead of a global

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 jmbetancourt@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: jmbetancourt@google.com
Change-Id: I5a0c75d2dd00610dbdf322b68c4c857d0ab0e640
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342749
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-12-10 04:51:38 +00:00
skia-autoroll
af11a00f78 Roll Dawn from 30805557e651 to 29fd62989338 (3 revisions)
https://dawn.googlesource.com/dawn.git/+log/30805557e651..29fd62989338

2020-12-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 195917c0be32 to 7a0daa233d8a (8 revisions)
2020-12-09 cwallez@chromium.org Introduce SubresourceStorage (1/N)
2020-12-09 cwallez@chromium.org CMake: set DAWN_ENABLE_WGSL to ON by default.

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: rharrison@google.com
Change-Id: If2e0b3799dbfec5e172345bf0e569bf08356fbbf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342747
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-12-10 04:43:38 +00:00
Jason Simmons
ff7bfea4ab Cache text blobs computed by TextLine::paintText
Change-Id: I7d4414fb64b14a714623e4c20199cab06e6ed18c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342297
Commit-Queue: Jason Simmons <jsimmons@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2020-12-10 01:11:37 +00:00
Chris Dalton
c2a1746b42 Implement stroke tessellation with indirect draws
Adds a vertex shader that maps a variable-length triangle strip to a
stroke and its preceding join. Adds a new op that generates stroke
instances from a path, bins them by log2 triangle strip length (using
SIMD for the calculations), and renders them with indirect draws.

Bug: skia:10419
Change-Id: I6d52df02cffe97d14827c6d66136957f1859f53b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/339716
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-12-10 00:25:17 +00:00
Mike Reed
41a98e0a50 Assert that SkPath is always internally consistent
Follow-on to https://skia-review.googlesource.com/c/skia/+/342616

Assuming this survives, we can probably simplify other code in SkPath
(e.g. Iterators) that today worry about consing up moves after close.

Change-Id: I913d6be9c20547267230c287d394fd300b985d31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342619
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-12-09 23:56:17 +00:00
John Stiles
3679cd1151 Add support for isinf/isnan intrinsics to SPIR-V.
Change-Id: I674d758c11071582e9fbedcda5596c540bfb5f71
Bug: skia:11054
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342558
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-12-09 22:11:27 +00:00
John Stiles
5f675be193 Add tests for SkSL intrinsic functions.
This does not give us 100% coverage of intrinsics yet, but it is a
pretty good start.

Change-Id: I97d49324db1afd9f2975c2eeafbacdead710d4aa
Bug: skia:11054
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341977
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2020-12-09 22:02:17 +00:00
Jim Van Verth
201bcee38a Use full precision for QuadEdge attributes on iOS.
We're passing in QuadEdge attributes as half precision, but
kStableLargeNegativeValue is well past any value that can be handled
by half float. Increasing the precision used fixes the issues we're
seeing on iOS 14.

Bug: skia:10594
Change-Id: I650a0930cf8dd9a2369bfeeffc132c0f7f0fa79e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342303
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-12-09 21:40:47 +00:00
Tyler Denniston
04e03bc181 [svg] Convert stop-color and stop-opacity to presentation attrs
These are somewhat the first presentation attributes of their kind,
in that they are non-inherited but also not applied via canvas layers.

Implementation-wise the main difference is that these attributes are
not propagated through the fInherited field of the render context's
presentation attribute list.

Change-Id: I0909507b0ecbd21732b3f80c46a343f5a0a9bf7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/340661
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2020-12-09 21:37:17 +00:00
Tyler Denniston
7416571f4e [svg] Split out SkSVGColor from paint
This color type will be shared in paint, stop-color, and flood-color
attributes (mainly so they can use 'currentColor').

Change-Id: Ib4200ea729a91a0db5da069c68d64e5e8e3f5010
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/340617
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2020-12-09 21:28:07 +00:00
John Stiles
06b84efcb3 Improve Metal support for out parameters.
We now insert helper functions which defer the assignment of out-
parameters back into their original variables to the end of the
function call. This allows us to match the semantics listed the GLSL
spec in section 6.1.1:

"All arguments are evaluated at call time, exactly once, in order, from
left to right. [...] Evaluation of an out parameter results in an
l-value that is used to copy out a value when the function returns.
Evaluation of an inout parameter results in both a value and an l-value;
the value is copied to the formal parameter at call time and the lvalue
is used to copy out a value when the function returns."

This technique also allows us to support swizzled out-parameters in
Metal, by reading the swizzle into a temp variable, calling the original
function, and then re-assigning the result back into the original
swizzle expression.

At present, we don't deduplicate these helper functions, so in theory
there could be a fair amount of redundant code generated if a function
with out parameters is called many times in a row. The cost of properly
deduplicating them is probably larger than the benefit in the 99% case.

Change-Id: Iefc922ac9e2b24ef2ff1e9dacb17a735a75ec8ea
Bug: skia:10855, skia:11052
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341162
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-12-09 21:13:57 +00:00
Nathaniel Nifong
5ef2267a88 Reland "Always attempt to flatten images with mskp image ids"
This is a reland of eca04eeeb8

Problem was that any error during image flattening left the json encoder
in an invalid state. this closes the object before all early returns.

Original change's description:
> Always attempt to flatten images with mskp image ids
>
> b:skia:11041
>
> Change-Id: I9eeac07b5cad7809d1e8ec9f9b12149f016227e0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341798
> Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
> Commit-Queue: Nathaniel Nifong <nifong@google.com>

Change-Id: I622dbaa3ce5db85c9f790f822d51be247af528bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342463
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-12-09 21:03:17 +00:00
Mike Klein
3e1b3550af use SkVM_fwd.h in SkColorFilterBase.h
Change-Id: Id2135834062fed316d53e1419389a664e8d39c64
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342677
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-12-09 20:50:17 +00:00
Ethan Nicholas
dd213e9d46 Revert "Initial land of SkSL DSL."
This reverts commit 6e599511d4.

Reason for revert: Breaking bots: https://logs.chromium.org/logs/skia/5061fbd134144011/+/steps/dm/0/stdout

Original change's description:
> Initial land of SkSL DSL.
>
> This is not 100% complete: it lacks support for several kinds of nodes
> and supports only a bare handful of builtin functions, but it
> demonstrates the core functionality and it should be relatively
> straightforward to fill in the missing pieces.
>
> Change-Id: I3058089338e20eebc3da18ac5571801abcaab564
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/331177
> Reviewed-by: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

Change-Id: Iee77e5322a0b1efb0f3718ec1f5976a4d4e7323a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342620
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-12-09 20:49:39 +00:00
Mike Reed
0dd0ed6d1e Update our lastmoveindex if addPath ended with a kClose verb
Bug: 1153516
Change-Id: Id6ab162ba3bbf902048009ae2b48b2c67f814b99
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342616
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2020-12-09 20:27:36 +00:00
Ethan Nicholas
6e599511d4 Initial land of SkSL DSL.
This is not 100% complete: it lacks support for several kinds of nodes
and supports only a bare handful of builtin functions, but it
demonstrates the core functionality and it should be relatively
straightforward to fill in the missing pieces.

Change-Id: I3058089338e20eebc3da18ac5571801abcaab564
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/331177
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-12-09 20:13:46 +00:00
Florin Malita
9c1f1be078 [svg] xml:space support
Add xml:space attribute and implement related white space filters.

(https://www.w3.org/TR/SVG11/text.html#WhiteSpace)

Bug: skia:10840
Change-Id: I52fda50fae1cd7cf8b0dd7c1a2ee2e667ffa947b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342299
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-12-09 20:07:25 +00:00
Adlai Holler
a4bd478bc2 Destroy GrRecordingContext::fAuditTrail last when
In crbug.com/1155871, the audit trail is used during destruction of the
drawing manager.

Bug: chromium:1155871
Change-Id: I74015a033c7620bdad03ac7a3cf5a7ee671482f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342305
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2020-12-09 19:10:15 +00:00
Eric Boren
32c6099d92 Revert "Reland "[infra] Switch from isolate to RBE-CAS""
This reverts commit 540b51ce8f.

Reason for revert: RPI disk space

Original change's description:
> Reland "[infra] Switch from isolate to RBE-CAS"
>
> Bug: skia:10883
> Change-Id: Iec82a07fdf3c0807a9bb1870309eded85d4f0b1e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341679
> Commit-Queue: Eric Boren <borenet@google.com>
> Reviewed-by: Weston Tracey <westont@google.com>

TBR=borenet@google.com,westont@google.com

Change-Id: I0156842b995d275d8deb5bd73c6877de7f8af72e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10883
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342596
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2020-12-09 18:09:39 +00:00
Nathaniel Nifong
050ea3a580 Revert "Always attempt to flatten images with mskp image ids"
This reverts commit eca04eeeb8.

Reason for revert: breaks playback for regular skp files

Original change's description:
> Always attempt to flatten images with mskp image ids
>
> b:skia:11041
>
> Change-Id: I9eeac07b5cad7809d1e8ec9f9b12149f016227e0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341798
> Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
> Commit-Queue: Nathaniel Nifong <nifong@google.com>

TBR=nifong@google.com,lovisolo@google.com

Change-Id: I034229b5b22aa478cdcc26d3a0bcb4e543606c04
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342462
Reviewed-by: Nathaniel Nifong <nifong@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-12-09 17:58:36 +00:00
John Stiles
d0614f2a7b Support comma operator with mixed types in SPIR-V.
Change-Id: Iac8096f6c225258b430858bad90199ec00b93b6c
Bug: skia:10998
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342304
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>
2020-12-09 17:18:09 +00:00
Eric Boren
540b51ce8f Reland "[infra] Switch from isolate to RBE-CAS"
Bug: skia:10883
Change-Id: Iec82a07fdf3c0807a9bb1870309eded85d4f0b1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341679
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Weston Tracey <westont@google.com>
2020-12-09 17:14:39 +00:00
John Stiles
15b4892925 Simplify constant single-value SkSL constructors.
Prefer the simplified form half4(N) instead of half4(N, N, N, N) where
we can. Slightly easier to humans to read and for computers to parse.

Change-Id: Ibfe6d1c5ef6ebddc157ff39c7bdeddeb27131689
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337722
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-12-09 16:31:49 +00:00
John Stiles
47b4b19af2 Parenthesize intrinsic comparisons properly in Metal.
Previously, `equal(a, b).x` would emit `a == b.x`.

Change-Id: I311116f45fb275b158a948a0fd165d97688ce8ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341978
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2020-12-09 16:24:19 +00:00
Brian Salomon
c1e5fb6207 Rewrite restore_scissor_on_fbo_change
Old workaround was never used by chrome and was insufficient for
SkiaRenderer bug on Adreno 3xx.

Use same name used by Chrome.

Always set the scissor state before every draw/clear when using FBO 0.

Bug: chromium:1152831
Change-Id: Ibf0453d949fa3d5cb964411da3bcc1ec62a3d3a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342076
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-12-09 16:15:09 +00:00
John Stiles
123501fd19 Fix SPIR-V compilation of binary expressions of boolN type.
The code which detected boolean binary expressions did not check for
vector boolean types.

Change-Id: Ice12908e0f14c77dfddcde3f938e6fe1df7c57bd
Bug: skia:11060
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342302
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>
2020-12-09 15:58:08 +00:00
Eric Boren
0a8ddfbf98 [infra] Roll infra DEPS, update CIPD packages
Change-Id: Ie20d7db4646851e8baaefbe134f2c273b97f7c54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342298
Reviewed-by: Weston Tracey <westont@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2020-12-09 15:56:38 +00:00
John Stiles
83f3b8d4ad Add newline to end of Metal's Globals struct definition.
Also fixes some additional style mishaps in class method names.

Change-Id: I49e7ac1aa91d84fef5fbc636552f040a2cb58c78
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341466
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-12-09 15:49:30 +00:00
Brian Osman
03f9e2a3b7 Remove fInputColor usage in unit-test FPs
Change-Id: If467390cd3e1d33f0e72db4b75f9889d4562af5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341722
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-12-09 15:40:08 +00:00
Brian Osman
b120d41b47 Remove modulation by input color in convolution FPs
Change-Id: Ib234c599db39d8b911023d4753a608383885197b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341737
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-12-09 15:32:19 +00:00
John Stiles
e0a57fc0fc Add $genHType version of inversesqrt.
Change-Id: I6a59fcd33d78a45a08762bfd0b62feea82ae5923
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342301
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2020-12-09 15:18:49 +00:00
Brian Osman
298c8c85ce Increase Metal timeout to 1 second
We've been seeing *many* compiles take longer than
300 ms on tryjobs lately, particularly when an SkSL
change alters the text of a large number of shaders.

Bug: skia:11055
Change-Id: I0d93eaac4612340a0ce788c00548f291cf9b94da
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342300
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-12-09 15:06:08 +00:00
Brian Salomon
8670c98875 Remove SkImage::MakeFromYUVATexturesCopyToExternal
It's no longer used by Chrome.

Inline helper that draws yuva->rgba into the now single use case.

Move yuva proxy making helper from SkImage_GpuBase to SkImage_GpuYUVA
since it is only used there now.

Remove gm that tested the API and associated helper code in YUVUtils.

Bug: skia:10632
Change-Id: If6bd49befa1d1098bb6a268b9d856794f7eb80c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342077
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-12-09 14:50:19 +00:00
skia-autoroll
5e744acfad Roll ANGLE from 251ba5cb119f to 27e52ca05dc7 (24 revisions)
251ba5cb11..27e52ca05d

2020-12-09 jdarpinian@chromium.org Fix build when angle_has_build == false
2020-12-08 syoussefi@chromium.org Vulkan: Support PrimitivesGenerated query
2020-12-08 jonahr@google.com GLX: Expose EGL_ANGLE_window_fixed_size
2020-12-08 courtneygo@google.com Vulkan: Add ensureSubmission to queueSubmitOneOff
2020-12-08 kbr@chromium.org Log to stderr for warnings and more severe messages.
2020-12-08 syoussefi@chromium.org Fix location validation for I/O blocks
2020-12-08 jmadill@chromium.org Vulkan: Add debugging code for SPIRV transformer.
2020-12-08 courtneygo@google.com Vulkan: Fix validation errors with YUV
2020-12-08 syoussefi@chromium.org Refactor varying location count and validation
2020-12-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 7c84426d2abe to 84b9bb6621c7 (2 revisions)
2020-12-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from dd69df7f3dac to c594de23cdd7 (1 revision)
2020-12-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from bbe26af29575 to a3984b7ec4ae (468 revisions)
2020-12-08 syoussefi@chromium.org Suppress flaky multithreading swiftshader test
2020-12-08 syoussefi@chromium.org GL: Expose OES_shader_io_blocks
2020-12-08 cnorthrop@google.com Capture/Replay: Fix capture of GL_EXT_debug_label
2020-12-07 jdarpinian@chromium.org iOS build support
2020-12-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from 142cb87f803d to dd69df7f3dac (17 revisions)
2020-12-07 jie.a.chen@intel.com Enable some tests on Intel Windows Vulkan
2020-12-07 paulthomson@google.com Tests: add WhatsApp trace
2020-12-07 jmadill@chromium.org Fix separable Geometry shaders.
2020-12-07 jmadill@chromium.org Geometry Shaders: Don't require 'flat' for integer varyings.
2020-12-07 jie.a.chen@intel.com Remove StateChangeRenderTest suppression
2020-12-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from bae138de13ac to 7c84426d2abe (8 revisions)
2020-12-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 6991410be08c to bbe26af29575 (235 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 jmbetancourt@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: jmbetancourt@google.com
Test: Test:Test: Test: Seven Deadly Sins MECTest: Test: angle_perftests --gtest_filter="*whatsapp*"
Change-Id: Iaf5d8f0968588e8d05a8f96c4bcab927a5ac556c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342418
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-12-09 04:54:13 +00:00
skia-autoroll
2fa093e6c5 Roll Dawn from 3668d352bc5f to 30805557e651 (33 revisions)
https://dawn.googlesource.com/dawn.git/+log/3668d352bc5f..30805557e651

2020-12-08 enga@chromium.org Enable use_tint_generator w/ test suppressions for SPIR-V based backends
2020-12-08 rharrison@chromium.org Fix issues with roll into Skia
2020-12-08 cwallez@chromium.org Rename TryConvertAspect to better reflect what it does.
2020-12-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from b8a3078bbec9 to 195917c0be32 (17 revisions)
2020-12-08 stha09@googlemail.com use cstring instead of string.h
2020-12-08 stha09@googlemail.com GCC: fix template specialization in ObjectContentHasher
2020-12-08 cwallez@chromium.org Change SubresourceRange to be hierarchical.
2020-12-07 enga@chromium.org Add MSL support for UseTintGenerator toggle
2020-12-07 senorblanco@chromium.org Widen color state support on ES.
2020-12-07 enga@chromium.org Add SPIR-V support for UseTintGenerator toggle
2020-12-07 enga@chromium.org Produce tint::ast::Module in the frontend if UseTintGenerator
2020-12-07 brandon1.jones@intel.com Fix Emulated OOB Index In Primitive Restart Tests
2020-12-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 00b77a80ab13 to b8a3078bbec9 (1 revision)
2020-12-05 stha09@googlemail.com IWYU: include string.h for memcpy
2020-12-04 natlee@microsoft.com Add testing and implementation for lazy init compressed textures
2020-12-04 senorblanco@chromium.org Fix base vertex toggle.
2020-12-04 senorblanco@chromium.org Enable all remaining end2end tests on OpenGL ES backend.
2020-12-04 bclayton@google.com Remove legacy tint::transform API codepaths
2020-12-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 8e6cd2e68076 to 00b77a80ab13 (3 revisions)
2020-12-04 enga@chromium.org Fix DawnTest HasToggleEnabled referencing the wrong device
2020-12-03 brandon1.jones@intel.com Set D3D12 IBStripCutValue
2020-12-03 bclayton@google.com Add codepaths for new tint::transform API
2020-12-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 685cb02ea8d9 to 8e6cd2e68076 (5 revisions)
2020-12-03 senorblanco@chromium.org OpenGL ES: enable StorageTextureTests.
2020-12-03 enga@chromium.org Update TextureFormatTests to use WGSL
2020-12-03 bryan.bernhart@intel.com Pipeline caching: refactor object hashing
2020-12-03 cwallez@chromium.org Move Subresource-related datatypes to their own file.
2020-12-03 senorblanco@chromium.org Enable viewport tests on OpenGL ES.
2020-12-03 enga@chromium.org Specify mip level and array layer in TextureMTL lazy clear
2020-12-03 rharrison@chromium.org Disable unit tests with KI when Tint Inspector is being used
2020-12-03 dj2@everburning.com Remove tint context.
2020-12-03 cwallez@chromium.org Suppress all end2end tests on Intel D3D12 with validation layers
2020-12-03 bryan.bernhart@intel.com Fix WindowsDebugLogger hang on release builds

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: rharrison@google.com
Change-Id: I1ef280027eddfb619bfe19bf2fdc7d4bb3c9800a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342417
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-12-09 04:37:53 +00:00
Mike Reed
b612b6cfa0 Revert "Revert "Use explicit samplingoptions""
Undo pictureshader change from prev version

This reverts commit fde98cbddd.

Change-Id: I52fe7d2753dee91fd08ae26f38e47ecd933d0c94
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342378
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-12-09 03:08:09 +00:00
Mike Reed
fde98cbddd Revert "Use explicit samplingoptions"
This reverts commit 8b5f3ac3eb.

Reason for revert: unexpected gm changes

Original change's description:
> Use explicit samplingoptions
>
> Promoting pictureshader to linear by default
>
> Change-Id: Icd4102c3eee47558ecec845d0581ddbded981ef8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341979
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Florin Malita <fmalita@chromium.org>

TBR=fmalita@chromium.org,reed@google.com

Change-Id: I773b6cfd04681619283b4e879468720706d2c9fd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342377
Reviewed-by: Mike Reed <reed@google.com>
2020-12-09 02:54:59 +00:00
John Stiles
f49c296d4a Add $genHType versions of frexp and ldexp.
Change-Id: I2c958b7aca972b7eec07e10d6c8af95fa53e761a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342117
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-12-09 01:05:23 +00:00
Michael Ludwig
9a6cece5a8 Simplify layer management in SkCanvas
This pares back SkDrawIter (will go further in follow-up CL) to take
advantage of no more unclipped layers. The canvas no longer needs to
maintain its own inline DeviceCM, but MCRec can point to a hidden
Layer struct. The first MCRec doesn't have a Layer (since there's
nothing to restore to), but gets its device from the explicitly
represented base device of the SkCanvas.

Bug: skia:10987, skia:10986
Change-Id: Ib004dfca42e4ccabe5f43b756d80f8eaa3f64e19
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341160
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-12-09 01:03:23 +00:00
Brian Salomon
51ab694cbb Remove RGB8 Mali-400 workaround
Cq-Include-Trybots: luci.skia.skia.primary:Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Debug-All-Android
Bug: chromium:1150368
Change-Id: I0d66fd16edade9bad33603e73c3708c33662e673
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341723
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-12-08 23:05:23 +00:00