Commit Graph

52787 Commits

Author SHA1 Message Date
John Stiles
b270c7e5e1 Remove rewrite of true ^^ expr to !expr.
This optimization doesn't perceptibly improve the generated code; it
just replaces a binary expression with an equivalent unary one.

Change-Id: Ib6cd2732a22c26978665c57ee00d7b5e5d0a0aee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352123
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-01-11 15:53:30 +00:00
Brian Salomon
4878b3e33c Remove Improved Perlin Noise
Is not used by a major client and can be implemented using runtime
effects for users who want this noise.

Bug: skia:10536
Change-Id: Iaa06e6e1406b808c7f8dc0f76621fecf2becabf5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352057
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-01-11 15:27:26 +00:00
Brian Salomon
70fa84a9bf asyncRescaleAndRead supports unpremul results on GPU
GrSurfaceContext::rescale uses GrSurfaceFillContext instead of
GrSurfaceDrawContext.
Change-Id: I9c2d647d8f221c129ec4485a4ed936202aee6362
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351923
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-01-11 15:26:46 +00:00
Brian Osman
e2416d7697 Convert early-return interpreter test to SkVM
This feature works fully on the skvm backend, and the byte code backend
is going to be removed soon.

Bug: skia:10852
Change-Id: I4711fcea7c85232c0b740f3b3c012f47310a768e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352258
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-01-11 15:21:26 +00:00
John Stiles
f0cb733b1b Remove redundant constantPropagate in Swizzle.
Swizzle::constantPropagate is a limited form of this optimization:
https://osscs.corp.google.com/skia/skia/+/master:src/sksl/SkSLCompiler.cpp;l=1159

It predates this optimization code, though. It also flattened out an
unnecessary constructor that would have otherwise required an extra pass
to eliminate.

Updated the optimization code at L1159 to simplify away the unnecessary
constructor where possible, and then removed Swizzle::constantPropagate.
This has no effect on generated code.

Change-Id: I0f43d5c51761965230c853f309a6ef068f9aef77
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352120
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-01-11 15:02:27 +00:00
Robert Phillips
58a8ccc591 Remove DDLTarget tracking from the GrDrawingManager
By making the DDLTask admit that it is using its ddlTarget
we no longer need this tracking in the drawing manager.

Change-Id: I1696ee6c089e4c21abf0781eb7e3b0fa78b3dbb4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352176
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
2021-01-11 14:08:46 +00:00
Robert Phillips
183461f402 Add a isDDLTarget flag to GrSurfaceProxy
With repositionable DDLs the surface proxies they target need
special handling (i.e., their backing resource size cannot
be known ahead of time).

I'll follow this up with a CL that removes the DDLTarget system from
the GrDrawingManager. AFAICT it is not longer needed.

Change-Id: I0d9189b94726fdf356d54c16de32d7e52e0d1451
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352116
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-01-11 13:29:16 +00:00
skia-autoroll
97eede48be Roll Chromium from f936dc21b927 to 9da1d76d9cd4 (569 revisions)
f936dc21b9..9da1d76d9c

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 ethannicholas@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: ethannicholas@google.com
Change-Id: I69d9b3106db044574ccac95628d1b3c2de8bcd75
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352352
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-11 05:06:16 +00:00
skia-autoroll
5acdda201a Roll ANGLE from 51603c63d1cb to 0b90eef09f60 (1 revision)
51603c63d1..0b90eef09f

2021-01-09 ynovikov@chromium.org Roll chromium_revision 1e679b773d..28ecef438c (841389:841845)

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 ethannicholas@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: ethannicholas@google.com
Change-Id: Iea1044a64659f3bb22b75d1b4226c8a58f493137
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352355
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-11 04:57:46 +00:00
skia-autoroll
63ebdf98ff Roll Dawn from 00fcab636a05 to 3a0405597374 (4 revisions)
https://dawn.googlesource.com/dawn.git/+log/00fcab636a05..3a0405597374

2021-01-09 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 1e01c2c11613 to 9bacbe1b34a3 (1 revision)
2021-01-08 hao.x.li@intel.com Disable timestamp query extension on Metal
2021-01-08 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 766e31d50710 to 1e01c2c11613 (3 revisions)
2021-01-08 cwallez@chromium.org Suppress EntryPointTests.FragAndVertexSameModule on GL

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 766e31d50710 to 9bacbe1b34a3

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 enga@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: enga@google.com
Change-Id: I6895178bd9dd2b8f0830fa7e665fb348f468ac33
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352354
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-11 04:52:16 +00:00
skia-autoroll
1fb6cc2ebd Roll SwiftShader from 937395c1ed5d to 348ba200aa29 (6 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/937395c1ed5d..348ba200aa29

2021-01-10 capn@google.com Eliminate SpirvShaderEnumNames.cpp
2021-01-08 capn@google.com Reduce the LLVM compile layer object lifetime
2021-01-08 capn@google.com Reduce the mangler object lifetime
2021-01-08 capn@google.com Eliminate duplicate LLVM contexts
2021-01-08 srisser@google.com Fix mismatched signedness for a compare in subzero
2021-01-08 capn@google.com Fix missing fields initializers warnings

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 ethannicholas@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: ethannicholas@google.com
Change-Id: I7fb8541a82b2f4477704b5250905d866e8abac72
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352353
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-11 04:45:26 +00:00
Mike Reed
f6c68d018a Cleanup in pictureshader
- fix a TODO to use shared decomposeScale
- return null rather than empty shader on degenerate input (more clear)

Landing this *before* trying to rebaseline chrome's images

Change-Id: I621eaff4dd3d958a1555c470578550483e9eb760
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352257
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2021-01-11 03:43:46 +00:00
skia-recreate-skps
a7548393d3 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I920f629b7539f2a688ee90c91dfb55c0a2e0741c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352329
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-01-11 02:28:26 +00:00
skia-autoroll
2199cde1f5 Roll ANGLE from b590fd1b9a59 to 51603c63d1cb (43 revisions)
b590fd1b9a..51603c63d1

2021-01-09 syoussefi@chromium.org Revert "Use is_apple instead of is_mac and is_ios everywhere"
2021-01-09 timvp@google.com Tests: Add Saint Seiya Awakening: Knights of the Zodiac trace
2021-01-09 syoussefi@chromium.org Vulkan: Add a perf test for pre-rotation code injection
2021-01-09 syoussefi@chromium.org Fix translator fuzzer
2021-01-08 timvp@google.com Tests: Add World War Doh trace
2021-01-08 jmadill@chromium.org Add OWNERS info for Vulkan test utils.
2021-01-08 senorblanco@chromium.org Reland "Changes to build inside a Dawn checkout."
2021-01-08 jmadill@chromium.org Vulkan: Fix up varying component limits.
2021-01-08 jmadill@chromium.org Program: Move more common code to ProgramLinkedResources.
2021-01-08 m.maiya@samsung.com Vulkan: Add GL_EXT_clip_control entry points
2021-01-08 jmadill@chromium.org Fix separable Geometry Shaders.
2021-01-08 jmadill@chromium.org Merge Program/ProgramPipeline::getMergedVaryings().
2021-01-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 7b2f93895418 to 937395c1ed5d (2 revisions)
2021-01-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from c493c6112021 to e395b66ed41c (7 revisions)
2021-01-08 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 730c6584bcc6 to 1e679b773de8 (438 revisions)
2021-01-07 syoussefi@chromium.org Vulkan: Add a perf warning when dropping superseded updates
2021-01-07 jonahr@google.com GLX: Avoid creating child window when X visual ID is specified.
2021-01-07 timvp@google.com Capture/Replay: Capture glBindBufferBase during MEC setup
2021-01-07 syoussefi@chromium.org Vulkan: Fix image leak in staged updates in ImageHelper
2021-01-07 syoussefi@chromium.org Build compiler_tests only if GLSL or ESSL build is enabled
2021-01-07 penghuang@chromium.org Remove the checking before accessing to function pointers
2021-01-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from cbab637962d0 to c493c6112021 (10 revisions)
2021-01-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from b9e179f1f239 to 7b2f93895418 (1 revision)
2021-01-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 38610c881952 to 730c6584bcc6 (444 revisions)
2021-01-07 syoussefi@chromium.org Vulkan: Move xfb emulation offset calculation to translator
2021-01-07 syoussefi@chromium.org Vulkan: Fix missing xfb buffer rebind on new command buffer
2021-01-07 syoussefi@chromium.org Move RegenerateStructNames AST transformation to gl/
2021-01-07 syoussefi@chromium.org Vulkan: Refactor generated code in xfb emulation path
2021-01-06 ynovikov@chromium.org Suppress dEQP.KHR_GLES31/core_vertex_attrib_binding_basicinputcase5
2021-01-06 jdarpinian@chromium.org angle_end2end_tests passes on iOS!
2021-01-06 syoussefi@chromium.org Use is_apple instead of is_mac and is_ios everywhere
2021-01-06 jmadill@chromium.org Update auto-roller docs with vulkan-deps repo.
2021-01-06 timvp@google.com Tests: Add FIFA Mobile trace
2021-01-06 jonahr@google.com GL: Add function pointers for EXT/NV_framebuffer_blit
2021-01-06 jmadill@chromium.org Roll third_party/vulkan-deps/ b08eace32..cbab63796 (17 commits; 1 trivial rolls)
2021-01-06 jmadill@chromium.org Remove "init" from VaryingPacking.
2021-01-06 jmadill@chromium.org Organize VaryingPacking methods.
2021-01-06 jmadill@chromium.org Remove ProgramLinkedResources from ProgramExecutable.
2021-01-06 timvp@google.com Capture/Replay: Don't force built-in attribs to have a location
2021-01-06 syoussefi@chromium.org Vulkan: Remove duplicate shaderType parameter to SPIR-V transformer
2021-01-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 481852c5d89b to 38610c881952 (120 revisions)
2021-01-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from ff29e249d317 to b9e179f1f239 (1 revision)
2021-01-06 syoussefi@chromium.org Organize AST transforms per backend

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 ethannicholas@google.com,brianosman@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: ethannicholas@google.com,brianosman@google.com
Test: Test: Capture "World War Doh"Test: Test: angle_perftests --gtest_filter="*world_war_doh*"Test: Test: angle_perftests --gtest_filter=TracePerfTest.Run/*fifa_mobile*Test: Test: angle_perftests --gtest_filter=TracePerfTest.Run/*saint_seiya_awakening*Test: Test: angle_perftests --gtest_filter=TracePerfTest.Run/*world_war_doh*
Change-Id: Ia1d6519246015a273f9491d06cef48d38914dd20
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352348
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-10 20:07:56 +00:00
Chris Dalton
8f282f5d9f Reland "Disable tessellation when we don't have indirect draw support"
This is a reland of b05571f0b8

Original change's description:
> Disable tessellation when we don't have indirect draw support
>
> Avoids the polyfill that uses looping instanced draws. This has led to
> perf regressions on android.
>
> Bug: skia:11138 skia:11139 chromium:1163441
> Change-Id: I129bf96c6d8a3eaadc79bfca496c7d50189f737e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/350738
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

Bug: skia:11138 skia:11139 chromium:1163441 skia:11152
Change-Id: I416dfd1f85aad78786a31ca6390ff40bbe906a19
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352095
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-01-09 05:26:14 +00:00
Chris Dalton
5045de33e7 Move GrTriangulator nested struct defs into the .h file
This makes them reusable for the AA triangulator when it gets its own
file.

Bug: skia:10419
Change-Id: Ibf77b9a77aabc57898c0526b3a6c02ab9c46e2cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351876
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-01-09 03:01:54 +00:00
Nathaniel Nifong
50940aba5d fix a few failing gm tests in wasm
The skia gn/ninja build step and the emscripten build step were using
a different set of defines. this violated assumptions of a couple of
tests

Change-Id: Id5364c0e1281b2e4024685fe8f106ee55c4961cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338343
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-01-09 02:48:38 +00:00
Mike Klein
ae562bd177 remove default Uniforms base Ptr
This tripped us up at least once recently.

Change-Id: I902759929e359ce639557bb766b0c6593badc07b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352093
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-01-09 02:03:31 +00:00
Chris Dalton
17ce8c5ec6 Finish converting GrTriangulator structs to nested classes
Bug: skia:10419
Change-Id: I1d19ff225666d2dd53ff6c0b48eab635d717ed68
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351857
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-01-09 01:01:48 +00:00
Brian Osman
54515b7b2b Support function calls in SkSL-to-SkVM
Bug: skia:10680
Change-Id: I8697bdc157d250f3c390c7f49074318aa8c7bdab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351918
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-01-09 00:47:48 +00:00
John Stiles
6bf6963198 Remove context argument from short_circuit_boolean.
Now that BoolLiterals can be constructed with a Type*, there's no need
to pass the context through.

Change-Id: Ic2003aa03f5c2428e73e81c95eb12c862700554a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352025
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-01-08 22:26:48 +00:00
Robert Phillips
047d5bb8d3 Improve flush-time op spew (esp. for DDL tasks)
This CL also centralizes how the SkSurfaceProxy is output.

Change-Id: Ibdba1535e65ef21ce206778a8d757ee341334ec0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352081
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-01-08 21:44:50 +00:00
Brian Osman
e0403a4102 Fix 'out' and 'inout' params in user-defined runtime effect functions
We were dropping the modifiers when re-emitting the function
declarations. We rarely noticed this, thanks to aggressive inlining in
our existing tests. Upcoming changes to the test suite (to disable
inlining) exposed this bug.

Change-Id: I773d5ad6f7694d4a491be525c05b730794216e43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352039
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-01-08 21:14:40 +00:00
Mike Klein
00e43df25b rename Arg to Ptr
This makes almost all existing code read more clearly.

Change-Id: I314331d9aa2ecb4664557efc7972e1a820afc250
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352085
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-01-08 20:50:15 +00:00
Mike Klein
7296c2366a a little more unused code cleanup
Change-Id: I1168871f1c5765f47814f81f729b4fbaf2b7a3e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352086
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-01-08 20:49:47 +00:00
Mike Klein
f8f01d44b4 SkCanvas::makeSurface() can fail
This should fix the --preAbandonGpuContext bots.

Cq-Include-Trybots: luci.skia.skia.primary:Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-PreAbandonGpuContext
Change-Id: I5df65e730414c670e255eb786f16a43fee49c22f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352087
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-01-08 20:49:36 +00:00
John Stiles
7f39983c95 Remove unused context argument from compareConstant.
Change-Id: Ia49b9dceccb83f8316698ba13d0920a988335010
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352040
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-08 20:41:49 +00:00
Mike Reed
416ebde552 Actually abort playback on error
In the referenced bug, we encounter a bad op
(drawPoints but null for the points array).

We detect this (reader has the error) but we don't actually stop, so
we call the draw method with bad params.

Bug: oss-fuzz:29115
Change-Id: I73273d49e8b21251f0c9f367e6960d907e5a314c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352037
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2021-01-08 20:36:59 +00:00
Ben Wagner
b06ebee1e8 Make SkBase64 interface less unpleasant.
Change SkBase64::decode interface completely and better document
how to use. Unfortunately there are users of ::decode (and they are
leaking) so will need to keep the old interface until users can be
updated.

Change-Id: I214b771136d78fef758c5d0d9ec302f956f6e4f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351201
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-01-08 20:28:19 +00:00
Mike Klein
2a735ba1cb add colorspace2 GM
I figured while I was thinking of this I'd flesh it out with different
strategies for creating this same color space transform chain.  This
new GM uses canvas->makeSurface() to create its midCS waypoint.

Change-Id: Id72dbc6010496342daa12f793111bb3b96be94fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351951
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-01-08 18:14:59 +00:00
Mike Klein
09b7afc4be quiet dehyrdate_sksl unless it fails
This always announces itself loudy during builds.
Probably ok to just make it do what normal build
steps do, only print anything with ninja -v or
when something goes wrong.

Change-Id: Ied26c55af2f496a9c1864e123be8e035a6e876e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351950
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-01-08 18:14:29 +00:00
Mike Reed
13cc59ea0f Check for null image before querying its bounds
Bug: oss-fuzz:29091
Change-Id: I152ab37357199f511b46ac10338e451a2f986da9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352056
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-01-08 17:42:49 +00:00
Ethan Nicholas
b3d4e74d34 Add SkSL DSLType
Change-Id: I0bbda6a41391fc2a11dc812be5e9c0c0d14c4d75
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351921
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-01-08 17:25:54 +00:00
Stephen White
3486fac8e3 Pre-emptive fix for upcoming ANGLE change.
define angle_standalone = false, so that we can use that in
re-landing chromium-review.googlesource.com/c/angle/angle/+/2587451.

BUG: angleproject:5462
Change-Id: I810623b6d55735aac6d5ba5ad813aba0f32f9801
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351496
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-01-08 17:23:52 +00:00
Greg Daniel
d8d9cf10ef Enable using discardable msaa attachments in vulkan.
This CL enables in Vulkan a system similar to render to texture for GL
MSAA. This can have rendering artifacts if we break up the rendering to
an MSAA surface into two render passes since when we load for the second
render pass it fills all the samples with the resolved color from the
first render pass instead of just the covered samples. These artifacts
exists in the GL version as well. Locally we are seeing perf gains up to
2x factor which justifies the artifacts of using this technique.
Additionally, when we turn on reduce oplist splitting this will decrease
the times where this is even an issue.

This enables it for all devices, but most likely we will only see
improvements on tilers and will end up disabling this for desktops.

Also includes some minor fixes.


Bug: skia:10979
Change-Id: Ic7c3000e3ebed9f4a6351ab8f5637be9ee0194ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/344964
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-01-08 17:20:49 +00:00
Eric Boren
fafb47739a [infra] Filter PathKit and CanvasKit tryjobs when cutting Chrome branch
The Chrome branches are irrelevent to CanvasKit/PathKit.

We only officially build/support *Kit built from ToT

Change-Id: I5f04ead23bb5d76891aec71350bad5b3039c2eda
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351919
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-01-08 17:14:49 +00:00
Nathaniel Nifong
0355118f22 debug build for wasm gm tests
Change-Id: I802160c5734648a57b5ffe19f0df990c526e2c2a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/350896
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2021-01-08 16:46:49 +00:00
Weston Tracey
f5aed172c6 [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>
2021-01-08 13:33:55 +00:00
John Stiles
d2f51b1806 Fix fuzzer-discovered optimizer crash.
The CFG/definition map are no longer valid after replacing an expression
entirely. Swizzle-of-swizzle optimization was another case where the
optimizer would replace an expression wholesale, but failed to set the
needs-rescan flag.

Change-Id: Ida0363d738cd1d3ac2a48c824aa04065a7ca16b7
Bug: oss-fuzz:29085
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351776
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-01-08 13:03:02 +00:00
skia-autoroll
cb3bcf88e3 Roll Chromium from ebb8289a1933 to f936dc21b927 (446 revisions)
ebb8289a19..f936dc21b9

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 johnstiles@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: johnstiles@google.com
Change-Id: I5b1ef1a04c66a6e39d4b166011b249a8e5149cee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351900
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-08 05:00:02 +00:00
skia-autoroll
b2ac12993b Roll Dawn from fac169113df7 to 00fcab636a05 (5 revisions)
https://dawn.googlesource.com/dawn.git/+log/fac169113df7..00fcab636a05

2021-01-07 cwallez@chromium.org Fix default viewDimension in deprecated BGLEntry path.
2021-01-07 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 40b4928a73b7 to 766e31d50710 (4 revisions)
2021-01-07 bclayton@google.com Reland "Update PrimitiveTopologyTests to use WGSL"
2021-01-07 cwallez@chromium.org Roll third_party/vulkan-deps/ b08eace32..c493c6112 (27 commits; 1 trivial rolls)
2021-01-07 jpnurmi@gmail.com Fix typo: vulkan_deps vs. vulkan-deps

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 40b4928a73b7 to 766e31d50710

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 enga@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: enga@google.com
Change-Id: I16984a5519d3a75ceba796acdbd6df187034ec77
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351899
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-08 04:49:32 +00:00
skia-autoroll
f7ce1cd243 Roll SwiftShader from 7b2f93895418 to 937395c1ed5d (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/7b2f93895418..937395c1ed5d

2021-01-07 caramelli.devel@gmail.com Add Direct-to-Display support using KMS/DRM
2021-01-07 srisser@google.com Add structs for VK_KHR_vulkan_memory_model

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 johnstiles@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: johnstiles@google.com
Change-Id: I1afdfd881f29b2077753b0bb433faea692f5d823
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351865
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-08 04:47:22 +00:00
Mike Reed
f4ea30580c Revert "Cache ICU break iterators in SkUnicode_icu"
This reverts commit 504451c7cc.

Reason for revert: breaking android roll?

external/skia/modules/skshaper/src/SkUnicode_icu.cpp:199:28: error: use of undeclared identifier 'ubrk_safeClone'
            iterator.reset(ubrk_safeClone(cachedIterator->get(), nullptr, nullptr, &status));
                           ^
1 error generated.


Original change's description:
> Cache ICU break iterators in SkUnicode_icu
>
> Change-Id: I2d6abd1a12d629b590a6616d0d1c71d71d5f4812
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/344476
> Commit-Queue: Jason Simmons <jsimmons@google.com>
> Reviewed-by: Julia Lavrova <jlavrova@google.com>

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

Change-Id: Iccc8c630bb2461ca3509144a25961b478e6a634d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351916
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-01-08 02:29:03 +00:00
Mike Reed
c6e25754c4 Always lerp when post-rotating tile in pictureshader
... guarded by SK_SUPPORT_LEGACY_INHERITED_PICTURE_SHADER_FILTER

Bug: skia:7650
Change-Id: Ie6e230a492e8364395d4442263ed9bf95f546e0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351505
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-01-08 02:24:22 +00:00
Chris Dalton
811dc6a8a4 Make Comparator& refs in GrTriangulator const
TBR=jvanverth@google.com

Bug: skia:10419
Change-Id: I6da265e732b5588e1780da8b509d21ce65746a5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351796
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-01-08 00:14:01 +00:00
Brian Osman
db2dad5c64 SkSL-to-SkVM: Prepare to handle function calling
Change-Id: I4a130b0c776888587122a7ae25e1b32b10011d55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351499
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-01-07 21:54:56 +00:00
Ethan Nicholas
950461497d Beginnings of the SkSL DSL framework
The code at this point doesn't do anything useful, but establishes some
of the basic types and patterns.

Change-Id: I580a9e75ffa3162879893450fb7d1f0905a10687
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/350697
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
2021-01-07 21:53:01 +00:00
John Stiles
7cbb09c2fe Report a parsing error when invalid tokens are detected.
Change-Id: I75f907ca673ee67f5d623b032128b97833070a0b
Bug: skia:10931
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351504
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>
2021-01-07 21:49:51 +00:00
Brian Osman
57e353f840 Remove error reporter from SkSLVMGenerator
All errors need to be caught earlier, so turn any remaining TODO items
into asserts.

Bug: skia:11127
Change-Id: I6731f947233522df6397b3444c26d5ebc417c431
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351506
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-01-07 21:36:21 +00:00
Mike Klein
606488ad68 back to exactCompare, fixed
Change-Id: Ifd7883a4b327aae9fc0a984f08755d6d6f57f72e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351018
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-01-07 21:25:31 +00:00