Commit Graph

54481 Commits

Author SHA1 Message Date
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
John Stiles
ce1a088b82 Add an abbreviated-name field to Type.
This will be used in a followup CL to add name-mangling to functions.

Change-Id: I4e3df333783dfa380c87de11fafda8069d47bc1b
Bug: skia:10851
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387637
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-22 16:12:16 +00:00
Brian Salomon
4b39aaf2cb 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>
2021-03-22 15:57:36 +00:00
Mike Reed
4a3bae335f Move InterpretSampling to its one caller
No functional change, but this "helper" is now only called in one place.

Just part of my cleaning house around filtering logic. Happy to leave
things as they were if that is preferred.

Change-Id: I9131354240295af2d2041f759c24fc1d4805502e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387437
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-03-22 15:56:36 +00:00
Ben Wagner
3d9ab7e7ec Separate general defaults from Skia defaults
In the build there are some defaults which actually apply to every
use of a built-in target type, but there are some (particularaly
warnings) which apply only to targets controlled by Skia. Currently
these unwanted defaults are magically known to exist and removed
wherever they are not wanted. Instead, create 'skia_' prefixed target
templates and apply these defaults to those instead.

Change-Id: I3a2afb53c7205a2e2748d1cfad46319f2e93d3b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385516
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-03-22 15:30:56 +00:00
John Stiles
e67bd1371e Migrate VarDeclaration conversion out of IRGenerator.
Change-Id: If5fb4f99d327bb429f60e8d6c526720dd02b0928
Bug: skia:11342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386800
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-03-22 14:25:26 +00:00
John Stiles
441c1bc315 Avoid recursing into expressions in finalizeFunction.
Descending into expressions is costly, and we don't have any need to do
it.

Change-Id: I45bf96b8642dceac95fb0468ae78cc785e400716
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386842
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-22 14:11:56 +00:00
Chris Dalton
61d694d08f Draw dmsaa rects with GrFillRRectOp
Bug: skia:11396
Change-Id: I0618e8ecfb3fe8e7539c1d808abf9b879d1d6694
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/386516
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-03-22 07:02:28 +00:00
skia-autoroll
3ed0c76c7d Roll Chromium from 23141e38f154 to af345736ffc5 (473 revisions)
23141e38f1..af345736ff

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: Ibcadedd9b4fbc721771d9dbe104057830ac6a4e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387582
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 05:34:58 +00:00
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