Commit Graph

54181 Commits

Author SHA1 Message Date
Chris Dalton
fd708655ae Reland "Add tooling support for dmsaa"
Reland 188443be8d without the DMSAA bots
to ensure nothing else changes.

Original change's description:
> Add tooling support for dmsaa
>
> Adds a "fAlwaysAntiAlias" flag to GrContextOptions that can be set from
> tooling code. When dmsaa is set, SkGpuDevice draws everything
> antialiased. Adds new "gldmsaa" and "glesdmsaa" configs and creates bots
> to run them.
>
> Bug: skia:11396
> Change-Id: I165e89434b733f7b02312cea0e6649812528083b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384936
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com

Bug: skia:11396
Change-Id: Icb45097e0a34543dc577fa32f19a692e90643a35
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386338
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-03-18 04:57:10 +00:00
Mike Reed
1c22e62b71 faster layout
Change-Id: If058b818048ee2cd6ade2a160d72beaae50bed2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385162
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-03-18 01:19:00 +00:00
Chris Dalton
22dd57b82c Revert "Add tooling support for dmsaa"
This reverts commit 188443be8d.

Reason for revert: It looks like non-dmsaa bots might have been
affected. Let's land first without the new bots to make sure nothing
else changes.

Original change's description:
> Add tooling support for dmsaa
>
> Adds a "fAlwaysAntiAlias" flag to GrContextOptions that can be set from
> tooling code. When dmsaa is set, SkGpuDevice draws everything
> antialiased. Adds new "gldmsaa" and "glesdmsaa" configs and creates bots
> to run them.
>
> Bug: skia:11396
> Change-Id: I165e89434b733f7b02312cea0e6649812528083b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384936
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,csmartdalton@google.com,michaelludwig@google.com

Change-Id: Ib805b417ebd34d1fad79e0e1fe625765ee487f65
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11396
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386336
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Auto-Submit: Chris Dalton <csmartdalton@google.com>
2021-03-17 23:36:12 +00:00
John Stiles
3150839b59 Disable CommaSideEffects test on GPU.
This test causes the Adreno 330 driver to crash, and does not pass on
Quadro P400 in wasm. The CPU test confirms that we can get it right,
even if not all drivers do.

Change-Id: I5ffb72ac647a49dab7130ab2c6e94f587ded6cf9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386216
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-03-17 21:56:00 +00:00
John Stiles
958f4b5d43 Run finalizeFunction before creating a FunctionDefinition.
Previously, finalizeFunction took the FunctionDefinition as its input.
This change makes it possible to calculate statistics in
finalizeFunction, such as "how many return statements exist in this
function?" and incorporate that data in the FunctionDefinition at
make_unique time.

Change-Id: I72bb67c802f5416588a5516dfcb61aa56ccf9684
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386057
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-03-17 21:49:30 +00:00
Herb Derby
2e0b5bbf40 introduce a direct to GrAtlasTextOp text drawing system
By pass the GrTextBlobCache, and create the op directly, with
the op owning the GrAtlasSubRun.

The new types of SubRuns have the GrAtlasTextOp's Geometry
embedded in them because there is a 1-to-1 correspondence
between the SubRun and the Geometry.

There is a lot of duplicate code. I wanted to keep the
implementation similar before I started top optimize
the direct code path.

Change-Id: I86162a527613e092c184932f4496f59c07793d55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/336445
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-17 20:46:31 +00:00
John Stiles
8937cd43d3 Revert "Add 'kOnlySingleReturn' complexity type to the Inliner."
This reverts commit 99b2d04d31.

Reason for revert: no benefit

Original change's description:
> Add 'kOnlySingleReturn' complexity type to the Inliner.
>
> This can be used in followup CLs to test various forms of inliner
> simplification. (More info: http://go/optimization-in-sksl-inliner )
>
> Change-Id: Icd12a1ae1481c9aeacf3f11e85872fecfa972ec3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384836
> 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>

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I1be7e0b08cf1c908823784c836c1fd680dfbd6f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386098
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-17 20:19:37 +00:00
John Stiles
28257dba55 Code cleanup: Simplify redundant code in Inliner.
Due to ongoing simplifications, the code had two variables that always
referred to the same object (inlineStatements, inlinedBlockStmts) and
reserve_back was called on it twice. The amount of space being reserved
was also wrong, as it accounted for out-param writebacks, which are no
longer supported.

We now only have one name for it, and reserve all the space we need the
first time.

Change-Id: If7b52ff8cef5bc7d4610384b8362f8a6a420f2ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385937
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-17 20:07:01 +00:00
Tyler Denniston
94c6b30728 Revert "Add SVG to default modules list"
This reverts commit 579728eb19.

Reason for revert: breaking shared release build on Windows

Original change's description:
> Add SVG to default modules list
>
> This enables SVG to build in official builds.
>
> Change-Id: I4f64109983216baf9663061e23cc3757292ff448
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386096
> Reviewed-by: Florin Malita <fmalita@google.com>
> Commit-Queue: Tyler Denniston <tdenniston@google.com>

TBR=fmalita@chromium.org,fmalita@google.com,tdenniston@google.com

Change-Id: I8547de488c56fb3e670d148287a8b6bf005f631b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386156
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2021-03-17 19:47:42 +00:00
Leon Scroggins
d5e94d90e8 Move skbug5883.gif to a better test
Bug: skia:11754

This image is invalid - SkCodec draws *something* but it's not
particularly meaningful. Remove it from our CodecSrc tests and add it to
BadImage tests so that we still verify we don't crash (etc) but we no
longer expect to be able to draw it using the platform generator.

Change-Id: I4781d645896d9f01afbd70fb0c5acfd262dd3169
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385880
Commit-Queue: Leon Scroggins <scroggo@google.com>
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2021-03-17 19:44:10 +00:00
Tyler Denniston
579728eb19 Add SVG to default modules list
This enables SVG to build in official builds.

Change-Id: I4f64109983216baf9663061e23cc3757292ff448
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386096
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2021-03-17 18:28:30 +00:00
Mike Reed
fc32405ff2 Revert "Revert "Add bench for skparagraph""
Fix: check for successful fParagraph creation

This reverts commit ead52dc068.

Change-Id: Id122877935affaaa33ac791e6c5b69c571267adf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385879
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-17 18:05:10 +00:00
John Stiles
bff24abab8 Disallow inlining a function with out-parameters.
It is difficult to do this both efficiently and correctly while honoring
GLSL semantics (which require the lvalues to be kept distinct, even when
they point to the same variable). We could make it work by making copies
of every out parameter in each direction (going in for inouts, and
coming out for outs and inouts).

However, this could be self-defeating if it makes it harder for the
driver to track variable lifetimes. Simply opting out of inlining these
functions entirely seems like the best tradeoff; let the driver optimize
them if it can, and we can enjoy reduced complexity in the SkSL inliner.

Change-Id: I62f7b4550cc181cfe789e4f2ff4e408ba1baf9cb
Bug: skia:11326
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370257
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-17 18:04:00 +00:00
Greg Daniel
b73f737aae Fix setting of new layout state during flush.
If there was "newState" passed in by the client during a flush we were
setting that state but then also changing it for present right after.
We don't support having this newState and present at the same time so
this was clearly a bug.

Change-Id: Ia5101994c11ef9c40ee7b7d9bac8150ffc242567
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385881
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-03-17 16:57:10 +00:00
Ethan Nicholas
e0707b7075 No longer passing the results of OpAccessChain to function calls
It turns out it is not legal to pass the results of OpAccessChain as a
function argument, for... reasons. This CL switches us over to passing
the argument via a temp variable instead.

Bug: skia:11748
Change-Id: Ib5e86c1d000655ebd7bb62ceea6a27b823808645
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385936
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-03-17 16:37:00 +00:00
John Stiles
dc20847579 Disallow inlining functions containing early returns.
This allows us to remove 100 LOC from the inliner and is very unlikely
to affect any existing benchmark. We don't have any evidence to support
the idea that a one-iteration `for` loop with `continue`-based exits
will be any faster than a standard function call on any existing GPU.
Our fragment processors are generally written to avoid early returns,
in large part to avoid hitting this path.

This drastically impacts BlendEnum.sksl (which can no longer flatten out
a switch over every blend function in SkSL) but is otherwise a wash.

See: http://go/optimization-in-sksl-inliner suggestion 4(a)

Change-Id: I1f9c27bcd7a8de46cc4e8d0b9768d75957cf1c50
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385377
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-03-17 16:29:00 +00:00
Chris Dalton
188443be8d Add tooling support for dmsaa
Adds a "fAlwaysAntiAlias" flag to GrContextOptions that can be set from
tooling code. When dmsaa is set, SkGpuDevice draws everything
antialiased. Adds new "gldmsaa" and "glesdmsaa" configs and creates bots
to run them.

Bug: skia:11396
Change-Id: I165e89434b733f7b02312cea0e6649812528083b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384936
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-03-17 15:58:40 +00:00
Adlai Holler
4cfbe536c7 Add a shell GrResourceAllocator::Register class
The vision here is for Register to be a not-yet-allocated
surface, so that we can allocate Registers, then check
the memory consumption of that allocation before committing
to it.

Bug: skia:10877
Change-Id: I06cd3a66b9794b702bfd08ab30c644d0d2f2c945
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385496
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-17 15:38:40 +00:00
Chris Dalton
180b4a1422 Update tooling code to store surface flags instead of "useDIText"
Change-Id: I4556a6222f358c4a853318703a406caea65d0fd5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385736
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-03-17 15:09:30 +00:00
John Stiles
5b408a3c99 Speed up program visitors in the Inliner.
They don't inspect Expressions at all, but by default, a ProgramVisitor
will completely traverse every Expression. This change improved local
runs of nanobench on sksl_large by ~7%.

Change-Id: I7604ffa220c6081c3cd39b5a22520fb41421fcba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385878
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-17 14:51:36 +00:00
John Stiles
2810beed23 Improve do-while test in CanExitWithoutReturningValue.
This put the coverage for do-while loops on par with for loops.

Change-Id: I53e0d733edd02a6a139792a8d74c68116453e5ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385500
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-17 14:50:56 +00:00
John Stiles
2558c468cc Add Type::isVoid and make void a distinct type-kind.
This makes it easier and faster to check for void types, especially
when you don't have a Context.

`Type::isOpaque` would previously return true for void, and this CL
preserves that behavior to avoid changing the meaning of existing code.

Change-Id: I6e1699dd8daee4c5fa8cf4746bab84c1d3fc15d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385499
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-17 13:58:56 +00:00
skia-autoroll
0d1cf35dae Roll Dawn from 8c40cad1c92d to 29d74454b844 (18 revisions)
https://dawn.googlesource.com/dawn.git/+log/8c40cad1c92d..29d74454b844

2021-03-17 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 169140117937 to 4f4534df3a53 (12 revisions)
2021-03-17 bclayton@google.com Migrate all tests over to using Default Struct Layout
2021-03-17 jiawei.shao@intel.com D3D12: Fix crash in the workaround for T2T copy issue on Intel GPUs
2021-03-17 rharrison@chromium.org Fix TimestampQueryTests
2021-03-16 rharrison@chromium.org Fix VertexStateTests
2021-03-16 rharrison@chromium.org Fix CopyTextureForBrowserTests
2021-03-16 rharrison@chromium.org Fix ComputeStorageBufferBarrierTests
2021-03-16 rharrison@chromium.org Fix ComputeDispatchTests
2021-03-16 rharrison@chromium.org Fix ComputeCopyStorageBufferTests tests
2021-03-16 cwallez@chromium.org Enable WGSL unconditionally in GN builds.
2021-03-16 cwallez@chromium.org Port invalid SPIR-V tests to SPVASM instead of GLSL.
2021-03-16 cwallez@chromium.org Port the MinimumBufferSizeValidationTests to WGSL.
2021-03-16 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from c205c28bc3dc to 169140117937 (18 revisions)
2021-03-16 bclayton@google.com Fix more WGSL vector constructors
2021-03-16 bclayton@google.com RenderPipelineValidationTest: Fix vector constructor
2021-03-16 cwallez@chromium.org Port D3D12 white box tests to WGSL.
2021-03-16 cwallez@chromium.org GN: Use updated path to libtint.
2021-03-16 cwallez@chromium.org Roll third_party/vulkan-deps/ 23a4efc36..105af117f (89 commits)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from c205c28bc3dc to 4f4534df3a53

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 cwallez@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: cwallez@google.com
Change-Id: I31b71b5c1257095b9108dd39a2482c3331ec1889
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385856
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-17 13:23:26 +00:00
Chris Dalton
4e94fd11cd Add a runtime effect gm for squircle clips
Change-Id: I6bf9cad2dd7095afbc153e90510dd0f7c398797d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/382936
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-03-17 06:09:35 +00:00
skia-autoroll
fa8133347c Roll Chromium from 1797c4602f46 to cfbcfd9c28db (492 revisions)
1797c4602f..cfbcfd9c28

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 michaelludwig@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: michaelludwig@google.com
Change-Id: I1953387128741c18c14972491498934fadc12727
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385756
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-17 05:30:35 +00:00
skia-autoroll
f573fb1559 Roll ANGLE from 687d3153197e to 27e12398b338 (7 revisions)
687d315319..27e12398b3

2021-03-16 ynovikov@chromium.org Remove usages of obsolete Mac bots
2021-03-16 jplate@google.com add cl entry points loader
2021-03-16 timvp@google.com Fix download_restricted_traces.py :: run_command()
2021-03-16 penghuang@chromium.org Disable timestamp queries for some GPUs on Android
2021-03-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 5cdf55ff2084 to 69b79eec6533 (1 revision)
2021-03-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from d70f9e670332 to 105af117f053 (3 revisions)
2021-03-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 1572b5ac9572 to cffad6044951 (442 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 michaelludwig@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: michaelludwig@google.com
Change-Id: Ib3d3ee7b893bb2156762820b02123db720b2a2ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385757
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-17 04:58:25 +00:00
skia-autoroll
ec3958c3f8 Roll SwiftShader from 69b79eec6533 to a0aeb64e01d7 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/69b79eec6533..a0aeb64e01d7

2021-03-16 capn@google.com Fix multiview renderpass queries

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 michaelludwig@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: michaelludwig@google.com
Change-Id: Ibeaaba55aa4afb26d68407abb85715d02cc0cde6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385776
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-17 04:57:25 +00:00
Ravi Mistry
3aff6ae597 Replace crashing pokemonwiki with intelwiki
intelwiki has html tables to test

Cq-Include-Trybots: luci.skia.skia.primary:Housekeeper-Nightly-RecreateSKPs_DryRun
Bug: skia:11354
Change-Id: I84fb2b91ffd7b28b46bb5d303f546f193a9883d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385498
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-16 22:30:25 +00:00
Ethan Nicholas
961d944648 SkSL DSL now uses node pooling
Change-Id: I6404cea5267b5da5a5948f0d6246688fef1fe4c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383758
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-03-16 21:18:55 +00:00
Adlai Holler
cc119d9dbf Make getUniqueKey virtual on GrSurfaceProxy
This lets GrResourceAllocator stop worrying about whether
proxies are texture-proxies or not.

Bug: skia:10877
Change-Id: Iccc4505bdc9d5c74f6ab7f93c26df5f913fff339
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385497
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2021-03-16 20:25:05 +00:00
Adlai Holler
1143b1b4bb Determine recylability at expire-time in GrResourceAllocator
The detachAll function was unused before this CL. Gone!

This also removes the late-check of canSkipResourceAllocator
on the premise that, these days it seems impossible for that
value to change between addInterval, where the first check is,
and assign, where the current check is.

All path renderers work on my machine, will also run this against
the Nexus7 and AndroidOne bots.

Bug: skia:10877
Change-Id: Ife63ca2fb8e7c94c2053dbc10c42df18c48c0c20
Cq-Include-Trybots: luci.skia.skia.primary:Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Debug-All-Android,Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android,Test-Android-Clang-Nexus7-GPU-Tegra3-arm-Debug-All-Android,Test-Android-Clang-Nexus7-GPU-Tegra3-arm-Release-All-Android
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385278
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-16 20:17:05 +00:00
skia-autoroll
9a16c13249 Roll skcms from 4e5402c56973 to 57e818ae88b7 (1 revision)
https://skia.googlesource.com/skcms.git/+log/4e5402c56973..57e818ae88b7

2021-03-16 brianosman@google.com Suppress psabi warning on Clang, too

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC michaelludwig@google.com,mtklein@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: luci.chromium.try:linux-blink-rel
Tbr: michaelludwig@google.com,mtklein@google.com
Change-Id: I19bd2ba14092601fce14da8ae6b2b0ea9ef6574d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385536
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-16 20:09:24 +00:00
John Stiles
2654187396 Eliminate unused local variables during SkSL optimization.
This can eliminate const variables which have been completely folded
away, unnecessary synthetic variables created during codegen/inlining,
or code that simply didn't need to exist at all.

Change-Id: I37a65e455e6527a6a6c2f4dde918f48d84dc2638
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383496
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-16 17:22:53 +00:00
John Stiles
f10eff363b Fix misdetection of dead global variables.
A global variable should be considered "dead" if it's never written and
never read. The previous code checked if it was never written OR never
read, which is not the same.

This would generate GLSL/Metal that didn't compile. In SPIR-V, it would
SkASSERT, then crash, during codegen. The fuzzer was able to detect the
SPIR-V issue, but it was wrong in all three cases.

Change-Id: Id59a2499eb5baa3839b93826bfbc24191bfd490b
Bug: oss-fuzz:32005
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385280
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-03-16 16:02:03 +00:00
Herb Derby
3230255e06 Reland "remove the OpMemoryPool"
Add ClearCache() {} to the non-caching case.

This is a reland of cfdae5a56c

Original change's description:
> remove the OpMemoryPool
>
> Change-Id: I987384f8009445ba8308e85b75daf4880a8d36be
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383957
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

Change-Id: I03f80ba61f5643c40f812a9687b12a5d2aa663b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385276
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-03-16 14:49:28 +00:00
Michael Ludwig
34271a3455 Revert "Merge MSL vertex and fragment shaders into one string before compiling."
This reverts commit 30980650f7.

Reason for revert: iphone6 on ios12 fails to find vertexMain

Original change's description:
> Merge MSL vertex and fragment shaders into one string before compiling.
>
> Invoking the MSL compiler seems to have a significant startup cost.
> So rather than running it twice -- one each for the vertex and fragment
> shaders -- this CL merges them into a single string using namespaces,
> thus allowing a single compiler invocation.
>
>
> Bug: skia:11389, skia:11392
> Change-Id: I49facf995cc7f7529e61dc9d2af194a00ed1ccb6
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384700
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

TBR=jvanverth@google.com,brianosman@google.com,johnstiles@google.com

Change-Id: Ifa96e7a370264f878fb0413c3acbb7c505c47905
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11389
Bug: skia:11392
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385238
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-03-16 14:46:05 +00:00
Michael Ludwig
bf58add00e Revert "Only include header once in combined MSL shader."
This reverts commit e7a8f85e4f.

Reason for revert: must revert dependent CL

Original change's description:
> Only include header once in combined MSL shader.
>
> Bug: skia:11389
> Change-Id: I3e24dcaa2cfeddc7efd7985f9f42a59bfc8175f2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385137
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

TBR=jvanverth@google.com,johnstiles@google.com

Change-Id: I7a886b6c57a666e54e65365e41dcb57bd9ab4ba6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11389
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385237
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-03-16 14:44:25 +00:00
Adlai Holler
539db2ff3c Migrate GrResourceAllocator::fIntvlHash to SkTHashMap
SkTDynamicHash is semi-deprecated and this simplifies life a little bit.

Bug: skia:10877
Change-Id: Ie64f476fcab0a53d8cb8044fe4c68571bc0d2a66
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384857
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2021-03-16 14:37:53 +00:00
John Stiles
d2702fa155 Update SkSL benchmark code to match actual Skia output.
Our benchmarks had drifted away from actual codegen in several ways, and
were no longer representative of actual output. In particular, every
function in the existing benchmarks used a scratch `_output` variable
which would make it ineligible for return-statement-only inlining.

Updated the tests to match modern codegen. `small` and `large` use the
same sources as before. The code from `medium` is older and had diverged
quite far from today's output; I could not find a representative code
snippet at all. It has been replaced with SkSL of roughly similar
complexity.

Change-Id: Iadd32cbb6725554355ddfe384ce538f3dc49aca3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385160
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-16 13:59:23 +00:00
Brian Osman
8c595fed7c Change sksl tests to avoid SPIR-V validation errors
'in' variables without locations aren't allowed. Use uniforms instead.

Bug: skia:11738
Change-Id: Ic066106deb7409cff154b4be7cfb3e03a7025c7d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385000
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-03-16 13:39:53 +00:00
Ravi Mistry
13646a8900 Set "binary_size_${source}" output.property on Build-Stats-* bots
Setting multiple "binary_size_plugin" properties were overriding each
other.

Bug: skia:11744
Change-Id: Ie57b6c524d870f6efe4a05d2a69f5ae660dfe475
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385138
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-03-16 12:56:48 +00:00
skia-autoroll
242ae6c45e Roll SwiftShader from 5cdf55ff2084 to 69b79eec6533 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/5cdf55ff2084..69b79eec6533

2021-03-15 adelva@google.com Disable named mmap usage for host/ndk Android

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 michaelludwig@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: michaelludwig@google.com
Change-Id: Id6bab970da1d24716f73d5020dba90c78ec92dc7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385203
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-16 05:09:52 +00:00
skia-autoroll
16720fa518 Roll Chromium from 1f9e430e837e to 1797c4602f46 (420 revisions)
1f9e430e83..1797c4602f

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 michaelludwig@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: michaelludwig@google.com
Change-Id: Ic9a884d7dd5acdafc01a7d56e2618e0d9087b225
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385202
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-16 05:06:32 +00:00
skia-autoroll
0b16892fa3 Roll ANGLE from cd881848f3bb to 687d3153197e (5 revisions)
cd881848f3..687d315319

2021-03-16 timvp@google.com Skip plants_vs_zombies_2 on Windows+AMD
2021-03-15 james@clarkezone.io Reland "Add support for building in Flutter Windows UWP configuration"
2021-03-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from ea8c29e1ee20 to d70f9e670332 (4 revisions)
2021-03-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 3c4fd15fb075 to 5cdf55ff2084 (6 revisions)
2021-03-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from e90a7a4d378a to 1572b5ac9572 (403 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 michaelludwig@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: michaelludwig@google.com
Change-Id: Ic1f3632261f3fab6663f2971c55778dada3b4482
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385082
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-16 05:00:52 +00:00
skia-autoroll
b94f5af2ce Roll Dawn from c357bcad5f7d to 8c40cad1c92d (4 revisions)
https://dawn.googlesource.com/dawn.git/+log/c357bcad5f7d..8c40cad1c92d

2021-03-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from d614dd5d12a4 to c205c28bc3dc (2 revisions)
2021-03-15 cwallez@chromium.org Fix the vertex attribute offset alignment rule.
2021-03-15 cwallez@chromium.org Remove usage of deprecated std::codecvt
2021-03-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 717fbbf18387 to d614dd5d12a4 (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 717fbbf18387 to c205c28bc3dc

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 cwallez@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: cwallez@google.com
Change-Id: I42bd99d313ce1d358c0994728a256749451ae20e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385201
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-16 04:55:52 +00:00
Mike Reed
ead52dc068 Revert "Add bench for skparagraph"
This reverts commit 1aa25c3217.

Reason for revert: crashing on windows bots

Original change's description:
> Add bench for skparagraph
>
> Change-Id: Ib33e06527660b33984b9171f51026a935ef99f79
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385156
> Reviewed-by: Julia Lavrova <jlavrova@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=reed@google.com,jlavrova@google.com

Change-Id: I7b8524c449f3c484b777af31f83e1372a689de55
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385163
Reviewed-by: Mike Reed <reed@google.com>
2021-03-15 22:55:40 +00:00
Mike Reed
1aa25c3217 Add bench for skparagraph
Change-Id: Ib33e06527660b33984b9171f51026a935ef99f79
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385156
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-15 22:32:16 +00:00
John Stiles
132cfdd49d Revert "Inline functions of the form 'return (expr)' only."
This reverts commit 92748af1a5.

Reason for revert: SkSLCommaSideEffects_GPU crashing on Android

Original change's description:
> Inline functions of the form 'return (expr)' only.
>
> This drastically reduces the number of functions which we allow to be
> inlined. If this change does not hurt our performance, it will allow us
> to trivially remove hundreds of LOC. All current data leads us to
> believe that it may affect the Mali 400 but is highly unlikely to change
> results on any other device in the tree.
>
> More info: http://go/optimization-in-sksl-inliner
>
> Change-Id: Ia6b706742ce5407453e0e697b6c1f9201084c0e8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384858
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

Change-Id: I6a670dacaa58fe3386ff50375ac6d1cac4fd7f2c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385161
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-15 22:08:48 +00:00
Jim Van Verth
e7a8f85e4f Only include header once in combined MSL shader.
Bug: skia:11389
Change-Id: I3e24dcaa2cfeddc7efd7985f9f42a59bfc8175f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385137
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-03-15 21:42:06 +00:00
Brian Salomon
f970746dd2 Add GM that tests GPU blur with very large sigmas.
GM initially does not draw correctly because of large sigma drop outs.

Make SkGpuBlurUtils::GaussianBlur use the correct translation when both
sigmas are (effectively) 0.

Bug: skia:11735
Change-Id: I674c63cc57b56995a7ade4c098bb997bd5baee8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383703
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-03-15 21:40:26 +00:00