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>
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>
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>
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>
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>
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>
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>
- 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>