Commit Graph

52226 Commits

Author SHA1 Message Date
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
Mike Reed
8b5f3ac3eb 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>
2020-12-08 23:03:43 +00:00
Nathaniel Nifong
eca04eeeb8 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>
2020-12-08 22:10:23 +00:00
John Stiles
93e661aad3 Error out gracefully in SPIR-V when an intrinsic is missing.
A missing-intrinsic error is perfectly recoverable and shouldn't cause a
call to SK_ABORT.

Change-Id: I29db652770f4a091a344a294a8210dfd87567a45
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/342096
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-08 22:09:43 +00:00
Chris Dalton
759ff5b38c Assert that no FP needs local coords when the variable is void
Change-Id: Ie7c687649313d047639ed96df765d16d59b58090
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341796
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-12-08 21:09:43 +00:00
Florin Malita
7dc984aff0 [svg] Text shaping and layout
Introduce proper text shaping via SkShaper/drawTextBlob (to replace
SkTextUtils::DrawString).

Also add basic text layout support (text chunk alignment and default
fragment advances -- see [1]).

[1] https://www.w3.org/TR/SVG11/text.html#TextLayoutIntroduction

Bug: skia:10840
Change-Id: I246f899d2926d1e365dac06b414c8e1ab4371e1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341736
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-12-08 20:48:43 +00:00
John Stiles
c3012184b5 Fix GN dirty checking for SPIR-V test files.
Previously, GN would never reach steady-state when compiling test files
because SPIR-V listed the incorrect extension for its test files
(.spirv). We can now reach steady-state when building more than once.

Change-Id: If9f6bf7a4722c1ca87b682186f0b7ba451311955
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341976
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-08 20:46:53 +00:00
Mike Reed
99c944647f Add flag to hide non-sampling imageshader factories
Bug: skia:11056
Change-Id: Ic79876106c003f6061cbb50ad2f4a4bf4f446231
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341681
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-12-08 20:33:23 +00:00
Brian Osman
fb2c2d2d59 Remove legacy reference to fInputColor in GrSkSLFP
No longer necessary, and removes one of the few explicit references to
fInputColor in an FP.

Change-Id: Ifb6c598bf0c8aab9a648a37bd478a4485958fec0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341682
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-12-08 20:12:43 +00:00
Mike Klein
09a26915bd remove SK_BUILD_NO_OPTS
We added this hack years and years ago...
not something we'd do today.

Bug: skia:6592
Change-Id: Ib234dccbf98da8f1075cdcdec274c99c7cf00d78
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341398
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2020-12-08 19:44:02 +00:00
Mike Klein
d91ce8ba3c rename skvm norm() to mag(), move it where used
It's a lot simpler inline than in SkVM.h.

Change-Id: I46fd27ede14dee5dc23d2a13d6c189847e816145
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341799
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-12-08 19:30:12 +00:00
Mike Klein
cdd6cced45 quiet SkParagraph non-tests
These print out all the time when I'm testing things locally.  :/

Change-Id: I110a80c5b59c3fa024bee99f1516853b1dfd05d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341797
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-12-08 18:40:42 +00:00
Michael Ludwig
8685c31dd1 Apply clip in device space for onDrawBehind().
The back image for saveBehind was in the device's space, but clipping
when drawing to that same region used clipRegion(), which is affected
by the global-to-device matrix. This change switches to using clipRect()
and a temporary whack of the local-to-device matrix to identity so that
we can exactly specify the same rectangle in the device space.

This is important once image filters start changing the global-to-device
matrix to no longer be integer-translations.

Change-Id: I40b37700b9cbf787e81931fdfe109968452533e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341158
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2020-12-08 18:27:32 +00:00
Mike Reed
e5d9bbfa5b Add alt path dumper that outputs for SkPath::Make()
Change-Id: I85f285c32229d0999d187777436c3875e9884fef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341724
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-12-08 18:26:12 +00:00
Robert Phillips
b87975c133 Use the ManagedBackendTexture helper in fiddle_main
Change-Id: I84dd14cc3328bf2f9beb0c0ac17a4f98fb62baba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273017
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-12-08 17:39:12 +00:00
John Stiles
b6853e2c09 Add missing degrees function to SkSL intrinsics.
Change-Id: I4a443793d5f0fb6dac4abef07ed2ea33fff3a14a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341721
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-08 17:09:42 +00:00
Chris Dalton
ff18ff6b29 Update viewer path renderer options for indirect tessellation
Also includes the tessellation path renderer in the list of path
renderers when tessellation via indirect draws is available.

Change-Id: Ieac9e00d204dd8f9c6401b39179c65e1d8f442aa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341491
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-12-08 16:46:22 +00:00
Ben Wagner
0e54c18590 System harfbuzz also means harfbuzz-icu.
The local build of harfbuzz builds against icu bindings and the shaper
expects to be able to find them. When packaged these icu bindings are in
a separate harfbuzz-icu library. Depend on this library as well so that
everything links properly when using system harfbuzz.

Change-Id: I45d378efb9152af070f4fed9ae1596f5430e4729
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/340337
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-12-08 16:17:42 +00:00
Mike Reed
60a2ec03b6 Rename SkBitmapController to SkMipmapAccessor
Change-Id: Idf9543db44c2518a9fab7c90ca52f3b1c97937a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341677
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-12-08 15:08:52 +00:00
Brian Salomon
14f99fc2f3 Make GrSurfaceContext take GrColorInfo rather than its components.
Bug: skia:11019
Change-Id: I0446e3565c892cddaaeb13d9a8379e144c0ea8ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341419
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-12-08 14:56:22 +00:00