Commit Graph

53058 Commits

Author SHA1 Message Date
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
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