This filter implementation should be complete, but note we are still
not quite passing the W3C filters-gauss-* tests because our filters
currently operate in sRGB and not linear RGB (which is quite noticable
in some of the blur tests).
Bug: skia:10841
Change-Id: I706cde879ef6eb47ce586279999536cf67237f13
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352506
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
MTLPixelFormatBGR10A2Unorm isn't supported on older MacOS or iOS
versions, but we still want to build those. This CL adds some
availability checks, and works around array initialization by using a
internally defined constant.
Bug: skia:11160
Change-Id: Ife04b0a467a5e0aa27f081cabb1936c5771b5679
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352742
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Bug: skia:10632
Change-Id: If4dd7779b0856f6d0b441381bf7f2f51527cdb9d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352497
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Also removed an erroneous call to mapToRect() when returning bounds
for SkSVGContainer. The contexts in which we access object bounds are
always such that any transforms have already been applied.
Change-Id: Ieac488e1699d3ebff56038d6ada36737291671eb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/345117
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
In debug mode, we now overwrite released memory with 0xDD. This is
intended to make use-after-free errors easier to catch while debugging.
Change-Id: I04a4c5abcfef5f3f604a2430da15a8b5125239af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352956
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
This will allow errors to be reported outside of the IRGenerator more
easily (without passing around an ErrorReporter object).
Change-Id: I4bcb59fcd526599fa593fcb3b1de0a5ae64ab901
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352737
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
This is the first test that used uniform data, so fix up how uniforms
work in the generic SkSL-to-SkVM function.
Bug: skia:11094
Bug: skia:11096
Change-Id: Ie391c1a6b8b68f0f4f014d7e767d7b5101341fab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352739
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Bug: skia:10419
Change-Id: I547e7c63b9d7ad9abeb6377f4a31d6d671bb5030
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/350482
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Bug: skia:10419
Change-Id: I0394697fdc292cabeb81da508e1acdc74e2127ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/350257
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
This simplifies debugging DDL rendering by allowing arbitrary tiles
to be dropped.
Change-Id: If1341691ef29159a5d48cf1ae40b6f585a7e21a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352576
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Bug: skia:10419
Change-Id: I6351513b365a190dd97312a0b3d436a44b8fb10a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351858
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Change-Id: I96b547de4fe4b73096fb26d0ef21a4e7555ca06a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352238
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Bug: skia:11127
Change-Id: I3a7fda8bb62f9cf9b6c83441703f537e75461d07
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352509
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Previously, these were in SkSL::Context directly. This change doesn't
remove them from the context entirely, but it gives them a dedicated
subclass and firewalls them off from the rest of the context.
Change-Id: I0c344bf7436a11b8494a5fe7542d0a4ef1ece964
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352502
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Change-Id: I20a40af290fd907e1b1a57a2fd09659d62db3af3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352508
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Android is currently the only platform that defines
SK_PRINT_CODEC_MESSAGES, which turns SkCodecPrintf into SkDebugf. This
macro is used to print messages from the SkCodec (or its underlying
library). At one point, Android requested better diagnostic messages,
but to my knowledge, they have never been used to help fix a bug. They
do, however, contribute to the overall high noise ratio of Android
logcat output. This is especially distracting when running the
AImageDecoder fuzzer (ag/10666507).
Change-Id: I245d555e9e9d79aeaa1023029f36c4911e5846a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352513
Commit-Queue: Leon Scroggins <scroggo@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
This currently leaves ARM devices as the only devices actively using
this feature.
Bug: skia:10979
Change-Id: Icf86b3f4ea12092d2c21b1fd8ffd37444e4a57f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352501
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
This reverts commit f5aed172c6.
Reason for revert: Broke 11phone11 (ios 13.6) testing.
Original change's description:
> [infra] Use Mac10.15.7 and xcode12.3 for all builds.
>
> Bug: skia:11129
> Change-Id: I314d51988e4cafc9dfea60bc70a57f46faa8666a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/345396
> Reviewed-by: Eric Boren <borenet@google.com>
TBR=borenet@google.com,westont@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: skia:11129
Change-Id: Ib4484042ebaf493edcc8c5ee21960251bc80aa42
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352496
Reviewed-by: Weston Tracey <westont@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
No-Try: true
Change-Id: I98f90add9ec3449a16ff40dfe833b124a98cc502
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352507
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This CL also adds tests for vector*scalar and scalar*vector folding.
We currently do not constant-fold these, but support will be added in a
followup CL.
Change-Id: I68d7374ae15ab2f4d805a095803b645c92fb03d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352237
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Generates a bounding rect that encompasses both shadows for a given path,
relative to the path local space.
Bug: skia:11146
Change-Id: Ib8edb1072ed9cbfe36285523330be95fdf661d6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351922
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Yegor Jbanov <yjbanov@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Spec: https://www.w3.org/TR/SVG11/filters.html#FilterPrimitiveSubRegion
The filter primitive subregion restricts the output of a specific <fe*>
node in a filter DAG. By default it's equal to the union of subregions
of all input filters, or the filter region if no inputs exist. If
x/y/w/h are specified on the <fe*> node, those are used to bound the
primitive subregion instead.
In this CL:
- Implement the computation of the primitive subregion in
SkSVGFe::resolveFilterSubregion
- Add primitiveUnits to filter context
- Change result registration (by string ID) in filter context to include
the primitive subregion of that result. This is needed because filters
referencing previous results need access to those primitive subregions
to compute the union.
Bug: skia:10841
Change-Id: I66fbb4979e3c65cb5e5cc61f98286ec7ad023438
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/344666
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
This doesn't change any logic, just makes the IR generator a few
hundred lines shorter.
Change-Id: I92010191ee9283c33499c819d65fc85913f25824
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352121
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
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>