Commit Graph

52003 Commits

Author SHA1 Message Date
Kevin Lubick
2efafe688d Fix debugger auto-deploy
Change-Id: If13899402363059ba2950c955b71077dfe3a2f60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335656
Reviewed-by: Ravi Mistry <rmistry@google.com>
2020-11-18 12:26:40 +00:00
skia-autoroll
a1112b326a Roll Dawn from f2bc3b3edd6f to a0758a1aef12 (5 revisions)
https://dawn.googlesource.com/dawn.git/+log/f2bc3b3edd6f..a0758a1aef12

2020-11-18 jiawei.shao@intel.com D3D12: Only enable toggle 'use_dxc' when Dawn can load DXC DLLs
2020-11-17 cwallez@chromium.org Use hermetic XCode on Dawn standalone builders.
2020-11-17 cwallez@chromium.org Stop setting mac_xcode_version in DEPS
2020-11-17 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 4ad0019df0f0 to 90f32536458a (17 revisions)
2020-11-17 cwallez@chromium.org Use smart Refs for IOKit and CoreFoundation objects.

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 kainino@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: kainino@google.com
Change-Id: I9a752c55d3314a6138cc2abdb17719a8bbb98b01
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335674
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-11-18 04:57:44 +00:00
skia-autoroll
ed771cb644 Roll ANGLE from 4f96bf19941b to 2ffff6d024c7 (21 revisions)
4f96bf1994..2ffff6d024

2020-11-17 syoussefi@chromium.org Vulkan: Support image buffers
2020-11-17 cclao@google.com Vulkan: Experimental: forcing highp to mediump in fragment shader.
2020-11-17 syoussefi@chromium.org Default deqp to Vulkan on !Apple
2020-11-17 kainino@chromium.org Add TODOs for Apple DTK skips; update bug urls
2020-11-17 m.maiya@samsung.com Vulkan: Add EXT_external_buffer support
2020-11-17 kainino@chromium.org Disable more tests for Apple DTK (macOS ARM)
2020-11-17 m.maiya@samsung.com Vulkan: Add GL_EXT_separate_shader_objects support
2020-11-17 m.maiya@samsung.com Vulkan: Add EXT_separate_shader_objects entry points
2020-11-17 thakis@chromium.org Stop setting mac_xcode_version in DEPS
2020-11-17 syoussefi@chromium.org Vulkan: 270 degree prerotation deqp expectations
2020-11-17 syoussefi@chromium.org GL: Support OES_shader_image_atomic
2020-11-17 syoussefi@chromium.org Vulkan: Support texture buffers
2020-11-17 syoussefi@chromium.org Use 0 as special value for glTexBuffer instead of UINT_MAX
2020-11-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 9e07e4424cd4 to 4fe17f3425ee (12 revisions)
2020-11-17 syoussefi@chromium.org Vulkan: Reuse GetBoundBufferAvailableSize in ProgramExecutableVk
2020-11-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 9d3ef3258715 to 0cb8cc8cfcb2 (4 revisions)
2020-11-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from e4c1a25cc679 to 04515da400d5 (3 revisions)
2020-11-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 089f5a3ecbe4 to d8a3265375ff (384 revisions)
2020-11-17 syoussefi@chromium.org Vulkan: Make ImageViewHelper a Resource
2020-11-17 amy.liu@arm.com Fix flip info of colorBlit with pre-rotation.
2020-11-17 cclao@google.com Vulkan: Remove rotation related data from driver uniform

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 lovisolo@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: lovisolo@google.com
Test: Test: ExternalBufferTestES31.*VulkanTest: Test: ProgramPipelineTest.GenerateProgramPipelineObjectEXT*
Change-Id: I2f539914f631b8655516fce6f4f73c9e16c7758f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335673
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-11-18 04:51:24 +00:00
skia-autoroll
77430e5598 Roll SwiftShader from 04515da400d5 to bb96f79d0e15 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/04515da400d5..bb96f79d0e15

2020-11-17 capn@google.com Disable code generation optimization for MSan builds
2020-11-17 capn@google.com Switch Android to LLVM ORCv2 JIT and remove ORCv1 support

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 lovisolo@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: lovisolo@google.com
Change-Id: I1d22b300783e62106ba05128722d31770b1fd34d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335672
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-11-18 04:51:14 +00:00
Mike Reed
6aeb414df9 add staging flags
Change-Id: If3d9c2b9f490d89aaf49a971271059e95d784846
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335716
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-11-18 04:08:44 +00:00
Brian Salomon
8f46ecc84f Remove two YUV effect GMs: yuv_to_rgb_effect and yuv_nv12_to_rgb_effect.
These aren't testing anything that isn't tested more thoroughly in other
GMs. This avoids having to update them as SkYUVAInfo is used more broadly
in the GPU backend.

Bug: skia:10632
Change-Id: Id02604863f437666005b410213f5970426f1fa8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335659
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-11-17 19:28:43 +00:00
Tyler Denniston
75c38f94ef [svg] Add SkSVGProperty class for presentation attributes
This CL adds a new SkSVGProperty<T,B> class and uses it instead of
SkTLazy for the presentation attributes. Ideally this will form the
foundation for improvements to our presentation attribute parsing
as well as correctness for inherited/non-inherited properties.

Change-Id: Ie1cdb3db9674c55376e127cc1a8b8cb303a1bd13
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334837
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-11-17 18:11:24 +00:00
Brian Salomon
98e17bf01a Remove deprecated DDL promise texture image factories.
Bug: skia:10632
Change-Id: I218281256ea5ab4a5a5a7ea7bf209350082f8dc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335038
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-11-17 17:28:23 +00:00
Ben Wagner
c634fc4a66 Remove FCLocker::Suspend.
It's a bad idea, difficult to reason about, and may be causing
deadlocks.

Change-Id: Id9749661f4f3f942ee983e9c1fdab2bd7f287edb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335242
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-11-17 17:11:03 +00:00
Herb Derby
5dfa02be69 tighten up device bounds for glyphs
Change-Id: I61655b9492bdaacc2c1d5c7631b2e67af2b46668
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335280
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-11-17 16:47:13 +00:00
John Stiles
e1bbd5c128 Disallow unsized array dimensions on size fields past the frontmost.
This was slightly complicated by the fact that this syntax indicates an
array with a known size:

    float[] x = float[](1, 2, 3, 4);

Of course, the size is 4; it's just never explicitly stated in the
code. (The SkSL parser never actually deduces the size, but it doesn't
apparently have a need to; we don't do much in the way of optimization
for arrays.) However, this prevents us from simply failing whenever we
parse "[]" in non-builtin code; we need to keep scanning and see if the
variable is initialized. We already check this in the
ArrayConstructors.sksl test file.

Change-Id: I5b86958e81bd9bf5edf28a617cecf95c1875583e
Bug: skia:10957
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335240
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-11-17 16:44:13 +00:00
John Stiles
08070f6f65 Report the correct line number when vardecls have an error.
Previously, the Type's fOffset was set to -1 during parsing, so any
errors related to the Type would be reported on line 1.

Change-Id: I9834f733bc763c5946b3ff81d8aef4807cdc13d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335584
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-11-17 16:32:23 +00:00
Brian Osman
5035b8f92a Minor cleanup in the intrinsics GMs
- Renamed do_unary() to plot(). Originally intended to do higher
  dimension functions differently, but the 1D plot by varying some
  parameters is easier to look at and reason about, so all plots will
  follow this model.
- Added an optional label for the expressions that are getting really
  long. "smoothstep" was already overflowing, and the final wave of
  intrinsics (geometry and vector comparison) are going to all be long.

Bug: skia:10913
Change-Id: I69086152718c43e602755ddc9017b2a73fec5038
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335583
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-11-17 15:49:43 +00:00
John Stiles
1d75778cbf Disallow opaque types in structs and interface blocks.
This is a followup to http://review.skia.org/335196. This detects opaque
types (samplers and textures) at parsing or IR generation time and
reports an error regardless of backend. This check occurs before Metal
or SPIR-V would have a chance to detect the error, so it changes their
output to a slightly more focused error message. The Metal/SPIR-V fix in
the prior CL is still a nice broad catch-all for preventing spurious
ABORTs, though.

Change-Id: I4cce92a8767d72b5d3d7277a8afde8ce5ce86db2
Bug: skia:10956
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335217
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-11-17 15:25:43 +00:00
John Stiles
3b20936c50 Code cleanup: remove macros from AST node creation.
Perfect-forwarding can be used to implement CREATE_NODE as a templated
function instead of a macro. All the other macros were only necessary
because they were somehow entangled with CREATE_NODE.

(In the case of CREATE_EMPTY_CHILD I don't believe there was any
rationale for using a macro at all, other than maintaining parity with
CREATE_CHILD.)

Change-Id: Ic011e94d9712430cd4b82772dc449bc07e7f6bde
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335278
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-11-17 15:19:23 +00:00
Kevin Lubick
8c1cdeca9d Update Go Deps
Main impetus is to update Debugger autodeploy to be the lit-html version.

Ran the following commands from $SKIA_ROOT:
$ go get go.skia.org/infra@1e7e10cc95
$ make -C infra/bots train

Change-Id: I75f5d1d135530411e6a3068b18dde24bc61ee10a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335581
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Auto-Submit: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2020-11-17 15:16:53 +00:00
Adlai Holler
abe4518b4d Move GrOpsTask::addOp and addDrawOp out of header
Probably in here just as an accident of history. If the idea was
to make it inlineable – unlikely – then LTO can handle that.

Change-Id: I359eee153d36f1aa1bd5e01920393d882451c4f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335579
Commit-Queue: Adlai Holler <adlai@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-11-17 15:13:24 +00:00
Adlai Holler
b1a6b97915 Remove bulk GrDrawingManager::appendTasks
This was removed in 334422 but got put back due to code
in that area dancing around and merging.

Change-Id: Ic9f51f8de92d3aa763ac6e3a8dc34397230260df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335578
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2020-11-17 14:41:03 +00:00
Robert Phillips
88b2961e29 Connect DDL offsets in the testing harness to the new ddlTask
This connects these two CLs:

https://skia-review.googlesource.com/c/skia/+/333129 (Update DDL testing harness to support drawing DDL w/ integer offsets)
https://skia-review.googlesource.com/c/skia/+/334422 (Change UnrefDDLTask to just be the DDLTask (take 2))

It still doesn't work though bc it is missing backend support and flags on the tools to enable it.

Change-Id: I51e9c0d41689fce622222201280fb308f1679dcb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/333579
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-11-17 14:22:13 +00:00
Robert Phillips
fbbc3bbecf Move SkTTopoSort to src/gpu and rename it to GrTTopoSort
Change-Id: I76deff6bbb2d796cead0e9415c19daf5edceaa73
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335296
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-11-17 14:17:03 +00:00
Leon Scroggins
da3d8c2471 Reland "SkAnimatedImage: Use fSampleSize"
This is a reland of 4fdf9f9ce5

No change from the original, which was just reverted to be able to
cleanly revert its parent, which has now been relanded with a fix.

Original change's description:
> SkAnimatedImage: Use fSampleSize
>
> Bug: b/163595585
>
> This will allow using less memory when decoding an animated GIF by
> sampling at decode time. This is tested by the animated_image GMs.
>
> Change-Id: I748b2180827623e4ca1fc0fd4d6dd02733b3b5f2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/333226
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Derek Sollenberger <djsollen@google.com>

Bug: b/163595585
Change-Id: I3249bd04b64750a50a4c5c787db3e80ac4d85e67
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335279
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2020-11-17 14:07:03 +00:00
skia-autoroll
abd73e2507 Roll SwiftShader from e4c1a25cc679 to 04515da400d5 (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/e4c1a25cc679..04515da400d5

2020-11-16 srisser@google.com Don't auto append value of stringified enums
2020-11-16 capn@google.com Work around LLVM ORCv2 issue affecting Cuttlefish
2020-11-16 capn@google.com Enable Reactor Print() in Debug/RelWithDebInfo builds

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 lovisolo@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: lovisolo@google.com
Change-Id: I11750145206292ca3cd2c807322650cef3a3b803
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335318
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-11-17 05:44:53 +00:00
skia-autoroll
610fadae06 Roll ANGLE from 60570b859f7c to 4f96bf19941b (15 revisions)
60570b859f..4f96bf1994

2020-11-17 m.maiya@samsung.com Remove duplicate entry of glProgramUniformMatrix4fvEXT in gl.xml
2020-11-16 syoussefi@chromium.org Vulkan: Optimize PBO copy from depth xor stencil src
2020-11-16 jdarpinian@chromium.org Remove trailing whitespace.
2020-11-16 geofflang@chromium.org GL: Implement EXT_YUV_target
2020-11-16 jmadill@chromium.org Vulkan: Fix serial handling for queries
2020-11-16 syoussefi@chromium.org Vulkan: prerotation deqp expectations
2020-11-16 syoussefi@chromium.org Optimize building prerotation deqp targets
2020-11-16 jmadill@chromium.org Vulkan: Remove RendererVk::getNextSubmitFence.
2020-11-16 syoussefi@chromium.org Vulkan: Expose OES_shader_image_atomic without VS/FS atomics
2020-11-16 jmadill@chromium.org Vulkan: Give CommandQueue an abstract interface.
2020-11-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Headers from 670ffea9d61b to 11c6670b4a4f (1 revision)
2020-11-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 1cda495274bb to 1f2fcddd3963 (2 revisions)
2020-11-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 128608f6da3a to 9d3ef3258715 (31 revisions)
2020-11-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 28c8eb1aa6b4 to 089f5a3ecbe4 (514 revisions)
2020-11-16 xiaoxuan.liu@arm.com Vulkan: Add support for headless surface

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 lovisolo@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: lovisolo@google.com
Change-Id: I18859937deadc670842d5c0f7793075db43e4ffe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335456
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-11-17 05:04:13 +00:00
skia-autoroll
a0485315fc Roll Dawn from 575729e8dd25 to f2bc3b3edd6f (5 revisions)
https://dawn.googlesource.com/dawn.git/+log/575729e8dd25..f2bc3b3edd6f

2020-11-16 enga@chromium.org Print warning if errors occur and no error callback has been set
2020-11-16 cwallez@chromium.org Metal: Wrap NS classes and protocols in NSRef.
2020-11-16 enga@chromium.org Remove --skip-validation test flag from Dawn tests
2020-11-16 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from e5e961722054 to 4ad0019df0f0 (1 revision)
2020-11-16 rsesek@chromium.org Use the correct GN variable for the Mac deployment target.

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 kainino@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: kainino@google.com
Change-Id: I0e4ea0fb23d75f2b3c191e20908557a38566ef85
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335457
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-11-17 04:54:23 +00:00
Nathaniel Nifong
1ce8964db1 Move SKP version extraction into JS
two reasons:
1. It prevents any crash during reading from prevening a version number being returned from wasm.
2. It lets me use a common solution for reading a version number from SKP files and MSKP files.

bug:skia:10832

Change-Id: Icad27690aac9d614d72140ea4b88b350faf21a4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334897
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-11-16 22:54:20 +00:00
Julia Lavrova
ee33a3a072 Added SK_PARAGRAPH_LIBTXT_SPACES_RESOLUTION to flutter_defines.gni
as a reminder that what we do here is not right and we only need it
temporary for Flutter.
Bug: skia:10715

Change-Id: I186edd3f761db72d2973c1128e0d95a78bd332f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335220
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-11-16 22:11:20 +00:00
Herb Derby
396974683c clip more cases using the CPU allowing more op merges
In desk_gmail.skp, the clips are marked as AA, but are
actually integer bounds. Check for this case and clip
using the CPU. The big benefit for this is that during op
merging the applied clips are nullptr, which allows many more
cases to merge.

Change-Id: Idd000c325da60767b18e22a20cb4afa1c0dd798f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335052
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-11-16 20:19:38 +00:00
Robert Phillips
07f675d309 Change UnrefDDLTask to just be the DDLTask (take 2)
This includes:

https://skia-review.googlesource.com/c/skia/+/333576 (Fix UMR (valgrind) bug in GrDrawingManager)

Change-Id: I162aba033e75b47a96b4dfdd840ba2cb1f70e42c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334422
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-11-16 19:49:58 +00:00
John Stiles
0023c0c827 Detect unsupported types for MemoryLayout and report errors.
Previously, MemoryLayout would ABORT if it encountered any types that
we can't layout in memory (e.g. opaque types like samplers). Instead of
an abort, this case is now detected cleanly and an error is reported
identifying the offending type.

This should unwedge the fuzzer, which appears to be very
enthusiatically generating interface blocks with nonsense types inside.

(Note that code generators which don't actually try to compute a memory
layout--that is, GLSL--will still accept these types. This should still
be caught and reported as an error, since it's still illegal in GLSL,
but that's for a future CL.)

Change-Id: I88a9649bcd8c75dadc8cca679f3c5e94570742bc
Bug: skia:10956, oss-fuzz:27525
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335196
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-11-16 19:14:48 +00:00
Mike Klein
dae77c5b19 roll back minimum picture version to 73
Please c.f. https://skia-review.googlesource.com/c/skia/+/302836
and the attached bug.

This restores kEdgeAAQuadColor4f_Version=73 and sets it as the minimum
we can read.  No code change is needed for this: there's still code to
handle both sides of the format change marked by the current minimum
kMorphologyTakesScalar_Version=74.  We've either mistakenly tagged the
minimum version one too high, or have forgotten to delete this code:

    sk_sp<SkFlattenable> SkMorphologyImageFilterImpl::CreateProc(SkReadBuffer& buffer) {
        SK_IMAGEFILTER_UNFLATTEN_COMMON(common, 1);
        SkScalar width;
        SkScalar height;
        if (buffer.isVersionLT(SkPicturePriv::kMorphologyTakesScalar_Version)) {
            width = buffer.readInt();
            height = buffer.readInt();
        } else {
            width = buffer.readScalar();
            height = buffer.readScalar();
        }
        ...

Similarly we do not need to restore any code conditioned on
buffer.isVersionLT(SkPicturePriv::kEdgeAAQuadColor4f_Version); that's
what we'd need to restore if we wanted to support v72 or earlier.

Bug: skia:10832
Change-Id: Ibf49feb401cab7dfd00582e68a3aeb1061ffe08b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335177
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-11-16 18:56:28 +00:00
Robert Phillips
b7c1310834 Revert "Remove SkBaseDevice::flush"
This reverts commit 971b19d0c6.

Reason for revert: See if this CL was causing the Perf-Win10-Clang-ShuttleA-GPU-GTX660-x86_64-Release-All issue

Original change's description:
> Remove SkBaseDevice::flush
>
> Another small step in removing SkCanvas::flush
>
> Change-Id: I6f17edcd1996e1009dad7cc96a97be3b0c4664f4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334417
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Adlai Holler <adlai@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

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

Change-Id: I0b9116f8ce4eed3a0d49ccf1cc55d8d89675617e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335216
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-11-16 18:46:19 +00:00
Mike Klein
ef8d52d8b2 make I32a less ambiguous
We never want to take things like floats here.
This lets us write more natural select()s.

Change-Id: Ia02d12f2ab46aadc21bd87941273f93768c2afab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335083
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-11-16 18:04:17 +00:00
Brian Osman
5160aada22 Test and implement all "common" intrinsics (GLSL ES Sec. 8.3)
Bug: skia:10913
Change-Id: I845bfad9ef57b57f09bdf96e74dcdab86300b34d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334877
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-11-16 17:25:48 +00:00
Leon Scroggins
1340dbde91 Reland "SkAndroidCodec: Support decoding all frames"
This is a reland of fc4fdc5b25

Original change's description:
> SkAndroidCodec: Support decoding all frames
>
> Bug: b/160984428
> Bug: b/163595585
>
> Add support to SkAndroidCodec for decoding all frames with an
> fSampleSize, so that an entire animation can be decoded to a smaller
> size.
>
> dm/:
> - Test scaled + animated decodes
>
> SkAndroidCodec:
> - Make AndroidOptions inherit from SkCodec::Options. This allows
>   SkAndroidCodec to use fFrameIndex. (It also combines the two versions
>   of fSubset, which is now const for both.)
> - Respect fFrameIndex, and call SkCodec::handleFrameIndex to decode
>   the required frame.
> - Disallow decoding with kRespect + fFrameIndex > 0 if there is a
>   non-default orientation. As currently written (except without
>   disabling this combination), SkPixmapPriv::Orient would draw the new
>   portion of the frame on top of uninitialized pixels, instead of the
>   prior frame. This could be fixed by
>   - If SkAndroidCodec needs to decode the required frame, it could do so
>     without applying the orientation, then decode fFrameIndex, and then
>     apply the orientation.
>   - If the client provided the required frame, SkAndroidCodec would need
>     to un-apply the orientation to get the proper starting state, then
>     decode and apply.
>   I think it is simpler to force the client to handle the orientation
>   externally.
>
> SkCodec:
> - Allow SkAndroidCodec to call its private method handleFrameIndex. This
>   method handles decoding a required frame, if necessary. When called by
>   SkAndroidCodec, it now uses the SkAndroidCodec to check for/decode the
>   required frame, so that it will scale properly.
> - Call rewindIfNeeded inside handleFrameIndex. handleFrameIndex calls a
>   virtual method which may set some state (e.g. in SkJpegCodec). Without
>   this change, that state would be reset by rewindIfNeeded.
> - Simplify handling a kRestoreBGColor frame. Whether provided or not,
>   take the same path to calling zero_rect.
> - Updates to zero_rect:
>   - Intersect after scaling, which will also check for empty.
>   - Round out instead of in - this ensures we don't under-erase
>   - Use kFill_ScaleToFit, which better matches the intent.
>
> Change-Id: Ibe1951980a0dca8f5b7b1f20192432d395681683
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/333225
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Derek Sollenberger <djsollen@google.com>

Bug: b/160984428
Bug: b/163595585
Change-Id: I7c1e79e0f92c75b4840eef65c8fc2b8497189e81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334842
Auto-Submit: Leon Scroggins <scroggo@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2020-11-16 16:55:48 +00:00
Jim Van Verth
5a89ed542f Add activation events to sk_app.
Currently only in IOS, makes the iOS app more background-friendly
and sets up for storing Metal context state.

Bug: skia:10804
Change-Id: I267cfad2bf78b1691fe71986716d2986729dd237
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334678
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
2020-11-16 16:44:08 +00:00
Eric Boren
72059bcbd2 [infra] Mac VMs running NativeFonts tasks were updated
Change-Id: I6706f32162206a6cfaeaf71f9a42a5ba66379148
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335042
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2020-11-16 16:36:47 +00:00
John Stiles
34de5cb57b Convert remaining Metal tests to golden outputs.
Metal-specific tests are pretty thin on the ground here, and some of
the remaining tests no longer added value as they were already covered
pretty well by existing tests in Shared. The majority of remaining tests
were specific to Metal's lack of flexible matrix casting (and SkSL's
ability to paper over this with helper functions).

Change-Id: I7b3c445268b95320e7f46ec88d793c315d43ee8a
Bug: skia:10694
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334956
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-11-16 16:32:56 +00:00
Robert Phillips
2f9dad4b8c Allow gpu_blur_utils* GMs to run with *ooprddl configs
A follow-on to:

https://skia-review.googlesource.com/c/skia/+/333489 (Remove the skipping of some GMs for the *ooprddl configs on the bots)

Change-Id: I41f6e79e6292023a2ac8fc031fd98974e4488d0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334516
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-11-16 16:15:36 +00:00
Jim Van Verth
b50e5cf3a6 Add product bundle name to iOS Xcode projects
Before this you'd need to set the bundle name to launch the app
via the Xcode debugger. With this it's set automatically.

Change-Id: Ic84a6c8ba020580d5ff4afa9c104efbc2360b60e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334898
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-11-16 16:00:56 +00:00
Robert Phillips
971b19d0c6 Remove SkBaseDevice::flush
Another small step in removing SkCanvas::flush

Change-Id: I6f17edcd1996e1009dad7cc96a97be3b0c4664f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334417
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-11-16 15:26:06 +00:00
Brian Salomon
9f94f31cc0 Add convenience method SkYUVAInfo::makeSubsampling.
Will be used Chrome to convert subsampled info to k444.

Bug: skia:10632
Change-Id: Ife9bdf3a28aeb6db1de063539a8b1664bdcbdb5e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334958
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
2020-11-16 14:28:34 +00:00
skia-autoroll
cce84d1fd8 Roll ANGLE from 9eff98952674 to 60570b859f7c (17 revisions)
9eff989526..60570b859f

2020-11-14 timvp@google.com Update emulated_prerotation_ to emulatedPrerotation
2020-11-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from e2b55419a370 to be6ccb9ecaf7 (1 revision)
2020-11-14 syoussefi@chromium.org Fix texture buffer width query
2020-11-14 timvp@google.com Metal: Suppress TransformFeedbackTest::BufferOutOfMemory()
2020-11-13 syoussefi@chromium.org Fix texture buffer unbind and size query
2020-11-13 senorblanco@chromium.org Wrap a paragraph in DevSetup docs to 100 chars.
2020-11-13 senorblanco@chromium.org Fix some apostrophes, because I'm possessive like that.
2020-11-13 timvp@google.com Vulkan: Suppress VkSubpassDescriptionDepthStencilResolve
2020-11-13 timvp@google.com Add test running flag: --delay-test-start
2020-11-13 senorblanco@chromium.org Fix EGL_ANGLE_platform_extension* filenames in DevSetup docs.
2020-11-13 jmadill@chromium.org Revert "Roll glslang from 142cb87f803d to beec2e4a7c4d (12 revisions)"
2020-11-13 cnorthrop@google.com Tests: Add Real Commando Secret Mission trace
2020-11-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from df1edd1738a6 to 67d0fc6389ff (2 revisions)
2020-11-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from 142cb87f803d to beec2e4a7c4d (12 revisions)
2020-11-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 4ed9d3498dcf to e4c1a25cc679 (16 revisions)
2020-11-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from a927c079f7db to 28c8eb1aa6b4 (519 revisions)
2020-11-13 syoussefi@chromium.org Vulkan: Fix deferred clears vs swap

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 lovisolo@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: lovisolo@google.com
Test: Test: KHR-GLES31.core.texture_buffer.texture_buffer_parametersTest: Test: TextureBufferTestES31.QueryWidthAfterBufferResizeTest: Test: TransformFeedbackTest.BufferOutOfMemory/ES3_MetalTest: Test: angle_perftests --gtest_filter="*real_commando_secret_mission*"Test: Test: dEQP-GLES31.functional.state_query.texture_level.texture_buffer.width_*Test: Test: dEQP-GLES31.functional.texture.texture_buffer.state_query.texture_buffer_size_integer
Change-Id: Id0fcbdfcd7db640235e6405b89a96225e8d20826
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335016
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-11-16 04:48:14 +00:00
skia-autoroll
a7252b76d7 Roll Chromium from 3fae529574ca to 2c493e0e0782 (528 revisions)
3fae529574..2c493e0e07

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 lovisolo@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: lovisolo@google.com
Change-Id: Iad5e5684a8e89abc921e9ffd7cde28351f7041fb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334996
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-11-16 04:47:14 +00:00
skia-autoroll
116279b7ba Roll Dawn from b6f4d53126d3 to 575729e8dd25 (11 revisions)
https://dawn.googlesource.com/dawn.git/+log/b6f4d53126d3..575729e8dd25

2020-11-16 hao.x.li@intel.com Add query availability tracking in render pass encoder
2020-11-14 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 8ca4561b25dd to e5e961722054 (18 revisions)
2020-11-14 enga@chromium.org Add InjectValidationError to command encoder
2020-11-14 enga@chromium.org Add end2end tests flags --enable-toggles and --disable-toggles
2020-11-13 enga@chromium.org Update DepthBiasTests to use WGSL
2020-11-13 enga@chromium.org Update CullingTests to use WGSL
2020-11-13 enga@chromium.org Update ComputeIndirectTests to use WGSL
2020-11-13 enga@chromium.org Update CompressedTextureFormatTests to use WGSL
2020-11-13 enga@chromium.org Update ColorStateTests to use WGSL
2020-11-13 enga@chromium.org Update ClipSpaceTests to use WGSL
2020-11-13 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 1980095da7f4 to 8ca4561b25dd (2 revisions)

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: Id7b34b58d98322cf250545d8a4cb2a800291ffbf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335017
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-11-16 04:32:54 +00:00
skia-recreate-skps
df42650d66 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Ie99d939bcb77ddf936f96407ed7111d6737e39f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334976
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-11-16 04:12:54 +00:00
John Stiles
031a76756e Stop the inliner after it has inlined 2500 statements in a program.
This prevents OOMing when given a pathological input, but is large
enough that almost all inputs should continue to compile as-is.

Change-Id: If5c46711b886ee08495bfd09af537e9dc7ea5649
Bug: skia:10945, oss-fuzz:27442
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334838
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-11-13 23:02:11 +00:00
Michael Ludwig
4757a60871 Accept SkFilterQuality in SkImageFilters::Shader
This is needed to help ease the migration from SkImageFilters::Paint,
until image shaders always force you to embed sampling options.

Change-Id: Id8dc8c3196a7935073677a5fbb8d35c3bd22f9ba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/333757
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-11-13 22:46:20 +00:00
Brian Osman
6ba3be1d96 Fix step & smoothstep on Vulkan
Both of these have variants with mixed scalar/vector parameters. Ensure
that all parameters are vectorized, or we fail SPIR-V validation.

Bug: skia:10913
Change-Id: I1a5be7fc02695e4c7047b5b9c3c08d12b2071e21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334896
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-11-13 22:26:10 +00:00
John Stiles
053739dfa8 Add unit test for O(n^3) behavior in the inliner.
In practice, the inline threshold does a good job of limiting the
blast radius here.

Change-Id: I495184116e733262ea9d84fec30885ea047ca116
Bug: skia:10945
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334597
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-11-13 22:13:21 +00:00
John Stiles
b4b627e62a Disallow usage of private types ($vec, etc) in non-builtin code.
This fixes a fuzzer crash in Metal.

Private types aren't meant to be used directly; we can't generate a
valid MemoryLayout for them. We will now detect them during IR
generation and report an error. (Note that unreferenced structs
currently don't have any IR representation at all, so structs have to be
used somewhere in the code to trigger the error.)

Bug: oss-fuzz:27288
Change-Id: I432f0a69fbb54cd33ff5b90a9f3d4757a9370117
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334830
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-11-13 21:55:50 +00:00