Commit Graph

54299 Commits

Author SHA1 Message Date
Ben Wagner
1546053269 SkFontMgr_New_Custom_Data to take SkData
Have the canvaskit bindings provide SkData since only the bindings know
the correct release procedure for the underlying data.

Bug: skia:11778
Change-Id: I0fac15287b014ea01dfc0d4b87dd2fe7987fe1d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388496
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-03-24 15:02:03 +00:00
John Stiles
e8da4d2757 Code cleanup: Add isMain() accessor to FunctionDeclaration.
This returns true if the function name is `main`. We have special
treatment for functions named `main` in various places throughout the
compiler, so this accessor comes in handy fairly often.

Change-Id: I9da17648800f0385875e1e7d66aacb5f3dea3817
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388443
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-24 14:35:12 +00:00
John Stiles
3f5bee1a7a Performance experiment: Disable SkSL inliner in nanobench/skpbench.
This is a reland of 045d7513d7

This will allow us to measure the impact (positive or negative) of
inlining functions before submitting a shader to the driver.
In previous trials, we encountered an issue with overloads of cross()
which prevented us from collecting data on some platforms.

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>

Change-Id: I49a1555bde93c339fda567fc85a85e937af95628
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388396
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-24 13:24:50 +00:00
skia-autoroll
30e05095b2 Roll Chromium from 22909c8c40af to 18606de65b54 (468 revisions)
22909c8c40..18606de65b

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 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: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: reed@google.com
Change-Id: Ide09f37b4ab784c1b55bc1c043e0d37a863ee363
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388388
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-24 06:19:32 +00:00
skia-autoroll
d35603acdf Roll ANGLE from ef17c6503bdc to d146222879dc (9 revisions)
ef17c6503b..d146222879

2021-03-23 syoussefi@chromium.org Vulkan: Use VK_EXT_multisampled_render_to_single_sampled
2021-03-23 ianelliott@google.com Update ANGLEWrangling.md with Hotlist-Wrangler
2021-03-23 rafael.cintron@microsoft.com Enable D3D11 debug names in ANGLE release builds
2021-03-23 penghuang@chromium.org Disable timestamp queries for Mali-G31 and older GPUs
2021-03-23 jmadill@chromium.org Revert "Save/Load missing members"
2021-03-23 jmadill@chromium.org Vulkan: Rename Uniforms/XFB descriptor desc.
2021-03-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 3eced2421f5a to f1617b736428 (473 revisions)
2021-03-23 cnorthrop@google.com Tests: Add Real Cricket 20 trace
2021-03-23 ianelliott@google.com Fix copyright dates of new test files per Shabi

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="*real_cricket_20*"
Change-Id: I31ea6a88cdb050df529a20bbdef761edafaa08d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388423
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-24 05:29:32 +00:00
skia-autoroll
db40eb2b2e Roll Dawn from d42f4b3ca5ff to 54e150b7c22e (9 revisions)
https://dawn.googlesource.com/dawn.git/+log/d42f4b3ca5ff..54e150b7c22e

2021-03-23 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 2e97435ba613 to 84ef13c84fb3 (4 revisions)
2021-03-23 cwallez@chromium.org Avoid unnecessary recompiles with code generators.
2021-03-23 cwallez@chromium.org Port Animometer's vertex shader to WGSL
2021-03-23 cwallez@chromium.org Use SPVASM for ShaderFloat16Tests.
2021-03-23 cwallez@chromium.org BUILD.gn: Remove warning suppression for Skia
2021-03-23 cwallez@chromium.org Port the last BufferZeroInitTest to WGSL
2021-03-23 enga@chromium.org Update the wire-based fuzzers to always assume an injected error
2021-03-23 cwallez@chromium.org Port VertexFormatTests to WGSL
2021-03-23 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 4daddd1759c6 to 2e97435ba613 (13 revisions)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 4daddd1759c6 to 84ef13c84fb3

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 bclayton@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: bclayton@google.com
Change-Id: Iad7747f39e0535da965021b7ce9c48051eb68504
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388389
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-24 05:08:12 +00:00
John Stiles
85749c0b22 Add caps bit for RewriteMatrixVectorMultiply.
On ARM GPUs, the Vulkan driver does not honor relaxed precision when
evaluating SpvOpMatrixTimesVector. This leads to reduced performance
(compared to GLSL, where mediump matrices and floats do evaluate all
intermediate values at mediump).

This caps bit will be enabled on ARM GPUs and, in a followup CL, will
be used to toggle a workaround where `m*v` is rewritten as the sum of
(m[0]*v[0] + m[1]*v[1] + ... + m[N]*v[N]).

Change-Id: I310fa73639b6498552c9672e76860f2eded15d0a
Bug: skia:11769
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388459
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-23 22:40:02 +00:00
Mike Klein
f2b3f916fc split off --dylib from --jit in nanobench
This makes nanobench like the other tools.

Change-Id: I145cb559489588fa27f07d7e91b96105f7afcc81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388379
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-03-23 20:57:42 +00:00
Ethan Nicholas
7f01588f15 Revert "Revert "Added more RelaxedPrecision decorations""
This reverts commit 7bba1f55e8.

Change-Id: I707a3c215f37376086e22eaa43916afeed6da4c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388456
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-03-23 19:34:42 +00:00
skia-autoroll
2159f8b220 Roll skcms from 16a890f7be9d to 65de465d622d (1 revision)
https://skia.googlesource.com/skcms.git/+log/16a890f7be9d..65de465d622d

2021-03-23 mtklein@google.com parse profile following user-supplied A2B priority

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 reed@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: reed@google.com,mtklein@google.com
Change-Id: Ic59268102ac3e65a0161e7ee0eed822c972924ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388377
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-23 19:17:22 +00:00
Robert Phillips
84fd1c2dec Clean up remaining NVPR bits & bobs
Bug: skia:11760, skia:11787
Change-Id: Idfedb90576e0484bf32a9002081c0fcb888141eb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388216
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-03-23 19:12:12 +00:00
Brian Salomon
bb0ed8e487 Revert "Reland "Add GrRuntimeFPBuilder""
This reverts commit 7508b54af3.

Reason for revert: android roll

Original change's description:
> Reland "Add GrRuntimeFPBuilder"
>
> This is a reland of 4b39aaf2cb
>
> Original change's description:
> > Add GrRuntimeFPBuilder
> >
> > Like SkRuntimeShaderBuilder but for internal use for creating FPs.
> >
> > Currently it requires that the code be a static string so it can
> > easily make a static SkRuntimeEffect instance for each effect.
> >
> > Bug: skia:11771
> >
> > Change-Id: I18148eb33e7d28c804e4a13bcef88c89c06b2c9b
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386889
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
>
> Bug: skia:11771
> Change-Id: I10a7974aa209f9cd63a5dc1ef21a36822b49bda3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388097
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,brianosman@google.com

Change-Id: I01a1567edd4162f1054137886052f5065a9e6175
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11771
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388397
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-03-23 18:11:47 +00:00
skia-autoroll
ffc49942b2 Roll skcms from 57e818ae88b7 to 16a890f7be9d (1 revision)
https://skia.googlesource.com/skcms.git/+log/57e818ae88b7..16a890f7be9d

2021-03-23 mtklein@google.com simplify diagnostic ignored "-Wpsabi"

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 mtklein@google.com,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: luci.chromium.try:linux-blink-rel
Tbr: mtklein@google.com,reed@google.com
Change-Id: Id5c30dc38d2aac787f1c3ba647c2e3577c734c78
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388256
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-23 17:52:05 +00:00
Ethan Nicholas
8b3dd34956 Refactored IRGenerator::convertProgram
This breaks the setup & cleanup code into separate chunks, which both
reduces the size of this overlong method and makes the setup & cleanup
functionality available for use from DSL code in the future.

Change-Id: Id0a33292d7cf62da89d6e62fa47d692f3ad7277b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387957
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-03-23 17:47:17 +00:00
John Stiles
345f140e83 Abort in Nanobench if a shader compilation error occurs.
Currently, Nanobench is silently reporting bad performance metrics when
a shader can't be compiled; this is, at the very least, misleading, and
can often cause real problems to be magnified or ignored.

Change-Id: I7a826dfd6e680e42a0c3eeebf76cc21cbd7f9dbb
Bug: skia:11776
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388140
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-23 17:11:54 +00:00
Ben Wagner
e31b526f03 Document SkTextBlobBuilder::allocRunText*
Now that these methods are used in Chromium to produce PDFs with
embedded text, properly document how to use them.

Change-Id: I68fb477b65ec41af9fcc46429275bda03680bff0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387976
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Dominik Röttsches <drott@chromium.org>
2021-03-23 16:51:15 +00:00
John Stiles
2ef627aba9 Add a custom ShaderErrorHandler to Nanobench.
In this CL, the custom ShaderErrorHandler retains the existing failure
mode of the DefaultShaderErrorHandler (using SkDEBUGFAILF) to minimize
breakage on the tree.

Change-Id: I52ecbcadf2ce93eaf47bf400b5faa8955f9526ca
Bug: skia:11776
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388139
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-23 15:53:08 +00:00
Robert Phillips
ced5e83773 Retract GrRenderTarget from GrCaps & GrProgramDesc where possible
Fully retracting GrRenderTarget is still blocked on Dawn, D3D,
and Vk uses.

Change-Id: I59ebce40d85134f8ee18c143df2a3f4b70c3dcb1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386840
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-03-23 15:44:58 +00:00
Brian Salomon
ed3c75b0a5 adjust values in very_large_sigma_gpu_blur gms
Only the largest sigma (320) would hit the downscale limit with the
old sigmas and image sizes. However, that sigma was far too large
to produce reference values in a reasonable amount of time.

Reduce the image sizes so that the downscale limit can be hit with a
smaller sigma.

Bug: skia:11735
Change-Id: Ia7f4385c6114f7071a14336ca39f81cf9ac68861
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386058
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-03-23 15:23:18 +00:00
Herb Derby
0da2c146fd remove paint from SkGlyphRunList
Change-Id: I0f9027f1a360d90d2c91680d414a6591bc8192cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387956
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-03-23 15:21:48 +00:00
Julia Lavrova
5625ef5043 Too long placeholder should start from a new line
Bug: skia:11783
Change-Id: Ide5f0976bc20ababb483ddd10d2f081ad3d13a86
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388138
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-03-23 14:53:28 +00:00
Brian Osman
d1f3b97a64 Remove sk_SampleMask support from SkSL
Change-Id: I22837a4921238749664217e595d24d196503534d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388096
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-03-23 14:37:28 +00:00
Robert Phillips
f10535f6fa Fuse GrGLSLPrimitiveProcessor and GrGLSLGeometryProcessor ...
into a new GrGLSLGeometryProcessor. Since NVPR is no more this
distinction (between GLSL- Primitive and Geometry -Processor)
probably isn't needed/useful.

Bug: skia:11760
Change-Id: I75621725bd2b0ef3dbac2ea6449bd571551babab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388036
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-23 14:30:18 +00:00
John Stiles
9d26af9a82 Fix testing of Runtime Effects with inlining enabled and disabled.
Previously, the act of painting a Runtime Effect was causing its helper
functions to get inlined, even if inlining was disabled during the
initial SkSL generation. This meant that the "NoInline" path was not
actually very effective.

Change-Id: If8e3933be61df4a49d2e11d916d7fff22876315e
Bug: skia:11362
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388099
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-23 14:23:28 +00:00
John Stiles
bac6c8fbc8 Incorporate Runtime Effect options into hash.
Previously, the first created Runtime Effect with a given source string
was being returned for each subsequent call to Make, regardless of the
passed-in Options.

Change-Id: Iab95df842efd17091365291dc8ab9f54314f1276
Bug: skia:11362
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388098
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-23 14:18:08 +00:00
Brian Salomon
7508b54af3 Reland "Add GrRuntimeFPBuilder"
This is a reland of 4b39aaf2cb

Original change's description:
> Add GrRuntimeFPBuilder
>
> Like SkRuntimeShaderBuilder but for internal use for creating FPs.
>
> Currently it requires that the code be a static string so it can
> easily make a static SkRuntimeEffect instance for each effect.
>
> Bug: skia:11771
>
> Change-Id: I18148eb33e7d28c804e4a13bcef88c89c06b2c9b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386889
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Bug: skia:11771
Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian10-GCC-x86_64-Release-Shared_Docker,Build-Win-Clang-x86_64-Release-Shared,Build-Win-MSVC-x86_64-Release-Shared
Change-Id: I10a7974aa209f9cd63a5dc1ef21a36822b49bda3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388097
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-03-23 14:08:48 +00:00
skia-autoroll
4d74cc3102 Roll ANGLE from 90cf278c3687 to ef17c6503bdc (12 revisions)
90cf278c36..ef17c6503b

2021-03-23 cclao@google.com Vulkan: Add test for filament gltf usage case
2021-03-23 timvp@google.com Save/Load missing members
2021-03-22 cnorthrop@google.com Tests: Add android log library to traces
2021-03-22 timvp@google.com Reorder ShaderVariable functions and members
2021-03-22 m.maiya@samsung.com Handle inactive structure type varyings correctly
2021-03-22 m.maiya@samsung.com Vulkan: Handle compilation error involving gl_InvocationID
2021-03-22 cclao@google.com Vulkan: Rename onImageHelperRelease to finalizeImageLayout
2021-03-22 jmadill@chromium.org Vulkan: More cleanups to perf counters.
2021-03-22 cnorthrop@google.com Tests: Add Avakin Life - 3D Virtual World trace
2021-03-22 cheryl.wei@arm.com Skip ResizeWindow test on Linux.
2021-03-22 m.maiya@samsung.com Vulkan: Don't acquire new BufferHelper for external buffers
2021-03-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from c33e21cce932 to 3eced2421f5a (477 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 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: FramebufferTest_ES3.RenderAndInvalidateImmutableTextureWithBellowBaseLevelLODTest: Test: FramebufferTest_ES3.RenderAndInvalidateImmutableTextureWithBeyondMaxLevelTest: Test: FramebufferTest_ES3.RenderAndInvalidateImmutableTextureWithSubImageWithBeyondMaxLevelTest: Test: TransformFeedbackTest.InactiveStructureVarying*Test: Test: angle_perftest --gtest_filter="*avakin_life*"
Change-Id: Ia94107719997ced8a17b69d4d51f0d172d95a076
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388118
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-23 05:17:05 +00:00
skia-autoroll
d1293074fc Roll Chromium from af345736ffc5 to 22909c8c40af (479 revisions)
af345736ff..22909c8c40

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 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: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: reed@google.com
Change-Id: I240ae94015979704df363ae9d29c0bf7cc4e80a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388117
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-23 05:15:15 +00:00
skia-autoroll
1d9505c692 Roll Dawn from 8ac6a481a3ea to d42f4b3ca5ff (8 revisions)
https://dawn.googlesource.com/dawn.git/+log/8ac6a481a3ea..d42f4b3ca5ff

2021-03-23 shaobo.yan@intel.com Reland "CopyTextureForBrowser: Support color format conversion"
2021-03-22 bajones@chromium.org Update RenderPipelineBase to stop depending on deprecated struct types
2021-03-22 cwallez@chromium.org Use Tint/WGSL unconditionally
2021-03-22 shrekshao@google.com API evolution GPUExtent3D.depth -> depthOrArrayLayers (Step 2)
2021-03-22 bryan.bernhart@intel.com D3D12: Prevent crash due to missing debug layer
2021-03-22 cwallez@chromium.org ShaderModule: Store the tint::Program in the base class.
2021-03-22 bryan.bernhart@intel.com Fix incorrect parsing logic in DawnTest
2021-03-22 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 00e823ec04d9 to 4daddd1759c6 (1 revision)

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

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 bclayton@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: bclayton@google.com
Change-Id: I2e1197a72c32763b1b7dd53cee72da70a41a8dd3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388000
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-23 05:06:05 +00:00
Chris Dalton
68c243e1f8 Delete GrCCAtlasStack
Change-Id: I88d86f98044233364ae26c228e80ad51b6020e7f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387376
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
2021-03-22 23:48:47 +00:00
Brian Osman
c18a645bf5 Implement constantOutputForConstantInput on GrSkSLFP
Bug: skia:11770
Change-Id: I118a85e58a5422ff42c693fd8f85af098d8f8a25
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387816
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-03-22 22:18:37 +00:00
Brian Osman
36f3d1a0aa Fix SwizzleFragmentProcessor::constantOutputForConstantInput
Tracked this down as the source of failing tests in an unrelated CL.

Change-Id: I1427853a258596fdb658a5263683d3fb370bb353
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388056
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-03-22 21:48:19 +00:00
Chris Dalton
4ac0cbe769 Remove the scary raw pointer from GrCCClipProcessor into GrCCClipPath
This also allows us to rip out extra work ccpr was doing to maintain
the lifetimes of these objects.

Bug: chromium:928984
Change-Id: I094784235e23f00fb2ed10756a5eaa22a6028c2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387356
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-03-22 21:45:17 +00:00
John Stiles
aa4f4c749d Preserve inline/noinline modifiers in PipelineStageCodeGenerator.
We need to prevent these modifiers from disappearing when we emit
function declarations.

Change-Id: Ib06e9da6ee4fdd59ab7ee757540fe7ee4aa95ea3
Bug: skia:11362
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388037
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-03-22 21:33:07 +00:00
Jim Van Verth
45564260d4 Hide use of TargetConditionals.h behind platform def
It's possible to enable SK_METAL on non-Apple platforms which will lead
to compile issues. This will prevent that. Also includes a minor change
to keep the decl of GrMtlTextureInfo consistent with other uses.

Change-Id: I48ae89b53c3ea8b50ee78383c5a81fdd09e9e3e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/388038
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-22 21:29:07 +00:00
John Stiles
1b843bdcb7 Fix up outdated tests.
Removed error tests which no longer test anything:
- UseWithoutInitialize...: we no longer track variable use-before-init.
- InlineDivideByZero: we no longer constant-fold the result of an
  inlined function call into its parent statement.
- Unreachable: we no longer report unreachable statements.

And fixed some minor test-case issues:
- StaticSwitchConditionalBreak: we still check this, but the function
  was being dead-stripped before this check could run. Renamed to main.
- OssFuzzXxxxx: these cases no longer report errors, but they are still
  valuable as regression tests; moved to `shared/`.

Change-Id: Iade3cff821dc998cacfd02f62d3ac4625e48904c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387820
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-03-22 21:11:47 +00:00
Herb Derby
8af78748ab remove {Get,Set}FontCachePointSizeLimit() from API
The global fPointSizeLimit which backs the above calls is protected
by a mutex because it can be called from multiple threads. This
created contention with multi-threaded strike cache use.

A search of the Google, Android, and Chrome source show no use of
SetFontCachePointSizeLimit, and the only uses of
GetFontCachePointSizeLimit are internal. In effect, the mutex
protected a constant.

Remove all uses, and replace with constants.

Bug: skia:11777

Change-Id: I9a2c3f3ee849cd07d04efa7113cb3ea9c600927f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387676
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-03-22 20:47:27 +00:00
Chris Dalton
ffa8fd1b53 Instantiate clip atlases directly
Calls assign() directly on clip atlas proxies instead of using the
scary, unprotected back-pointer from a callback function.

Bug: chromium:928984
Change-Id: I253fc0f3280b97b6af4f1fde2d0094d58dc5d125
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387296
Reviewed-by: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-03-22 19:53:40 +00:00
Robert Phillips
787fd9d80a Fuse GrPrimitiveProcessor & GrGeometryProcessor into a new GrGeometryProcessor
With the removal of NVPR we no longer need this distinction.

Bug: skia:11760
Change-Id: I225a4feb764395fb72aca3ffc8b6d05396bf0b1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386890
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-03-22 19:44:40 +00:00
Julia Lavrova
583a343d9a Line height in case of a single placeholder
Bug: skia:11773
Change-Id: I6f5ff4afa5600d76c973669b35c182f385b6cf7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387818
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-03-22 19:21:48 +00:00
Ben Wagner
25eb534f42 Convert some static_library to skia_static_library
Change-Id: I71b27467b3a72c7bafaf540d3cc2c60e6b1fa4c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387837
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-03-22 18:35:45 +00:00
Brian Salomon
50af8c2656 Revert "Add GrRuntimeFPBuilder"
This reverts commit 4b39aaf2cb.

Reason for revert: DLL fail

Original change's description:
> Add GrRuntimeFPBuilder
>
> Like SkRuntimeShaderBuilder but for internal use for creating FPs.
>
> Currently it requires that the code be a static string so it can
> easily make a static SkRuntimeEffect instance for each effect.
>
> Bug: skia:11771
>
> Change-Id: I18148eb33e7d28c804e4a13bcef88c89c06b2c9b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386889
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=bsalomon@google.com,brianosman@google.com

Change-Id: I13e22674a1bcb07b86342189bab84fc6cbb357e9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11771
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387817
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-03-22 18:24:18 +00:00
Ben Wagner
72513e7ff6 Correct Android.bp warnings.
The gn_to_bp.py script generates projects with is_official_build=true.
This means that gn/skia:warnings is not applied. This means that a
number of warnings are not turned on, but it also means a number of
warnings are not turned off. Directly suppress several warnings which
were previously always suppressed.

Change-Id: Iefe48f663d47e39f36e21f2200417a33b2389508
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387836
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2021-03-22 18:09:06 +00:00
Robert Phillips
22970175f7 Remove sample locations usage from GL backend
Bug: skia:8921

Change-Id: If9e65a78f9e1fddb5c5ad5afa5612294935122e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386837
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-03-22 18:00:06 +00:00
Robert Phillips
43e3dc994e Remove NVPR entry points from Skia's GL interface
This is blocked on the Chrome-side CL:

https://chromium-review.googlesource.com/c/chromium/src/+/2774573 (Remove setting of NVPR entries on Skia's GL interface)

Bug: skia:11760
Change-Id: I1788de07d8f0208e15356a147005b87110dfeab5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387096
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-03-22 17:44:16 +00:00
John Stiles
95eadd32c1 Rename 'unpremul_float' to 'unpremul.'
Now that name mangling is implemented, we don't need to worry about name
collisions when high-precision types are disabled.

Change-Id: Ic0def3e629deeb804745ff683826946947c898e3
Bug: skia:10851
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387758
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-03-22 17:34:16 +00:00
John Stiles
f9e8551edf Mangle function names in SPIR-V.
SPIR-V doesn't seem to mind overlapping function names, since they're
not load-bearing in any way, but this keeps us consistent with the other
code generators.

Change-Id: Ifdb4cb17795da88eabc0db841af746fb76caf423
Bug: skia:10851
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387757
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-22 17:32:46 +00:00
John Stiles
e1068349fc Mangle function names in Metal.
Change-Id: Ib9a1a51f8a29b2d03792a3abd93b3a9a321b5464
Bug: skia:10851
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387756
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-22 17:23:21 +00:00
John Stiles
ece1d794b9 Mangle function names in GLSL.
This will be implemented in Metal and SPIR-V in followup CLs.

Change-Id: I397b4db40b15dd54cf1d8a17f414c3fe184b48d2
Bug: skia:10851
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387638
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-22 17:18:26 +00:00
Chris Dalton
70842aea4a Update the indirect tessellator to drop extra edges
When an instanced draw had more edges than the stroke actually needed,
we used to distribute those excess edges evenly across the stroke.
(e.g., a stroke that needs 40 edges gets drawn in an instance that has
 64.) This CL updates the shader to emit the excess edges as
degenerate triangles instead. The hope here is twofold: (1) that when
all threads in a warp belong to an extra edge, the GPU will skip the
expensive edge sorting entirely, and (2) that the rasterizer will drop
the degenerate triangles or at least do less work.

Bug: chromium:1172543
Change-Id: Idffad09c1f7e633c8ac75f5fdf865ade92af7f91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387616
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-03-22 17:18:18 +00:00