Commit Graph

54341 Commits

Author SHA1 Message Date
skia-autoroll
4e51531239 Roll ANGLE from ba0bd78574b2 to 90cf278c3687 (10 revisions)
ba0bd78574..90cf278c36

2021-03-21 ianelliott@google.com Add multi-thread/context test for compute shaders
2021-03-20 capn@google.com Disable EGL_EXT_buffer_age for SwiftShader Vulkan
2021-03-19 cclao@google.com Vulkan: Add VUID-vkCmdDraw-None-04584 validation error to ignore list
2021-03-19 cclao@google.com Vulkan: Track images used for both attachment and sampler
2021-03-19 m.maiya@samsung.com Add isYUV to angle::Format
2021-03-19 cclao@google.com Vulkan: Defer color image layout changes at endRenderPass time
2021-03-19 geofflang@chromium.org D3D: Mark images dirty after recovering from storage
2021-03-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 6ea3512e6349 to 91a2a0b15f23 (6 revisions)
2021-03-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from e7ef5f7d0368 to c33e21cce932 (451 revisions)
2021-03-19 cnorthrop@google.com Tests: Add Ragnarok M: Eternal Love trace

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 reed@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: reed@google.com
Test: Test: angle_perftests --gtest_filter="*ragnarok_m_eternal_love*"
Change-Id: I076b45298a9bffdcb441f8dfd98e751f056ba8cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387603
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-22 04:59:28 +00:00
skia-autoroll
4bca96328e Roll Dawn from 6a366e3f47d4 to 8ac6a481a3ea (7 revisions)
https://dawn.googlesource.com/dawn.git/+log/6a366e3f47d4..8ac6a481a3ea

2021-03-21 cwallez@chromium.org Make CreateRenderPipelineAsync use Descriptor2
2021-03-20 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from bb5617f21ab4 to 00e823ec04d9 (2 revisions)
2021-03-19 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 9970ec63ca8b to bb5617f21ab4 (9 revisions)
2021-03-19 cwallez@chromium.org Revert "CopyTextureForBrowser: Support color format conversion"
2021-03-19 cwallez@chromium.org Port MultisampledRenderingTests to WGSL.
2021-03-19 shaobo.yan@intel.com CopyTextureForBrowser: Support color format conversion
2021-03-19 cwallez@chromium.org Fix incorrect WGSL u32 != i32 comparison in a test

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

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: I1be0e46403734c9f6bccb48aa8dbc0a6a7a1fd6c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387583
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-22 04:57:28 +00:00
Mike Reed
501ca219f6 Remove dead matrixfilter factory
Bug: skia:7650
Change-Id: I340d3072f23fc9ca275ac4b0f00919938b39b5dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387516
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-21 15:23:38 +00:00
John Stiles
1a4fae1a5f Revert "Performance experiment: Disable SkSL inliner in nanobench/skpbench."
This reverts commit 045d7513d7.

Reason for revert: experiment complete

Original change's description:
> Performance experiment: Disable SkSL inliner in nanobench/skpbench.
>
> This is a reland of 3f35ac10b4
>
> Time to run this experiment again.
>
> Original change's description:
> > Performance experiment: Disable SkSL inliner in nanobench/skpbench.
> >
> > This will allow us to measure the impact (positive or negative) of
> > inlining functions before submitting a shader to the driver.
> >
> > Change-Id: Icbd64096445a353187b30feea68573d89ca18664
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384317
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: John Stiles <johnstiles@google.com>
>
> Change-Id: I278a770d4129f4ad0bf867c33a01b49a88cea588
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387256
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

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

Change-Id: I54d417e65bd134dee72ff46e9331f8fabfc724df
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387536
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-21 14:30:49 +00:00
skia-recreate-skps
fcd3ae3684 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I750f40494f97bdab074264ec3acabe8d45e0f11c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387496
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-03-21 09:18:28 +00:00
Mike Reed
7db854c779 Hide getFilterQuality
Skia does not call set or get filter-quality any more
(except for legacy picture deserialization)

Change-Id: I504caf407ca68392481b771040e5d3280bf7da7f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387439
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-21 02:23:27 +00:00
Mike Reed
26265d2fea Remove dead references to filter-quality
Bug: skia:7650
Change-Id: I94e0ab4bbdf9602be7c107ffbc9c3ed527473c6f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387438
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-21 00:26:07 +00:00
Mike Reed
3469c0aec8 If no sampling is passed, assume NN for surface.draw
Change-Id: If79167e69ef5194b6a2e0abfd90e5f9c2b4cb377
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387436
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-20 21:48:16 +00:00
Mike Reed
12a75588e7 GrFPArgs no longer needs sampling
Change-Id: I20fc4b4c3d6997f3ebc1d6d0049447b348f8a110
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387416
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-20 17:33:56 +00:00
John Stiles
045d7513d7 Performance experiment: Disable SkSL inliner in nanobench/skpbench.
This is a reland of 3f35ac10b4

Time to run this experiment again.

Original change's description:
> Performance experiment: Disable SkSL inliner in nanobench/skpbench.
>
> This will allow us to measure the impact (positive or negative) of
> inlining functions before submitting a shader to the driver.
>
> Change-Id: Icbd64096445a353187b30feea68573d89ca18664
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384317
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

Change-Id: I278a770d4129f4ad0bf867c33a01b49a88cea588
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387256
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-20 15:10:16 +00:00
Mike Reed
7cee3efb6b FilterQuality should no longer be needed.
Start to clean up.

Change-Id: I6dea9344d8a19010d6e22ee8d0cd2b795910a82c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386843
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-20 14:30:06 +00:00
Mike Reed
4b76265c66 Client doesn't control sampling in restore
(in the future, we may determine need for more than NN)

Change-Id: Idf4318e67bf8201792cb0f6b307509fb81d90a23
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386799
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-20 14:18:36 +00:00
Chris Dalton
bf9c63b760 Don't fail clip atlas instantiation when the access is out of bounds
This means the draw is entirely clipped out, so we just don't even
create the FP to begin with.

Change-Id: I6d8a2a2e18be07c8a1408437c4bcc3d9349b77a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387057
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-20 01:35:04 +00:00
Herb Derby
965e444219 reduce overhead of littleRound
littleRound is used to round widths before a comparison with
maxWidth. The rounding only matters on a very small interval around
maxWidth. Take advantage of this fact to only do the expensive
rounding when close to maxWidth.

This is a 2-3% improvement.

Change-Id: If5b18ed4be56c1c8fa80b97d49930145d0f09b20
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386844
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-03-20 00:11:44 +00:00
Herb Derby
980fb4de3a move Run::calculateWidth to improve inlining
This exposes the implementation of calculateWidth to the
cluster building function. It improves performance by 2-3%.

Change-Id: I6be71ef2c9bdd4fb59531fc53cc3868434cba79d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387216
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-03-19 22:45:14 +00:00
Herb Derby
339f7ea5a0 templatize iterateThroughClustersInTextOrder
This allows iterateThroughClustersInTextOrder to inline, and allows
iterateThroughClustersInTextOrder to inline the visitor. This
results in a 2-3% speed up.

Change-Id: Iacc137145547dc44dfbbddf2fa340d2945089169
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386818
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-03-19 20:41:22 +00:00
Adlai Holler
7df8d22c40 Do register allocation in GrResourceAllocator (take 2)
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.

The difference between this and the original 286097 are that we sorted
fFinishedIntvls by increasing start instead of increasing end and we
use the GrUniqueKey.hash instead of the default crc hash.

Bug: skia:10877
Change-Id: Idc405e2b4532c4cd0ae4127210ba3b42de27bd46
Cq-Include-Trybots: luci.skia.skia.primary:Canary-Chromium,Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader_MSAN
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386888
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2021-03-19 20:05:52 +00:00
Mike Reed
80468375c0 Remove unused quality param for skvm program
No behavior/pixel differences expected.

Change-Id: I9916a74de5063fd81f78bc3744ed32460e12c656
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387236
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-19 19:18:56 +00:00
Brian Osman
73318b3583 Start adding SkSL/SkRuntimeEffect documentation
Aiming to describe the interesting ways that we diverge from GLSL,
focused on semantics, not syntax. Left a placeholder for coordinates,
putting together good examples for things takes time, so I want to land
this in pieces.

Preview: https://skia.org/user/sksl?cl=386797

Bug: skia:11763
Change-Id: I4608774ad2896b4f2bd386e7d03065e380945861
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386797
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-03-19 18:41:04 +00:00
Julia Lavrova
6147424288 Correct the line height
Bug: skia:11370
Change-Id: I72b4a53924d310a907d1851a56f3137dbca1cf6d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386859
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-03-19 18:26:12 +00:00
Herb Derby
79adde4046 allow Cluster::Cluster to inline
Move the ctor Cluster::Cluster into ParagraphImpl.cpp to allow
inlining. This results in about a 5% speed up using means.
        min     median  mean    max
before: 57.2µs  61.3µs  60.1µs  64.1µs
after:  55.8µs  58.4µs  57.3µs  59.4µs

Change-Id: Ie4cfcae9fde601ccf4a42aec69a853cc0bddb377
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386817
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-03-19 17:28:42 +00:00
John Stiles
b66645830d Only run the inliner one time.
This saves a significant amount of CPU time and, now that the inliner
can handle nested expressions, still inlines almost everything.

Change-Id: I8f198630fa9627bc433ef8fb72f6bcf94595cdaa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386917
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-19 17:02:21 +00:00
Mike Reed
225cdea5b6 Remove legacy support for inheriting sampling from the paint.
A follow-up CL can remove the filter-quality from onProgram.

Change-Id: I770e3b1fd0907bf3824ed402502fa67325a433d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/381799
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2021-03-19 16:17:42 +00:00
Chris Dalton
633b9f3cd5 Delete GrCoverageCountingPathRenderer::CropPath
The purpose of this method was to not allow FP values get too large for
the now-deleted coverage counting shaders.

Change-Id: I9f86c2adf64cc5e66ed9585d18945e8a2be35c34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387056
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-03-19 15:57:31 +00:00
John Stiles
cd7ba500b6 Migrate FunctionCall conversion out of IRGenerator.
We don't currently do FunctionCall optimization, but implementing
something along the lines of skia:10835 would probably involve doing
rewrites for optimization in FunctionCall::Make. This CL is the first
step down that road.

Change-Id: I249b02412e7ebac21bb98d6c5d61af3dcd6f1e69
Bug: skia:11342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387156
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-19 15:47:21 +00:00
Julia Lavrova
98a76eb6ea Add nbsp info to the cache
Change-Id: I9d4cd6f3d7c2871c1279c3a7190187bbfee1b56b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383856
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-03-19 15:40:31 +00:00
John Stiles
708faba16b Allow multiple expressions on the same statement to be inlined.
This will allow the inliner to successfully do more work in a single
pass.

Change-Id: I26e8831737c10bdf9a35eebd94ea8b74f6487077
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386916
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-03-19 15:14:24 +00:00
Herb Derby
3401d5eb22 improve SkParagraph's bench accuracy
Call onDraw in onDelayedSetup to warm up the glyph cache
otherwise nanobench will mis-caclulate the loop count.

This change also reduces the variability of the benchmark.

Change-Id: I5f3f2167cc78b996fcb589644b70622d18af240b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386816
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-03-19 14:14:48 +00:00
John Stiles
049f0dfaba Reduce unnecessary scratch variables in Inliner.
Arguments without side-effects that aren't read from more than once can
be moved directly into the inlined function, and don't need a scratch
variable. This can allow functions like `guarded_divide` to inline
completely in more cases.

Change-Id: I0bfce35635cf9779f4af1bc0790da966ccfe4230
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386678
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-03-19 14:10:29 +00:00
Leon Scroggins
1b7a936bfc Roll third_party/wuffs to version 0.3.0-alpha.21
Update Wuffs to match the version currently used by Chromium
(updated in http://crrev.com/c/2731168)

Change-Id: If3f1ccad6a9ff6202391ee79a9b4d3b413a4cc25
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386756
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Nigel Tao <nigeltao@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2021-03-19 13:57:28 +00:00
Jim Van Verth
ff98f289dc Add Metal compile options.
For now, just turns on fastmath.

Change-Id: Ica821dbfd5b30f9e0cceb1eed9443905987f292a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385882
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-19 13:47:18 +00:00
Greg Daniel
20bb83fd88 Fix ref tracking of vk immutable samplers.
For immutable samplers, we claimed that the GrVkPipelineState was
taking over the ref from GrVkUniformHandler, but this actually never
happened and it was still unref'ed when the uniform handler went away.
We never unref'ed it in the GrvkPipeline so all our refs/unrefs still
lined up. We were getting saved that the GrVkResourceProvider happen to
hold the ref on its samplers longer that the GrVkPipeline that used it.
This CL cleans up all those issues.

Change-Id: I113f011979cf7ba3d734f9c518513598581a3efd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386677
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-03-19 13:01:58 +00:00
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