Commit Graph

53172 Commits

Author SHA1 Message Date
Greg Daniel
c8e16bbe32 Add recycled gpu resource ref counting and use it in GrVkCommandBuffer.
Bug: skia:11136
Change-Id: I31ed877be89bfa34f1fe258d90dfe73ace8618cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/351198
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-01-12 16:32:26 +00:00
Tyler Denniston
187d8117cb [svg] Implement feGaussianBlur
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>
2021-01-12 16:26:16 +00:00
Jim Van Verth
e931b838d3 Fix issues with MTLPixelFormatBGR10A2Unorm on older OSes.
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>
2021-01-12 16:25:16 +00:00
Brian Salomon
0c0b5a6bb2 Remove SkYUVASizeInfo, make SkYUVAIndex a private part of SkYUVAInfo
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>
2021-01-12 15:06:26 +00:00
Tyler Denniston
3a92f776b0 [svg] Implement onObjectBoundingBox for circle and path
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>
2021-01-12 15:05:16 +00:00
Ethan Nicholas
bffe80a29d Add SkSL DSLVar
Change-Id: I1093aa6bbdb481c98ea3dab10c06bfcf323b2a75
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352058
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-01-12 14:36:26 +00:00
John Stiles
c0315a72d9 Scrub memory released from a GrMemoryPool in debug mode.
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>
2021-01-12 14:24:21 +00:00
Brian Salomon
b0d2b09200 Revert "asyncRescaleAndRead supports unpremul results on GPU"
This reverts commit 70fa84a9bf.

Reason for revert: Guessing this is causing the Chrome roll failures.

Original change's description:
> 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>

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

Change-Id: Ia70a49d7789a5c4be7135e827c49a8c42aa49114
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352957
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-01-12 14:21:17 +00:00
John Stiles
b30151eb73 Add a reference to the ErrorReporter to the SkSL Context.
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>
2021-01-12 14:19:16 +00:00
Brian Osman
c92df39de0 Convert interpreter "compound types" test to SkVM
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>
2021-01-12 13:58:46 +00:00
skia-autoroll
a55af2311a Roll Chromium from 9da1d76d9cd4 to b9b9a8a5022a (443 revisions)
9da1d76d9c..b9b9a8a502

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: I3709e95da9e09611dce4271e9c8fbe9d417ec98f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352903
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-12 05:30:25 +00:00
skia-autoroll
f301535cc2 Roll ANGLE from 0b90eef09f60 to 2c65da28a2ee (13 revisions)
0b90eef09f..2c65da28a2

2021-01-12 natsu@google.com Default roll_aosp.sh to copy artifacts to vendor partition
2021-01-12 jmadill@chromium.org Vulkan: Use angle::FormatID instead of VkFormat.
2021-01-11 stha09@googlemail.com libstdc++: fix incomplete type for FramebufferCache
2021-01-11 vantablack@google.com Reland "Created test and fixed texture storage bug in d3d11"
2021-01-11 lfy@google.com Vulkan: Prefer host cached memory for Buffers
2021-01-11 ynovikov@chromium.org Fix iOS build
2021-01-11 ynovikov@chromium.org Enable building angle_white_box_tests on Fuchsia
2021-01-11 ianelliott@google.com dEQP: Avoid undefined right-shift behavior for GLhalf
2021-01-11 jmadill@chromium.org Remove obsolete build flag.
2021-01-11 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 29d2d6a2d436 to 193bb22c8c9d (106 revisions)
2021-01-11 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from e395b66ed41c to e59ae1af7571 (5 revisions)
2021-01-11 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 937395c1ed5d to 348ba200aa29 (6 revisions)
2021-01-11 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 28ecef438c2c to 29d2d6a2d436 (82 revisions)

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
Test: Test:Test: Test: ./scripts/roll_aosp.sh and build in AOSP
Change-Id: I3545c6d63c3b78ff24e659546d37faf09e3fe6ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352906
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-12 04:50:06 +00:00
skia-autoroll
a314baaa05 Roll SwiftShader from 348ba200aa29 to 3549479dc4cc (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/348ba200aa29..3549479dc4cc

2021-01-11 srisser@google.com Define static constexpr members in .cpp files
2021-01-11 srisser@google.com Add VK_EXT_host_query_reset
2021-01-11 srisser@google.com Implement VK_EXT_separate_stencil_usage

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: I2242457875b9d6ad1b9bca86b64be990d57f1f56
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352904
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-12 04:49:16 +00:00
skia-autoroll
a4bd6ae596 Roll Dawn from 3a0405597374 to 9ff83f6c957f (8 revisions)
https://dawn.googlesource.com/dawn.git/+log/3a0405597374..9ff83f6c957f

2021-01-12 hao.x.li@intel.com Query API: Non-precise occlusion query on D3D12
2021-01-11 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from f51d965befa1 to c3c70f848a71 (22 revisions)
2021-01-11 cwoffenden@gmail.com Minor fix to build with MSVC: Gets content address instead of iterator
2021-01-11 cwallez@chromium.org Remove obsolete build flag.
2021-01-11 yunchao.he@intel.com Add more constants for max texture sizes
2021-01-11 senorblanco@chromium.org Add ANGLE to Dawn build.
2021-01-11 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 9bacbe1b34a3 to f51d965befa1 (1 revision)
2021-01-11 stha09@googlemail.com IWYU: add missing include for size_t

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

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 dsinclair@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: dsinclair@google.com
Change-Id: I5adc7a42075bbedd2d71632ebf30ccba6cea680b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352905
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-12 04:43:56 +00:00
Chris Dalton
93c2d81f19 Move the outer mesh into a member of GrAATriangulator
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>
2021-01-12 03:48:35 +00:00
Chris Dalton
7cf3addb1b Extract a GrAATriangulator class
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>
2021-01-12 02:31:05 +00:00
Julia Lavrova
aed808c756 Position inside family glyph
Bugs: skia:11104,skia:11023
Change-Id: If94678ddb3f369244739ea3cb6dbf0464f9a2388
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352736
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-01-11 22:41:25 +00:00
Robert Phillips
559f9c1253 Make the DDLTileHelper skip uninitialized tiles
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>
2021-01-11 22:26:55 +00:00
Chris Dalton
9a4904f4e0 Move emit functions from Poly/Vertex structs into GrTriangulator
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>
2021-01-11 21:20:15 +00:00
John Stiles
508eba7578 Implement constant folding for vector*scalar ops.
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>
2021-01-11 21:03:55 +00:00
Brian Osman
c39a143632 Remove ByteCode from some failure-expecting interpreter tests
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>
2021-01-11 20:42:35 +00:00
John Stiles
54e7c056d9 Separate out built-in SkSL types into their own struct.
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>
2021-01-11 20:02:24 +00:00
Brian Osman
11233d2f12 Convert InterpreterFunctions test to SkVM
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>
2021-01-11 19:56:24 +00:00
Ethan Nicholas
6f4eee21ca Break SkSLInliner mangling out into a separate class
Change-Id: If0300761153d37b026fdc7756018c239ea6ca7ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352505
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-01-11 19:55:04 +00:00
Leon Scroggins
ce73961a7d Silence SkCodecPrintf on Android
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>
2021-01-11 19:48:04 +00:00
John Stiles
5ede6e3657 Split convertIf into an AST part and IR part.
Change-Id: I14205773c5934cfc1896be48783818ff096e71c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352504
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-01-11 19:21:44 +00:00
Greg Daniel
52a7eca13d Disable vulkan discardable msaa on devices that showed no improvement.
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>
2021-01-11 19:07:04 +00:00
Weston Tracey
70577a0be4 Revert "[infra] Use Mac10.15.7 and xcode12.3 for all builds."
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>
2021-01-11 18:26:45 +00:00
Brian Osman
7ff897ae99 Add release notes summarizing breaking changes to SkRuntimeEffect
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>
2021-01-11 18:25:39 +00:00
John Stiles
74192fde0d Migrate constant folding tests into a separate directory.
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>
2021-01-11 18:05:18 +00:00
Mike Reed
b869916c01 Remove obsolete flag SK_SUPPORT_LEGACY_ASYNCRESCALE_QUALITY
Bug: skia:7650
Change-Id: I005222d977df769915812d45b5151817fbb88c3b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352498
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-01-11 18:02:07 +00:00
Jim Van Verth
ea4aa397df Add SkShadowUtils::GetLocalBounds.
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>
2021-01-11 17:53:47 +00:00
Tyler Denniston
0a145b77f7 [svg] Compute and use filter primitive subregion
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>
2021-01-11 17:42:57 +00:00
John Stiles
dc8ec31ce5 Move constant folding to a separate file.
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>
2021-01-11 17:33:47 +00:00
Robert Phillips
eb54bb51b1 Reflect the DDLTask's ref on its target in its factory
Change-Id: I8eec3b816ee422922f1205b0eb9dca30cd3d00c9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/352119
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-01-11 16:09:07 +00:00
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