Commit Graph

57140 Commits

Author SHA1 Message Date
Brian Osman
e76530dbdd Replace DSL's Sample() with DSLGlobalVar::eval()
Bug: skia:12302
Change-Id: I7ff7bae388c5991f2c23c8945355fea55c42095a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447436
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-09-14 14:54:03 +00:00
Julia Lavrova
ce32c8a074 Reland "Small changes for SkText that are not in experimental directory"
This reverts commit 481a58dfe0.

Reason for revert: Fixing the build

Original change's description:
> Revert "Small changes for SkText that are not in experimental directory"
>
> This reverts commit 92f1bc0083.
>
> Reason for revert: Blocking Android roll.
>
> Original change's description:
> > Small changes for SkText that are not in experimental directory
> >
> > (also made utf 8<->16 conversion static on SkUnicode)
> >
> > Change-Id: Ie64d18ad21a35ec10bd0b350fb7887fb78a419d8
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448140
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Julia Lavrova <jlavrova@google.com>
>
> Change-Id: Ieb9eb0495dddfc0f9e9e74861b24efc0201fd520
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448656
> Auto-Submit: Brian Osman <brianosman@google.com>
> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>

Change-Id: I1e5859c9dd943c701d4c4e648bdc3e44412eca54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448676
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-09-14 14:30:22 +00:00
Jim Van Verth
8d9e313db8 Set Metal minimum version for iOS to 9.0.
Flutter uses a minimum deployment version of 9.0, and we keep breaking
their roll with unguarded features. This will help catch those sooner.

Change-Id: Idd98b2ac985c36f5c793ff27b5a4b59014875ee5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448257
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Erik Rose <erikrose@google.com>
2021-09-14 14:20:48 +00:00
Brian Osman
eae4ad9bc0 Remove SkSL sample() intrinsic for Skia object types
Bug: skia:12302
Change-Id: Ifc107ca2cf13c1daa59521b93fe4ad1d3c215258
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447297
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-09-14 14:18:03 +00:00
Robert Phillips
778d6e002d Start fleshing out skgpu::v2 Device and SurfaceDrawContext
Bug: skia:11837
Change-Id: I42ad29e3b5765a81ef9366ebdf1e95739cd90b78
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/445297
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-14 14:09:13 +00:00
Ethan Nicholas
6c302ba099 Eliminated unnecessary arrays in DSLParser variable declarations
Change-Id: Ia14371ef3bb83928f6ee93120bcc29de9db6c020
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448269
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-09-14 14:00:54 +00:00
Kevin Lubick
76172f9ed8 [infra] Roll Swiftshader to fix fuzz bug
Change-Id: If1616d5204d5474be51d1890437542c3ab69bb23
Bug: oss-fuzz:38346
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448577
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-09-14 13:37:18 +00:00
Greg Daniel
2bc96d6771 Merge GrVkAttachment into GrVkImage.
Bug: skia:12402
Change-Id: I743724f66db8d7666d4d627d6945ce6bc3dc6bc3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448261
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-09-14 13:34:17 +00:00
Brian Osman
481a58dfe0 Revert "Small changes for SkText that are not in experimental directory"
This reverts commit 92f1bc0083.

Reason for revert: Blocking Android roll.

Original change's description:
> Small changes for SkText that are not in experimental directory
>
> (also made utf 8<->16 conversion static on SkUnicode)
>
> Change-Id: Ie64d18ad21a35ec10bd0b350fb7887fb78a419d8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448140
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

Change-Id: Ieb9eb0495dddfc0f9e9e74861b24efc0201fd520
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448656
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-09-14 13:27:19 +00:00
John Stiles
7d19065eef Add test of off-kilter matrix constructors.
This exposes a bug in the Metal code generator which will be resolved
in a followup CL.

Change-Id: If073835dbee474ea9a805eb92b42dc1fca2afbd0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448378
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-09-14 13:01:26 +00:00
skia-autoroll
a31021db2b Roll Chromium from 74365f584962 to 1678eb6a6df9 (428 revisions)
74365f5849..1678eb6a6d

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

To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: scroggo@google.com
Change-Id: I68d926517c549b9118d482316b1073dc0c8266fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448476
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-14 06:33:49 +00:00
skia-autoroll
15d5996a18 Roll ANGLE from 8b2fd983e61a to 371542cd1696 (45 revisions)
8b2fd983e6..371542cd16

2021-09-14 syoussefi@chromium.org Vulkan: Use VK_EXT_load_store_op_none
2021-09-14 cclao@google.com Vulkan: Reformat staged buffer data using CPU
2021-09-13 cclao@google.com Reland "GL: Relax the assertion to exclude BoundAsAttachment bit"
2021-09-13 cclao@google.com Revert "GL: Relax the assertion to exclude BoundAsAttachment bit"
2021-09-13 hailinzhang@google.com delete a wrong comment
2021-09-13 hailinzhang@email.com fix a EXT_buffer_storage issue.
2021-09-13 cnorthrop@google.com FrameCapture: Add ES 3.1 Vertex Attrib MEC support
2021-09-13 cclao@google.com GL: Relax the assertion to exclude BoundAsAttachment bit
2021-09-13 jmadill@chromium.org Capture/Replay: Capture trace file list to JSON.
2021-09-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 446e61c24b37 to 7f2c7d18de0c (3 revisions)
2021-09-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 6aa22be0c26f to b089638487b7 (525 revisions)
2021-09-12 cnorthrop@google.com Vulkan: Suppress CoreValidation-Shader-InterfaceTypeMismatch
2021-09-11 gman@chromium.org nullptr_t to std::nullptr_t
2021-09-10 jmadill@chromium.org Capture/Replay Tests: Script cleanups.
2021-09-10 jmadill@chromium.org Perf Tests: Output results in "msBestFitFormat" again.
2021-09-10 jmadill@chromium.org JsonSerializer: Allow adding values to root node.
2021-09-10 gman@chromium.org Fix ConvertUnsupportedConstructorsToFunctionCalls
2021-09-10 jmadill@chromium.org Gold Tests: Append "show all results" to triage links.
2021-09-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 35209220317c to 446e61c24b37 (1 revision)
2021-09-10 gman@chromium.org Move IntermRebuild.h/cpp to tree_util
2021-09-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 5d40b790bf31 to 6aa22be0c26f (470 revisions)
2021-09-10 ynovikov@chromium.org Suppress dEQP GLES3 failures on Mac Intel UHD 630
2021-09-10 cclao@google.com Vulkan: Add warning when a fallback texture format is used.
2021-09-10 jmadill@chromium.org Capture/Replay: Fix GN build when JSON not available.
2021-09-09 syoussefi@chromium.org Translator: Fix assert in ScalarizeVecAndMatConstructorArgs
2021-09-09 jmadill@chromium.org Capture/Replay Tests: Allow 3 concurrent ninja processes.
2021-09-09 jmadill@chromium.org Capture/Replay: Mark one test as flaky.
2021-09-09 ynovikov@chromium.org Add standalone experimental Mac Intel and AMD bots
2021-09-09 gman@chromium.org Don't advertize GL_APPLE_clip_distance on direct metal
2021-09-09 timvp@google.com Capture/Replay: Remove debug logging
2021-09-09 jmadill@chromium.org Capture/Replay: Remove unused function in header.
2021-09-09 lubosz.sarnecki@collabora.com Tests: Add Blockman Go trace.
2021-09-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 83556eae921f to 35209220317c (1 revision)
2021-09-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 3ce06be375f3 to 5d40b790bf31 (538 revisions)
2021-09-08 cclao@google.com Vulkan: Make vk::Format from struct to class
2021-09-08 b.schade@samsung.com Add Entry points for GL_EXT_EGL_image_storage
2021-09-08 cclao@google.com Vulkan: Avoid texture format fallback when possible
2021-09-08 gman@chromium.org Fix AST validation error with gl_FragCoord
2021-09-08 geofflang@google.com GL: Temporarily disable MSRTT on Android.
2021-09-08 gman@chromium.org Only rewrite constructors for scalars/vectors/matrices
2021-09-08 sunnyps@chromium.org d3d11: Allow binding R/RG texture to EGLImage
2021-09-08 jmadill@chromium.org Change links from 'master' to 'main' branch.
2021-09-08 jmadill@chromium.org Trace Tests: Fix test data path.
2021-09-08 timvp@google.com Capture/Replay: Disable world_of_kings for Win+Intel
2021-09-08 jmadill@chromium.org Capture/Replay: Serialize trace metadata to a JSON file.

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

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Tbr: scroggo@google.com
Test: Test: Fortnite MEC
Test: Test: angle_perftests --gtest_filter="*blockman_go*"
Change-Id: Ifb2c71c565eadc87b16c824a276f8ad2bc154ee8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448479
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-14 05:25:17 +00:00
skia-autoroll
24a1891314 Roll SwiftShader from 7f2c7d18de0c to 40adeaba22a6 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/7f2c7d18de0c..40adeaba22a6

2021-09-13 sugoi@google.com Add derived class for every type of external memory

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

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: scroggo@google.com
Change-Id: Ia330d5694a8a6b3756114d2e63c99326f140583a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448478
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-14 05:12:17 +00:00
skia-autoroll
c3e7cadc10 Roll Dawn from 42448dafb484 to 96ac969a33de (8 revisions)
https://dawn.googlesource.com/dawn.git/+log/42448dafb484..96ac969a33de

2021-09-14 jie.a.chen@intel.com Use WGPU_ARRAY_LAYER_COUNT_UNDEFINED instead of 0
2021-09-14 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from de767b18421c to 7f4d02c7aba7 (2 revisions)
2021-09-14 bajones@chromium.org Disable multiple mip levels for r8/rg8unorm textures on Metal
2021-09-13 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from f66f65137448 to de767b18421c (6 revisions)
2021-09-13 bsheedy@google.com Suppress Mac 11.5 failure
2021-09-13 enga@chromium.org Add validation, storage, and querying of limits
2021-09-13 bryan.bernhart@intel.com Disable remap binding test on WARP.
2021-09-13 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 2ebcb93cb36c to f66f65137448 (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 2ebcb93cb36c to 7f4d02c7aba7

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

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: shrekshao@google.com
Change-Id: Ib56da65e47484c7447df5f563e71221a80c0a343
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448477
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-14 04:40:22 +00:00
Jim Van verth
eab246d6f4 Direct3D: Don't use ResolveSubresourceRegion if it's not supported.
On the Intel Iris Pro 580 this is failing, and causing command list
issues.

Bug: skia:12359
Change-Id: I4de1d89eaa4668983cfa3290aef13bd1ef940187
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448376
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-09-13 21:56:19 +00:00
Brian Salomon
ae59426ea6 Revert "New approach to GrProcessor uniforms."
This reverts commit 10c9f36bdd.

Reason for revert:bad gms, maybe blocking chrome roll

Original change's description:
> New approach to GrProcessor uniforms.
>
> The important aspect is that it allows knowing the uniforms that will
> be used by a set of processors without having to create ProgramImpls.
>
> GrProcessor subclasses specify uniforms at creation time in a similar
> style to how GrGeometryProcessors already specify attributes. That is,
> they initialize a span of structs describing the uniform which may
> contain void uniforms that are skipped. Unlike attributes, the struct
> contains an offset into the processor where the data is stored.
>
> GrUniformAggregator is used to collect the uniforms from all processors
> that compose a draw and mangle their names. The ProgramImpl subclasses
> query the aggregator for their uniform names when emitting code.
>
> The old system for uniforms is left intact and only three processors,
> one GP, one FP, and one XP, are updated to use the new system.
>
> Some pieces that are missing before everything can be moved over:
> -support for uniforms not owned by GrProcessor (e.g. rt-adjust)
> -support for samplers
> -helpers for common patterns
>  (e.g. GrGeometryProcessor::ProgramImpl::setupUniformColor(),
>   and the various matrix helpers on ProgramImpl)
>
> Bug: skia:12182
>
> Change-Id: I21c1b7a8940eb9b8aad003f5a2569e43977a33d2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440841
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Bug: skia:12182
Change-Id: I6cc508900a599d27124f8ba48597593192d5d807
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448418
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-09-13 21:22:16 +00:00
Herb Derby
85dde4e315 add benchmarks for bilerp study
Change-Id: I6e69a902cc660154b56a82cae727751ec6f5e806
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448273
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-09-13 21:14:18 +00:00
John Stiles
31e4845422 Add const to lexer lookup tables.
While browsing with bloaty-treemap, I found that these were not marked
as const. This pessimizes us a bit (e.g. the memory pages need to be
treated as writable)

This has the effect of moving about 16K from __data into __TEXT,__const.

Change-Id: I9816a8d8f2a92777cbde719db5129bb7f9bc2ea4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448263
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-09-13 20:50:57 +00:00
Brian Salomon
10c9f36bdd New approach to GrProcessor uniforms.
The important aspect is that it allows knowing the uniforms that will
be used by a set of processors without having to create ProgramImpls.

GrProcessor subclasses specify uniforms at creation time in a similar
style to how GrGeometryProcessors already specify attributes. That is,
they initialize a span of structs describing the uniform which may
contain void uniforms that are skipped. Unlike attributes, the struct
contains an offset into the processor where the data is stored.

GrUniformAggregator is used to collect the uniforms from all processors
that compose a draw and mangle their names. The ProgramImpl subclasses
query the aggregator for their uniform names when emitting code.

The old system for uniforms is left intact and only three processors,
one GP, one FP, and one XP, are updated to use the new system.

Some pieces that are missing before everything can be moved over:
-support for uniforms not owned by GrProcessor (e.g. rt-adjust)
-support for samplers
-helpers for common patterns
 (e.g. GrGeometryProcessor::ProgramImpl::setupUniformColor(),
  and the various matrix helpers on ProgramImpl)

Bug: skia:12182

Change-Id: I21c1b7a8940eb9b8aad003f5a2569e43977a33d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/440841
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-09-13 19:55:06 +00:00
Mike Reed
b1559f2acd drawPoints with maskfilter fix
Fix: just check for maskfilter, and reject fast-cases if we have one.

New GM: points_maskfilter

before: draw red squares with no blurs, but red circles had blurs

after: both sets have the blur (i.e. the maskfilter)

Bug: skia:12435
Change-Id: I460908818d2edf8c6065db2fe99a9df0e7ffc543
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448266
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-09-13 19:22:35 +00:00
Julia Lavrova
92f1bc0083 Small changes for SkText that are not in experimental directory
(also made utf 8<->16 conversion static on SkUnicode)

Change-Id: Ie64d18ad21a35ec10bd0b350fb7887fb78a419d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448140
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-09-13 18:22:33 +00:00
John Stiles
7591d4b5ef Replace trio of XxxxLiteral types with a single Literal type.
Throughout SkSL we've begun using doubles as a convenient way to store
any SkSL value (int, float, bool) in a single type. This idea has now
been extended to literals. Rather than having three expression kinds for
integers, floats and boolean literals, we can have just one. These can
be accessed in a type-specific way (`floatValue`, `intValue`, and
`boolValue` return the expected type, or assert if it's not the
matching type), or in a type-agnostic way (`value` will return a double
and works on any type of Literal).

This allows us to remove a complex template trick (Literal<T> is gone),
removes two redundant Expression types, and and lets us reduce our code
size in ConstantFolder, FunctionCall, etc.

Most of the conversion process was pretty straightforward:
* `IntLiteral::Make` becomes `Literal::MakeInt`
* `x.is<IntLiteral>()` becomes `x.isIntLiteral()`
* `x.as<IntLiteral>.value()` becomes `x.as<Literal>.intValue()`

Change-Id: Ic328533611e4551669c7fc9d7f9c03e34699f3f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447836
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-13 17:32:34 +00:00
John Stiles
e7830650cb Update bloaty treemap to work on Python < 3.9.
`removeprefix` was only added to Python in March 2020. It isn't
available on Python 3.8.2, which is the default macOS Python installed
version.
https://www.python.org/dev/peps/pep-0616/

Change-Id: I7b8db0dfc55f1448cc72f41ba9a6ad5f099d48ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448259
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-13 17:20:49 +00:00
Jim Van Verth
3e7dd35dec Metal: add label to loadMSAAFromResolve pipeline object
Bug: skia:12086
Change-Id: I833a04d7dbc4624a85051aa8442a074520335b76
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448256
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-13 16:05:44 +00:00
Jim Van Verth
b9650debfa Metal: more fixes for stencil and discardable MSAA
* When loading the MSAA texture from resolve, we set up the render
command encoder to be compatible with the next op. So we should just use
that command encoder rather than create one. This mainly helps with
clears as detecting compatibility in that case is difficult.

Bug: skia:12086
Change-Id: I859761ff970520c36629f1b8054f73e2fd29eb67
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447189
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-09-13 15:31:15 +00:00
Herb Derby
ec7b63a745 add baseline integer lerp
Add a lerp that uses full 32-bit resolution for the multiply.
This gives the same answers as the floating point, and
demonstrates the error introduced by using the faster
16-bit multiply.

Change-Id: I90c46b350fae09f74d9c9cf2af7ef3d3d1d0f202
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448102
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-09-13 14:49:09 +00:00
Herb Derby
2505b2ca46 use higher res to check [-1, 1)
Because the [-1, 1) lerp can handle a higher sampling rate in t,
decrease the t step to ensure everything is covered. The
limit needs to be trimmed by a 1/65536 to allow the older lerps
to run properly.

Remove the scaled test cases. They no longer make sense.
Change-Id: Ida841d65ebe794ba5d0ae67dfb145268764ec6a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448101
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-09-13 14:13:25 +00:00
John Stiles
dc652564a7 Fix for-statement assertion detected by the fuzzer.
The fuzzer found that the `DetectVarDeclarationWithoutScope` check was
placed too late in the function, and could be skipped over by for-loops
containing multiple variables. This was caught in ForStatement::Make,
which mirrors the Convert postconditions with matching assertions.

Change-Id: I6e9d97c7c9ca969aba65e601bbcd9fe676105838
Bug: oss-fuzz:38560
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448116
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-09-13 13:34:48 +00:00
Herb Derby
fe678d9b1c change of parameter from [0, 1) to [-1, 1) for better lerp
Using the extra bit improves the difference rate from .38% to .19%.
I think this uses the full resolution of all the values, and there
is no more accuracy by trying to get more bits in use. The maximum
difference is still 1.

This gives the same answer with the neon_vqrdmulhq_s16 and
ssse3_mm_mulhrs_epi16 instructions.

Change-Id: Ie801b68aead408c5e1845aaf94ea660121e414b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447719
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-13 13:32:03 +00:00
skia-autoroll
56efcf2d5b Roll Chromium from bb2d18926c64 to 74365f584962 (538 revisions)
bb2d18926c..74365f5849

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

To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Tbr: scroggo@google.com
Change-Id: I8e7dea3a1bbd62e70f6b7e8cdfffdd7640f5983b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448036
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-13 05:23:48 +00:00
skia-autoroll
4d57238278 Roll SwiftShader from 446e61c24b37 to 7f2c7d18de0c (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/446e61c24b37..7f2c7d18de0c

2021-09-10 capn@google.com Fix decompression of cube-compatible layered 2D images
2021-09-10 capn@google.com Refactor image decompression and cube border update
2021-09-10 capn@google.com Refactor cube compatibility

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

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: scroggo@google.com
Change-Id: Icf4d72be497a0ab6f25e98ab126d9cdb957054f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448038
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-13 05:11:52 +00:00
skia-autoroll
f543e63d82 Roll Dawn from 6fa50b5e6c57 to 42448dafb484 (11 revisions)
https://dawn.googlesource.com/dawn.git/+log/6fa50b5e6c57..42448dafb484

2021-09-11 jiawei.shao@intel.com Remove descriptor from the parameter of ComputePipeline::Initialize()
2021-09-10 tangm@microsoft.com D3D12: Use a separate space for the index offset constants
2021-09-10 enga@chromium.org dawn_native: Add RequestDevice to the Adapter
2021-09-10 enga@chromium.org dawn_wire: Support deserializing s->c chained structs
2021-09-10 cwallez@chromium.org Remove suppression for fixed Tint issue
2021-09-10 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from ebab7d2f7a7e to 2ebcb93cb36c (1 revision)
2021-09-10 bryan.bernhart@intel.com Skip failing CopyTexture tests on WARP
2021-09-10 cwallez@chromium.org Remove typedefs for deprecated types.
2021-09-10 cwallez@chromium.org Lift suppression for incorrect VVL image layout tracking
2021-09-10 cwallez@chromium.org Reenable / delete DISABLED tests.
2021-09-10 msisov@igalia.com rename use_x11 to ozone_platform_x11

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from ebab7d2f7a7e to 2ebcb93cb36c

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

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: bajones@google.com
Change-Id: Ib078a6413ca5882753d17e5c07eb4b0ae68280b6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448037
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-13 04:42:48 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
6a78ce3f39 Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I05ba5776e1533c953242c01f13933caea1ccf8e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447996
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-09-12 08:32:18 +00:00
Michael Ludwig
47d824415e Revert "Fixed DSL assertion error on source files containing nulls"
This reverts commit db38ad7b14.

Reason for revert: breaking g3 roll since it thinks the test case is "binary" not flagged as binary

Original change's description:
> Fixed DSL assertion error on source files containing nulls
>
> The assertion was there to make sure we weren't running off the end of
> the source, but naturally fails in the presence of legitimate embedded
> nulls.
>
> Change-Id: I3b80499e9b182c9ea046c479f35d7a965d548401
> Bug: oss-fuzz:38107
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447182
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Bug: oss-fuzz:38107
Change-Id: I650d12d728b5d932bda79e81205b873d8b44771f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447936
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-09-11 18:13:13 +00:00
Florin Malita
2e4dc863da Fix skottie2movie gpu async crash
We need to ensure all async reads are completed before we finish
encoding -- otherwise late reads will fire from the GrContext destructor
and crash because the encoder is no longer valid.

Change-Id: I0065561d2411ddd202897e625a187592e40ced87
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447184
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-09-11 15:49:19 +00:00
Ethan Nicholas
b13f36944c Added break statements to various default: cases
No behavioral changes, just stylistic.

Change-Id: I95a54bb2ee5610272ecea4886163ba79ae2544a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447837
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-10 21:32:49 +00:00
Michael Ludwig
144926d968 Allow subpixel nested rects to have nearly equal x/y half widths
When transforming to device space, equal local-space half widths in X
and Y might end up being fractionally different, which would prevent
optimizing the nested rect path to use the stroke aa rect op. Visually,
these very small differences are not going to be noticeable and the op
can just arbitrarily pick one of the two widths to use for coverage.

Also fixed an issue where if the aa stroke op returned null from
MakeNested(), drawSimplifiedShape() assumed it meant nothing needed to
be drawn. After https://skia-review.googlesource.com/c/skia/+/427976,
this actually isn't the case and it should attempt path rendering for
the unbalanced subpixel nested rects.

In the linked bug's case, the square rects would not transform to
identical x and y half widths depending on the UI scale of the browser
(differing by a negligible amount). This would then return a null op
and skip falling back to the path renderer so nothing would draw.

Bug: chromium:1234194
Change-Id: Ibd4254cb37e0fc01a5da342e06c4d82cb6223fe8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447462
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-09-10 21:05:27 +00:00
Greg Daniel
0c2cca5698 Make sure we use device bounds for DrawableOp.
The bounds stored on the SkDrawable are in local space, but the bounds
we want on the Op need to be in device space. Not doing this transform
caused a bug where other ops were incorrectly being reodered around the
drawable on the gpu.

This also fixes an issue where vulkan would draw to the base device
instead of the top device.

Bug: b/198924563
Change-Id: I7c3d8ac9efdeb2b18d9be9e1f812f0132aa05893
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447591
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-09-10 20:55:25 +00:00
Ethan Nicholas
96dbf7403e Reduced the number of temporary arrays created by DSLParser
Change-Id: I9b758fd816278b50d2b1182cbfe6e0752b09cc51
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447720
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-10 20:44:22 +00:00
Michael Ludwig
181bb97c38 Reorganize and hide aa clip impl into .cpp file
Bug: skia:10205
Change-Id: Ia2dd9b99f5282a46aaeaf8eac54c9f6bfd583fc6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/445617
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-09-10 20:43:08 +00:00
Ethan Nicholas
9a1f92e4ff Add ExpressionArray variants to DSL calls
This allows us to reduce the number of temporary arrays being created by
going directly to the final array type.

Change-Id: I6161c663f7f69ed1d323ae05b4a92b2d0c1b4c04
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447194
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-10 20:06:56 +00:00
Ben Wagner
d532a9e544 Update supported iOS to 11
Skia bots build and test on iOS with a minimum of iOS 11. Chrome
currently requires 13 and other internal users are at minimum 11. While
Skia may currently build with older minimum targets (currently back to
iOS 8, though shortly will require iOS 9) it is not tested on versions
older than 11.

Change-Id: I34305438caccd4f990904a4cc4dcdff2c64b6cc5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447717
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-09-10 19:19:20 +00:00
Herb Derby
2b868d6b9a math and error rates for lerp
Study that compares scaled integer lerp to float lerp. This
shows an error rate of 0.38% with a max difference of 1.

Study to compare scaled values the would result as the
intermediate values of a bilerp. This shows an error rate
of 24% with a max difference of 1.

Change-Id: Id27b6baa9ce56efedb30f490a3f84ccf808315fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447183
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-10 18:51:51 +00:00
Ethan Nicholas
db38ad7b14 Fixed DSL assertion error on source files containing nulls
The assertion was there to make sure we weren't running off the end of
the source, but naturally fails in the presence of legitimate embedded
nulls.

Change-Id: I3b80499e9b182c9ea046c479f35d7a965d548401
Bug: oss-fuzz:38107
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447182
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-10 18:44:22 +00:00
Eric Boren
81f03a4f4c [infra] Roll infra to update vpython
Bug: chromium:1244124
Change-Id: If44330139ddecc37da40ad7ad4ef90dbf45ddf6a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447586
Reviewed-by: Erik Rose <erikrose@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-09-10 17:41:28 +00:00
Brian Osman
d4da5d1fd6 Remove deprecated field from SkRuntimeEffectBuilder::BuilderChild
Android has been updated to use fChild, so fIndex is dead.

Change-Id: Iec728aa91a4ad47f84e2188ade75f639f0c6087c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447186
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-09-10 17:41:10 +00:00
skia-autoroll
19d99b6577 Roll SK Tool from fe20b5b7cd6c to a369a738f282
https://skia.googlesource.com/buildbot.git/+log/fe20b5b7cd6c..a369a738f282

2021-09-10 kjlubick@google.com [machine] Flatten Firestore schema and reduce duplication
2021-09-10 kjlubick@google.com [machine] Rename store.StoreImpl to store.FirestoreImpl
2021-09-10 kjlubick@google.com [tmm] Refactor interrogation code to allow for growth.
2021-09-10 borenet@google.com Revert "[commandbuffer] Roll back vpython in an attempt to fix CommandBuffer"
2021-09-10 borenet@google.com [autoroll] Switch several rollers from master to main
2021-09-10 hernantorrisi@gmail.com replacing metadata filename with json file name
2021-09-10 ravi_mistry80@hotmail.com Update whitespace.txt
2021-09-10 kjlubick@google.com [gold] Fix incorrect timestamp
2021-09-10 kjlubick@google.com [gold] Fix error when there are no results
2021-09-10 jcgregorio@google.com [ansible] All Android devices migrated to rack4.
2021-09-10 kjlubick@google.com [auth] Rename constants and modernize tests.
2021-09-09 borenet@google.com [sk] Add reviewers instead of self CR+2 and force-submit
2021-09-09 brianosman@google.com Update iImage example to use newer SkSL syntax

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/sk-tool-skia
Please CC jcgregorio@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Tbr: jcgregorio@google.com
Change-Id: I0253b2715014e30f737d241eab1cef035f06174b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447701
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-10 17:36:19 +00:00
Ethan Nicholas
c9d65f0b8a Fixed duplicate function definition error discovered by fuzzer
Bug: oss-fuzz:38140
Change-Id: I76a1b3ef8289b3089192d043d173677c00741a54
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/445836
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-10 17:35:52 +00:00
Michael Ludwig
c7ffd5e680 Clip vertical edges outside crop rect during convex edge walk
Bug: chromium:1239558
Change-Id: Ibc4655adaa72d1abf306940dd8b5e2f6a8b0edd9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446923
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-09-10 15:59:54 +00:00
John Stiles
5da061a53b Simplify code in compile-time optimization.
We had several paths through the code which assembled a compound value
by manually building up an ExpressionArray of Literals. It takes much
less code to assemble a double[] array. We now have a helper function
which takes an array of doubles, converts them to an ExpressionArray of
the appropriate type of Literal, then returns a CompoundConstructor.

We also had several places in the code which called
  arguments[a]->getConstantSubexpression(b)->as<FloatLiteral>().value()
and this has been made into a helper lambda function.

Change-Id: I5ca2e94788a8b7fdfb37f42fbbbb1e728ed0a242
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447458
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-10 14:38:09 +00:00