Commit Graph

54209 Commits

Author SHA1 Message Date
Robert Phillips
31798c2796 Remove NVPR
Bug: skia:11760
Change-Id: Ie0fc1aaa3120b37b1d452fdc9a8b5cb91b6ffe1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386559
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-03-19 12:26:38 +00:00
skia-autoroll
15206fb30d Roll Chromium from 6b48f9230a5e to 23141e38f154 (452 revisions)
6b48f9230a..23141e38f1

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: Ie08d9cd7607831256aedcc2fb5d1a55df56382e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386996
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-19 05:21:48 +00:00
skia-autoroll
5ef1aa3921 Roll Dawn from bff9d3a3574c to 6a366e3f47d4 (5 revisions)
https://dawn.googlesource.com/dawn.git/+log/bff9d3a3574c..6a366e3f47d4

2021-03-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 399b88845cce to 9970ec63ca8b (5 revisions)
2021-03-18 rharrison@chromium.org Fix Storage Buffers in WGSL tests & examples
2021-03-18 cwallez@chromium.org Update samples to the new RenderPipelineDescriptor
2021-03-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 4f4534df3a53 to 399b88845cce (13 revisions)
2021-03-18 cwallez@chromium.org Skip deprecation warning expectations in RenderPipelineValidationTests

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

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: I5147dbeec264b8dd0a7ceafd8bd3b817112fa224
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386754
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-19 05:11:48 +00:00
skia-autoroll
8e9c0c5c9f Roll ANGLE from 39296f396f5b to ba0bd78574b2 (7 revisions)
39296f396f..ba0bd78574

2021-03-19 jiajia.qin@intel.com Fix the assert error and inbalence parens for SSBO
2021-03-18 jmadill@chromium.org Vulkan: Use packed enum map for descriptor set index.
2021-03-18 jmadill@chromium.org Vulkan: Clean up shader buffer DS allocation.
2021-03-18 cclao@google.com Vulkan: Move CommandBufferHelper::reset() closer to constructor
2021-03-18 cclao@google.com Vulkan: Test render and sample the same texture but with different LOD
2021-03-18 gert.wollny@collabora.com scripts: Ignore "rapidsjon/..." when checking includes
2021-03-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 60fea25f23e6 to e7ef5f7d0368 (472 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
Test: Test: FramebufferTest_ES3.SampleFromAttachedTextureWithDifferentLOD
Change-Id: Ie4f7f24acffe694ad14c41958fb4a65cada012a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386753
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-19 05:04:28 +00:00
John Stiles
7bba1f55e8 Revert "Added more RelaxedPrecision decorations"
This reverts commit ab52d95634.

Reason for revert: didn't intend for this to submit, oops

Original change's description:
> Added more RelaxedPrecision decorations
>
> Change-Id: I3814e7144f22c8f838082df6ed1f41119efb2ec2
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385157
> Commit-Queue: John Stiles <johnstiles@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>

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

Change-Id: I8190069d8a428e541782cb2b47ec280f4c7e5686
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386956
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-19 03:01:50 +00:00
Ethan Nicholas
ab52d95634 Added more RelaxedPrecision decorations
Change-Id: I3814e7144f22c8f838082df6ed1f41119efb2ec2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385157
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-03-19 03:01:07 +00:00
Mike Reed
10a5ff2cac Must pass filtering to picture shader
Change-Id: I820867df80daa1594d6202cad5e8e95c060293fe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386838
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-03-18 22:18:47 +00:00
John Stiles
95eca3e051 Optimize planar conversion in YUV to RGB FP.
Previously, we would copy all the plane data into an array of half4s,
then copy and swizzle them back out. This change writes the results
directly into the result color, and doesn't require any temporary
variables.

(Motivation: I noticed this shader in some of the Mali-400 regression
cases when testing with inliner-off, so I'm looking for cases where this
code could be simplified.)

Change-Id: I7d79ad519fb53f7d8e33c4d545e8a197023cec5b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386836
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-03-18 21:00:49 +00:00
Adlai Holler
9f358825f9 Revert "Do register allocation in GrResourceAllocator"
This reverts commit c6f78ff55d.

Reason for revert: Broke Chrome roll and MSAN

Original change's description:
> Do register allocation in GrResourceAllocator
>
> This lets us plan out the allocation of resources without
> actually committing to the resulting plan. In the future,
> the user will be able to do the register allocation, then
> query the estimated memory cost, and either commit to
> that allocation or try a different order of operations.
>
> Bug: skia:10877
> Change-Id: I34f92b01986dc2a0dd72e85d42283fc438c5fc82
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386097
> Commit-Queue: Adlai Holler <adlai@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

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

Change-Id: I7492c12b8188ed22c3cd80fd4068da402d8d3543
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10877
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386856
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2021-03-18 20:41:18 +00:00
Michael Ludwig
f96645dd9e Textdiff device bounds match onCreateDevice request
SkDevice::getGlobalBounds() transforms the device's local clip bounds
by its device-to-global matrix. The SkDevice constructor expects bounds
to already be in its own coordinate system (SkNoPixelsDevice ought to
just take dimensions really).

For now, all device-to-global transforms are integer translates, so
this didn't dramatically change the bounds but moving forward,
image filters may cause these transforms to include rotations, skew,
and perspective (once https://skia-review.googlesource.com/c/skia/+/334040
lands).

This change to TrackingDevice is lifted from the above CL since it
may play a role in addressing fixes for chromium:1187246, and it fixes
strike cache misses from the canary runs of the above image filter CL.

Bug: 1187246, skia:11240
Change-Id: I67c8446ddbf5aaed144d439ab8d1e7998e9bfa01
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386696
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-03-18 19:20:36 +00:00
Tyler Denniston
333b938c95 Reland "Add SVG to default modules list"
This is a reland of 579728eb19

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>

Change-Id: I8bb93f3881e69f7b4461981a4f0f95a87fed0976
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386557
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2021-03-18 18:37:56 +00:00
John Stiles
d51c979d35 Take ownership of Strings (not String pointers) in the symbol table.
Every caller of SymbolTable::takeOwnershipOfString was allocating a
unique_ptr<String> instead of just moving the String object directly.
This was important, as the SymbolTable needed to return a stable String
pointer to the caller, and vector<String> is allowed to move its
elements around when it is resized.

On the other hand, deque<String> promises pointer stability even after a
resize. Replacing the vector with a deque lets us avoid allocating an
extra String object every time we call takeOwnershipOfString.

Change-Id: I8947c0900fd355c940b046a52a4c1762465b55d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386596
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-18 18:35:16 +00:00
John Stiles
c8bcef1b92 Replace printf with std::to_string.
Using the dedicated function is slightly faster than calling snprintf
and is documented to behave the same.

Change-Id: I9bc64066b55cf74d2369c531283c68e05bcc402c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386676
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-18 18:00:56 +00:00
Adlai Holler
c6f78ff55d Do register allocation in GrResourceAllocator
This lets us plan out the allocation of resources without
actually committing to the resulting plan. In the future,
the user will be able to do the register allocation, then
query the estimated memory cost, and either commit to
that allocation or try a different order of operations.

Bug: skia:10877
Change-Id: I34f92b01986dc2a0dd72e85d42283fc438c5fc82
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386097
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-18 17:45:46 +00:00
Robert Phillips
8b87f4ea70 Disable NVPR by default on the bots
Bug: skia:11760
Change-Id: I1baaec529b47954018d000856912f121b4f1454a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386597
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-03-18 17:19:56 +00:00
Mike Reed
adbaeaa365 Cache/inline ishardbreak
~ 5% improvement

Change-Id: I6411bce47301af038202cf2de408e52e43e660cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386563
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-18 16:17:26 +00:00
Herb Derby
7b39c3d1ae print telemetry for diagnosing text drawing problems in Chrome
Dump information about the Difference, Serialization,
Deserialization, and Drawing phases of Renderer/GPU text
drawing.

Add the following to your args.gn to turn on telemetry.
extra_cflags = ["-D", "SK_TRACE_GLYPH_RUN_PROCESS"]

Change-Id: If435257574b74910822dbb90cc9dbca311578fe8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385696
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-03-18 15:50:16 +00:00
Adlai Holler
4dff68a166 Remove render_target_binds GPU stat
The render_passes GPU stat is backend-agnostic and gets
more to the point of what we're trying to measure. It's verified
to be stable across configs (e.g. non-msaa vs msaa) and
correctly shows effects of reducesOpsTaskSplitting.

Rob and I have an alert on this stat from perf.skia.org

Bug: skia:10877
Change-Id: I71520cf8fd311545faf05ee5c55db185ed48c6a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386561
Auto-Submit: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-18 15:42:10 +00:00
Ethan Nicholas
8f352ce20c Revert "Revert "Refactored SPIR-V RelaxedPrecision handling""
This reverts commit a9c187e5cc.

Change-Id: Icbfb8abdfc67fc2e6428d97a6cdede2726fb56e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385596
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-03-18 15:01:15 +00:00
Herb Derby
662622e5e6 reduce record time allocator's initial block size
The record time allocator's initial block size is 12,800
(100 * sizeof GrPipline) bytes.
This means that the fibonacci progression grows rapidly to large
block sizes. This is causing out of memory errors in Chrome and
Android as they try to allocate very large blocks.

Reduce the initial allocation to 1024 bytes to reduce growth
rate.
F   *1,024    *12,800
=====================
0    1,024     12,800
1    1,024     12,800
2    2,048     25,600
3    3,072     38,400
4    5,120     64,000
5    8,192    102,400
6   13,312    166,400
7   21,504    268,800
8   34,816    435,200
9   56,320    704,000
10  91,136  1,139,200
11 147,456  1,843,200

Bug: b/182959903
Bug: chromium:1188071

Change-Id: I5ef1c736efb42b2bccd78549d129154c0857bbca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385938
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-18 14:28:20 +00:00
John Stiles
30fce9c2ab Track variable writes via ProgramUsage instead of ProgramVisitor.
This replaces a potentially expensive tree walk with a map lookup. It
should speed up the inliner (on sksl_large) by about 4%, and speed up
the benchmark overall by >1%.

Change-Id: I68ef492d2aba6303753fad01dcbef1eaffb7a6f9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386556
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-18 14:23:50 +00:00
John Stiles
39465b8f95 Ensure function-parameter variables exist in the variable usage map.
They aren't otherwise declared, but ProgramUsage::get() should be able
to find them, even if they are unread and unwritten.

Change-Id: I7200212945f9360e63b3108ab60420bcae8192c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386558
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-18 14:23:10 +00:00
Brian Osman
7a20b5c9de Update shader and pipeline creation trace event categories
All of these events use "skia.shaders" now, so that clients can enable
them independent of any other skia events.

For new APIs, add new trace events to cover (potentially) long API
calls, and give better visibility into how pipeline creation breaks
down. GL still has a few extra events around caching, but the vagaries
of what those mean (depending on what's in the cache) probably make them
more confusing than useful, so I didn't try to replicate them.

Bug: skia:11360
Change-Id: I97c7e89ad1f2f05d7b90bd783a20a6b8c2036e8d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386157
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-03-18 14:18:10 +00:00
Chris Dalton
8151337c41 Add DMSAA bots
TBR=bsalomon@google.com

Bug: skia:11396
Change-Id: Ie2e0de141ceb3b2439b7b25091ddc1ab1e4588bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386436
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-03-18 07:49:00 +00:00
skia-autoroll
a3c0f41371 Roll Chromium from cfbcfd9c28db to 6b48f9230a5e (480 revisions)
cfbcfd9c28..6b48f9230a

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: Ib628411a318c3fa59036e1eed6d7e2400d3aab1b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386267
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-18 06:11:30 +00:00
skia-autoroll
8ea51e4df9 Roll Dawn from 29d74454b844 to bff9d3a3574c (5 revisions)
https://dawn.googlesource.com/dawn.git/+log/29d74454b844..bff9d3a3574c

2021-03-18 bajones@chromium.org Updating end-2-end tests to use new RenderPipelineDescriptor format
2021-03-18 enga@chromium.org Skip create render pipeline deprecation warning expectation in UnsafeAPIValidationTests
2021-03-17 cwallez@chromium.org ValidationTest: correctly assert deprecation warnings are emitted.
2021-03-17 bajones@chromium.org Update majority of unittests to use RenderPipelineDescriptor2
2021-03-17 shrekshao@google.com API evolution GPUExtent3D.depth -> depthOrArrayLayers (Step 1)

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: Ie24707e1ac88a2c14363bfeec2b134061e3c7e98
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386268
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-18 05:53:30 +00:00
skia-autoroll
c995e6596f Roll ANGLE from 27e12398b338 to 39296f396f5b (9 revisions)
27e12398b3..39296f396f

2021-03-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 105af117f053 to 6ea3512e6349 (13 revisions)
2021-03-18 jdarpinian@chromium.org Fix immutable texture base level validation
2021-03-17 cnorthrop@google.com Tests: Add June's Journey trace
2021-03-17 jmadill@chromium.org Use bitset masks for active shader buffers.
2021-03-17 m.maiya@samsung.com Reland "Vulkan: Support EXT_sRGB_write_control"
2021-03-17 syoussefi@chromium.org Vulkan: Fix missing dirty bits for compute
2021-03-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 69b79eec6533 to a98fb3f8380a (2 revisions)
2021-03-17 xiaoxuan.liu@arm.com Reland "Add support for Linux GPU info with Vulkan backend"
2021-03-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from cffad6044951 to 60fea25f23e6 (481 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
Test: Test: angle_perftests --gtest_filter="*junes_journey*"
Change-Id: Ia0e52384077816f20facbd4270dff7be9a35c193
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386378
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-18 05:10:40 +00:00
skia-autoroll
5f1e0af0af Roll SwiftShader from a0aeb64e01d7 to a98fb3f8380a (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/a0aeb64e01d7..a98fb3f8380a

2021-03-17 swiftshader.regress@gmail.com Regres: Update test lists @ a0aeb64e

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: I1fdf32452740788afeaafca4d6ab53725ac90afd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386269
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-18 05:03:30 +00:00
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