Commit Graph

53058 Commits

Author SHA1 Message Date
John Stiles
0ecfdea199 Add SkSL unit test for unbraced blocks that optimize away.
In most cases, this works properly and a `;` is emitted, but in one
particular case (int x, y;) we get nothing.

Change-Id: If88d92502f6a533284dd4e0f78daedaf1481ff3d
Bug: skia:11218
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359558
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>
2021-01-26 19:06:41 +00:00
Brian Salomon
1eea1ea8c1 Revert "Write pixels goes through GrRenderTask system."
This reverts commit 27efe6cb1e.

Reason for revert: wasm compile

Original change's description:
> Write pixels goes through GrRenderTask system.
>
> The specific motivation is to remove some uses of GrResourceProvider
> making textures with data in lazy callbacks. But it's a general
> improvement that could allow use cases like writePixels in DDL
> recordings.
>
> Bug: skia:11204
>
> Change-Id: Ic55c3f75976a1d3a7d93981e21be75a3053ef069
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/356845
> Reviewed-by: Adlai Holler <adlai@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I116caf1e4dd9015270b9d4f810bd26e0e30a6497
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11204
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359559
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-01-26 18:18:22 +00:00
Robert Phillips
489e5b9cb2 Add handleDirtyContext calls to GrGLGpu::onUpdate*BackendTexture calls
Bug: 1170246
Change-Id: I34c24570ee0b5d822580359e4a7884cace418863
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359361
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-01-26 18:00:19 +00:00
Brian Salomon
27efe6cb1e Write pixels goes through GrRenderTask system.
The specific motivation is to remove some uses of GrResourceProvider
making textures with data in lazy callbacks. But it's a general
improvement that could allow use cases like writePixels in DDL
recordings.

Bug: skia:11204

Change-Id: Ic55c3f75976a1d3a7d93981e21be75a3053ef069
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/356845
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-01-26 17:42:42 +00:00
Ben Wagner
d7ec61519c Add documentation on blitting glyphs.
Document why mask gamma, optical sizing, and contrast hacks are used and
where. In addition to documentation this also justifies where contrast
settings should be placed in the API.

Change-Id: I8c67d800a95e62360a88c815d3224e0c05ed65c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/356305
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-01-26 17:18:04 +00:00
John Stiles
e3a91cf31c Fix fuzzer-discovered error with variable scoping.
In GLSL and SkSL, control statements don't require explicit braces
around single-statement children. That is, the `match = true` child
statement here doesn't need to be braced.

    if (condition) match = true;

Because there are no braces, we never create a Block or a dedicated
SymbolTable here.  This is normally not a problem, but the fuzzer
discovered that it can dump things into the symbol table inside a child
statement:

    if (condition) int newSymbol;

This becomes problematic because the symbol name now outlives its block.
This means `newSymbol` can be referred to later, which should be illegal
(and can cause the optimizer to blow up since the structure is bogus).

There doesn't seem to be any reason to allow this code to compile; the
user can add an explicit scope here to make it reasonable, and it's
(almost) meaningless to declare a symbol that's instantly going to fall
out of scope. This code is now rejected with an error message.

Change-Id: I44778e5b59652d345b10eecd4c88efbf7d86a5e0
Bug: oss-fuzz:29849
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358960
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-01-26 17:08:59 +00:00
John Stiles
dac139abd9 Add unit test for control statements in for loops.
Change-Id: I94094be7163a04bf48e86406230156a5433469b6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359140
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>
2021-01-26 17:07:51 +00:00
John Stiles
7add07f88d Add unit test for control statements in while loops.
Change-Id: I924ac75b5f8a397f7af7a06925ef0c9deba5c509
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359141
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>
2021-01-26 17:07:36 +00:00
John Stiles
ea8aa77661 Fix break/continue support inside do-while loops.
Change-Id: I3e72e4369d62c883fca79fc069eec767a8950434
Bug: skia:11219
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359139
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-01-26 16:55:27 +00:00
Ethan Nicholas
04be339e21 Added SkSL DSL Array types
Change-Id: Iba0e65807f9bb861d0baf0454cee689127f1aea2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/353581
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-01-26 16:35:47 +00:00
John Stiles
798021ada3 Add unit test for control statements in do-while loop.
Change-Id: I8309940f8e40d0e84847ae272830896d010c39de
Bug: skia:11219
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359138
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-01-26 16:20:31 +00:00
John Stiles
04a1b4b971 Revert "Reland "Enable _LIBCPP_DEBUG in Clang for non-Xcode-based debug builds.""
This reverts commit 233de6d8cd.

Reason for revert: Broken on Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-SafeStack

http://screen/jspPGaptrHtKkMp

 /mnt/pd0/s/w/ir/build/dm: symbol lookup error: /mnt/pd0/s/w/ir/build/dm: undefined symbol: _ZNSt3__111__libcpp_db10__insert_cEPvPFPNS_8__c_nodeES1_S1_S3_E


Original change's description:
> Reland "Enable _LIBCPP_DEBUG in Clang for non-Xcode-based debug builds."
>
> This is a reland of 9eb89bac85
>
> Original change's description:
> > Enable _LIBCPP_DEBUG in Clang for non-Xcode-based debug builds.
> >
> > Unlike _GLIBCXX_DEBUG, this is meant to not break the ABI.
> > The libc++ bundled with Xcode does not contain debug symbols so we need
> > to disable these checks on Mac/iOS.
> >
> > Change-Id: Ie4f18e247db9c405b2ce45f388c41dcac8104815
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297874
> > Commit-Queue: John Stiles <johnstiles@google.com>
> > Auto-Submit: John Stiles <johnstiles@google.com>
> > Reviewed-by: Mike Klein <mtklein@google.com>
>
> Change-Id: I3583ae9d9b8e2e0ea88ff5be6b5b784e7e10c7e2
> Bug: skia:10410
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359117
> Commit-Queue: John Stiles <johnstiles@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>

TBR=mtklein@google.com,johnstiles@google.com

Change-Id: I95d03d70c5ebb04d940f1a8bd28da1b2ad9343ec
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10410
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359416
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-01-26 16:10:48 +00:00
Adlai Holler
93439d9629 Redux merging adjacent ops tasks
The prior CL 358522 was reverted due to relying on
moving SkArenaAlloc which does not work.

This folds in cleanup CL 358156 also.

Bug: skia:10877
Change-Id: I0a29848f0fccb7d6a8f18d307b9f6b6a0311c83a
Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian10-EMCC-wasm-Release-WasmGMTests
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358527
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-01-26 15:21:57 +00:00
Florin Malita
f661ec788b [svg] Text asPath() support
Enables use of text as a clip path.

Bug: skia:10840
Change-Id: I9de40e23696083e8cdd7e0b82221da3f3c36ac8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358533
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-01-26 14:55:47 +00:00
John Stiles
233de6d8cd Reland "Enable _LIBCPP_DEBUG in Clang for non-Xcode-based debug builds."
This is a reland of 9eb89bac85

Original change's description:
> Enable _LIBCPP_DEBUG in Clang for non-Xcode-based debug builds.
>
> Unlike _GLIBCXX_DEBUG, this is meant to not break the ABI.
> The libc++ bundled with Xcode does not contain debug symbols so we need
> to disable these checks on Mac/iOS.
>
> Change-Id: Ie4f18e247db9c405b2ce45f388c41dcac8104815
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297874
> Commit-Queue: John Stiles <johnstiles@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>

Change-Id: I3583ae9d9b8e2e0ea88ff5be6b5b784e7e10c7e2
Bug: skia:10410
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359117
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-01-26 14:48:47 +00:00
Mike Reed
efa461f6c1 Reland "Remove flag for misc sampling apis"
This reverts commit e21c90a738.

Reason for revert: guard landed in g3

Original change's description:
> Revert "Remove flag for misc sampling apis"
>
> This reverts commit 3f31f3027f.
>
> Reason for revert: breaking g3
>
> Original change's description:
> > Remove flag for misc sampling apis
> >
> > Change-Id: Ia1f2d94000b6929883face241d1786de9d65e22a
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358736
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
>
> TBR=reed@google.com
>
> Change-Id: I487b99eabbf54f680b8f4cac4343ba74cae90d31
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359176
> Reviewed-by: Mike Reed <reed@google.com>

TBR=reed@google.com

# Not skipping CQ checks because this is a reland.

Change-Id: I867a0a40ced6a1635e27439f98e07b9050183d37
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359241
Reviewed-by: Mike Reed <reed@google.com>
2021-01-26 14:26:57 +00:00
John Stiles
98c990eba0 Make unpremul_float more discoverable.
Splitting its name in half makes it difficult to find when searching the
codebase, for almost no benefit.

Change-Id: I6f1558558bfc6801c19a12116324c35f42111442
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359136
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-01-26 13:44:34 +00:00
skia-autoroll
bbc5288f2b Roll Chromium from 09570e87f5f8 to ef43b16d47e3 (431 revisions)
09570e87f5..ef43b16d47

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 nifong@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: nifong@google.com
Change-Id: I1757b40c00ac411731577afa62294c209f95afe3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359256
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-26 05:55:19 +00:00
skia-autoroll
6052a572b6 Roll ANGLE from 3c3b82abcf0a to 9bbcd86ae719 (8 revisions)
3c3b82abcf..9bbcd86ae7

2021-01-25 jmadill@chromium.org Capture/Replay: Fix instanced array client data.
2021-01-25 syoussefi@chromium.org Vulkan: autogen for SPIR-V instruction build and parse
2021-01-25 amy.liu@arm.com Compression of the data from vkGetPipelineCacheData.
2021-01-25 jmadill@chromium.org Capture/Replay: Apply skips correctly on SwS.
2021-01-25 jmadill@chromium.org Trace Tests: Add xvfb command line option.
2021-01-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from a0047c0f6ec8 to dbc46e43978b (5 revisions)
2021-01-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 9441aea16221 to 413f7cb17c77 (2 revisions)
2021-01-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 318dff1807ef to 8378a463e1a2 (643 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 nifong@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: nifong@google.com
Change-Id: I8757753578cd896aa0360c50214772a3f1d7be0e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359240
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-26 05:24:19 +00:00
skia-autoroll
335a217302 Roll Dawn from f1f8394de04e to b3177d418e3b (8 revisions)
https://dawn.googlesource.com/dawn.git/+log/f1f8394de04e..b3177d418e3b

2021-01-26 shrekshao@google.com Make SamplerDescriptor optional in CreateSampler
2021-01-26 cwallez@chromium.org Add Jiawei to OWNERS
2021-01-25 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from d59cedb5a576 to be610ba987f5 (2 revisions)
2021-01-25 senorblanco@chromium.org Enable all the tests which were blocked on WriteTexture.
2021-01-25 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from aee7acaaea78 to d59cedb5a576 (1 revision)
2021-01-25 senorblanco@chromium.org Implement WriteTexture for OpenGL and OpenGL ES.
2021-01-25 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 5c243f824c59 to aee7acaaea78 (1 revision)
2021-01-25 enga@chromium.org dawn_wire: Implement device-related callbacks for multiple devices

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 5c243f824c59 to be610ba987f5

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 sarahmashay@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: sarahmashay@google.com
Change-Id: Ic100e02eac56532c37a484993a3d9fee021b5598
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359239
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-26 05:19:19 +00:00
skia-autoroll
4e2d2af01b Roll SwiftShader from 413f7cb17c77 to ea1f7d10db1f (6 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/413f7cb17c77..ea1f7d10db1f

2021-01-26 sugoi@google.com Handle sampleRateShading parameters
2021-01-26 sugoi@google.com Move required interpolation logic to SpirvShader
2021-01-26 sugoi@google.com Add mode for sample qualifier
2021-01-26 natsu@google.com Update Android.bp for VK_EXT_headless_surface
2021-01-25 amaiorano@google.com VulkanBenchmarks: refactor TriangleBenchmark into a more reusable base class
2021-01-25 amaiorano@google.com VulkanBenchmarks: add solid and interpolated triangles tests

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 nifong@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: nifong@google.com
Change-Id: Id73d21c46da27fd77c5e683bacc27929be28f5ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359237
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-26 05:12:59 +00:00
Florin Malita
02621c33b4 SkPathBuider::addPath()
Change-Id: I01b4e2b8c0c35997aaf1f5a9a7e995e09bf9d234
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358958
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-01-26 03:53:49 +00:00
Mike Reed
e21c90a738 Revert "Remove flag for misc sampling apis"
This reverts commit 3f31f3027f.

Reason for revert: breaking g3

Original change's description:
> Remove flag for misc sampling apis
>
> Change-Id: Ia1f2d94000b6929883face241d1786de9d65e22a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358736
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com

Change-Id: I487b99eabbf54f680b8f4cac4343ba74cae90d31
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359176
Reviewed-by: Mike Reed <reed@google.com>
2021-01-26 02:27:25 +00:00
Mike Reed
34a0c97f5e don't use drawBitmap
Bug: skia:11216
Change-Id: I89a40e330f27f30c461f2b6012bf26c082b66094
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359076
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-01-26 02:24:21 +00:00
John Stiles
76389b7d24 Fix fuzzer-discovered errors in SkSL parser.
The previous change caused varDeclarations() to sometimes return an
expression-statement. This only made sense in the context of being
called from Parser::statement(). Other places which called
varDeclarations() expect vardecls and nothing else.

Change-Id: I562657cadfa20dcd77b527f2dc43dca0c6bf389f
Bug: oss-fuzz:29845
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358528
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-01-26 00:47:13 +00:00
John Stiles
3419dda058 Revert "Remove unused unpremul_float"
This reverts commit e7ff4bc9b8.

Reason for revert: breaking tree: http://screen/4HKjJprbCKA87jf

Original change's description:
> Remove unused unpremul_float
>
> Change-Id: I59821d748768d74b251d9339787f193c23e3d4dc
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358526
> Reviewed-by: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Auto-Submit: Ethan Nicholas <ethannicholas@google.com>

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

Change-Id: I9997ee46b3db3befc54692981cd4bc2be5cee268
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359116
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-01-25 22:55:14 +00:00
Mike Reed
3f31f3027f Remove flag for misc sampling apis
Change-Id: Ia1f2d94000b6929883face241d1786de9d65e22a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358736
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-01-25 22:41:03 +00:00
Brian Osman
1ea6d6051e Revert "Fix field access and indexing of complex expressions"
This reverts commit f619079545.

Reason for revert: Some bots unhappy.

Original change's description:
> Fix field access and indexing of complex expressions
>
> Evaluating either kind of expression now works like all other
> expressions - evaluate the inner part, then work with the resulting
> values. Added unit tests for both of these that previously failed.
>
> With this change, writeVariableExpression is only used for
> VariableReference expressions, so adjust that, too.
>
> Bug: skia:11178
> Change-Id: Ia595be473b55f4bb03ec25897f9929835177257c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358529
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: I56776139f9164b24b35a93307774e9b12c50054e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11178
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358959
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-01-25 22:03:11 +00:00
Mike Reed
844beb5eef get image from skcodec
Part of the larger work to remove drawImage from canvas (and in general
simplify our apis w.r.t. older patterns like skbitmap).

Change-Id: If208927e1d46256519036c42e68aec3d3c809a82
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358836
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-01-25 21:50:16 +00:00
Florin Malita
f9652245b4 [svg] Text object bounding box support
Implement onObjectBoundingBox() for SkSVGText.

Enables use of objectBoundingBox filters effects on text.

Bug: skia:10840
Change-Id: I84ab3df04683cb23073ba9ddc531abe4e5788e5e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358476
Commit-Queue: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
2021-01-25 21:37:59 +00:00
John Stiles
053f785903 Avoid relying on bit-perfect irrational numbers in test code.
Comparing sqrt(5) against a variable containing sqrt(5) was not working
properly in some versions of Android running Vulkan.

Change-Id: I4f6bbff78a9ba56ec6e222f2037d66b13e3cd635
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358530
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-01-25 21:27:19 +00:00
Ethan Nicholas
e7ff4bc9b8 Remove unused unpremul_float
Change-Id: I59821d748768d74b251d9339787f193c23e3d4dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358526
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
2021-01-25 21:26:06 +00:00
Tyler Denniston
f005c8a30b [svg] Implement feDisplacementMap
https://www.w3.org/TR/SVG11/filters.html#feDisplacementMapElement

Bug: skia:10841
Change-Id: Icf1a560b2d83e7954207fb1740e77193362b9fd4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/356312
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2021-01-25 21:12:01 +00:00
Greg Daniel
815ec0d7d2 Always use coherent memory on linux vulkan.
Bug: skia:11215

Change-Id: Id30276f674f83faada744ae88f8a5e457c80f5a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358531
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-01-25 21:11:59 +00:00
Brian Osman
f619079545 Fix field access and indexing of complex expressions
Evaluating either kind of expression now works like all other
expressions - evaluate the inner part, then work with the resulting
values. Added unit tests for both of these that previously failed.

With this change, writeVariableExpression is only used for
VariableReference expressions, so adjust that, too.

Bug: skia:11178
Change-Id: Ia595be473b55f4bb03ec25897f9929835177257c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358529
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-01-25 20:52:19 +00:00
Joe Gregorio
555b7a4d77 [particles] Fix up URLs for the particles migration.
Bug: skia:11108
Change-Id: Id41d061adbaab325634a2497fc96e4fc89bde6ea
Docs-Preview: https://skia.org/?cl=356762
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/356762
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-01-25 20:44:32 +00:00
Weston Tracey
fff4099358 Reland "[infra] Use Mac10.15.7 and xcode12.3 for all builds."
This is a reland of f5aed172c6

Original change's description:
> [infra] Use Mac10.15.7 and xcode12.3 for all builds.
>
> Bug: skia:11129
> Change-Id: I314d51988e4cafc9dfea60bc70a57f46faa8666a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/345396
> Reviewed-by: Eric Boren <borenet@google.com>

Bug: skia:11129
Change-Id: I00bca0407ff7522bafca3f4e4e0aa92c239043fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/353036
Reviewed-by: Eric Boren <borenet@google.com>
2021-01-25 19:42:02 +00:00
Adlai Holler
c96e5707d8 Prohibit moving and copying SkArenaAllocs
Change-Id: I9bcb9f2c98deb69c75ccd29ae294fbc74d4bb283
Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian10-EMCC-wasm-Release-WasmGMTests
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358520
Commit-Queue: Adlai Holler <adlai@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-01-25 19:22:17 +00:00
Mike Reed
9911630fc2 Hide misc non-sampling draw methods
Related chrome CL:
https://chromium-review.googlesource.com/c/chromium/src/+/2646604

Bug: skia:7650
Change-Id: I1069a6151cb70bb6d2c743cf2513f47284c9df7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358221
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2021-01-25 17:54:56 +00:00
John Stiles
232dd2b61b Reland "Run unit tests to verify SkSL folding behavior."
This is a reland of 4ecab92584

This reland folds in subsequent code cleanups and disables a test that
failed on Android + Vulkan.

Original change's description:
> Run unit tests to verify SkSL folding behavior.
>
> The unit test loads SkSL source files from `resources/sksl`, compiles
> the code, and uses SkRuntimeEffect to render a pixel using the effect.
> If solid green is rendered, the test passes.
>
> Change-Id: I2ccb427a907975ae84aee19d8e68d774b2cb638c
> Bug: skia:11009
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/355983
> Commit-Queue: John Stiles <johnstiles@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Bug: skia:11009
Change-Id: I09196c8ca3041e8957324a0cbb7f7d6963c6e4e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358523
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-01-25 17:49:36 +00:00
Brian Salomon
46f6323ca8 GrSurfaceContext read/writePixels fail on GrColorType::kUnknown
There are SkColorTypes (e.g. kBGR_101010x) that don't have Gr equivs.
When a SkPixmap is converted to GrPixmap we will have a kUnknown color
type.

Bug: chromium:1164705
Change-Id: Iefa2c8363582433a531c5501aa251c571b5a6eab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358521
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-01-25 17:14:06 +00:00
Tyler Denniston
7aea2ae902 [svg] Fix non-xy length scale factor
We were miscalculating percentage lengths that do not correspond to the
x or y axis. Spec:

https://www.w3.org/TR/SVG11/coords.html#Units_viewport_percentage

Change-Id: I5c02e101f3bf7f1f93be3e8718290f490638f9b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/357279
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2021-01-25 17:12:46 +00:00
Adlai Holler
69c57e42c7 Revert "Merge adjacent GrOpsTasks with same target together"
This reverts commit 3b5b7d1178.

Reason for revert: Arenas cant be moved

Original change's description:
> Merge adjacent GrOpsTasks with same target together
>
> This allows the ops tasks to make one render pass instead of multiple.
> The only case where this merging is needed is as a result of
> reordering (reduceOpsTaskSplitting).
>
> Bug: skia:10877
> Change-Id: Ia967ead6efc43f7d2c1da58f770d3987da690cda
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/353656
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Adlai Holler <adlai@google.com>

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

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

Bug: skia:10877
Change-Id: I6d1813ee1c28bc43dffb0a5f26dba4a5c41c637f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358522
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2021-01-25 17:04:56 +00:00
Ethan Nicholas
fd6e27887f Removed useless manipulation of std::move'd value
This attempt to retain a std::move'd value was inadvertently left in
place in a previous CL. It's harmless, but should have been removed.

Change-Id: I485e0f14d921fe6c87a62520c7478a28e8ce28d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358517
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-01-25 17:04:17 +00:00
Florin Malita
c55c8c1e8e [svg] Generalize text shaping
In preparation for text bounding box support, fission the actual
rendering phase from the shaping/alignment phase:

  - rename onRenderText -> onShapeText
  - introduce a ShapedTextCallback abstraction for consuming the result
    of text processing
  - relocate the final rendering step to a ShapedTextCallback impl

Bug: skia:10840
Change-Id: Ia8cc0d9a5a5484972a34042fd782f9e4fada6b12
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358223
Commit-Queue: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
2021-01-25 16:40:16 +00:00
Tyler Denniston
bd91660b6e [svg] Handle unspecified filter effect inputs
Per spec [1], unspecified inputs ('in', 'in2' attributes) have different
meaning depending on whether the referencing filter is the first in the
pipeline. This CL adds previous result tracking to the filter context
and handles unspecified values accordingly during input resolution.

[1] https://www.w3.org/TR/SVG11/filters.html#FilterPrimitiveInAttribute

Bug: skia:10841
Change-Id: I64618ad712979f6dd62adb4686085fe31618c3cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/357278
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2021-01-25 15:18:16 +00:00
Brian Salomon
0f9f800ea1 Add origin back to GrCopyRenderTask
Will be needed for repositionable DDLs.

Change-Id: I6dacf51bd36cfbe1c54a9350987f17a6d18cf3c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/357776
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-01-25 15:00:16 +00:00
John Stiles
0693fb8e52 Replace a few casts in SPIR-V with as<T>.
Change-Id: I2ec61848c2d9fc11bd0330dccce2efe1aeb0d4ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/357779
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-01-25 14:58:26 +00:00
Florin Malita
302ea2e03c [svg] Cleanup text content model rules
Per spec (and empirically) <text> elements are not nestable (neither
directly or indirectly):
https://www.w3.org/TR/SVG11/intro.html#TermTextContentChildElement

Update the implementation to

 - only bridge onRender -> onRenderText in the root SkSVGText
   implementation
 - disallow <text> elements as text container descendants

Change-Id: I07b3abaf943b820e01c88f78bddf7ce5970ee508
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358220
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
2021-01-25 14:49:16 +00:00
skia-autoroll
fe8a4faa4b Roll Chromium from 465f56090c50 to 09570e87f5f8 (699 revisions)
465f56090c..09570e87f5

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 nifong@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: nifong@google.com
Change-Id: I395760bd270acc0ada4cff1b19787e8a1cd6bdc8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/358403
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-25 05:07:25 +00:00