Commit Graph

51422 Commits

Author SHA1 Message Date
Mike Klein
51dc28505f allow early returns
For posterity, here's my initial, wrong thinking:

    If we squint at "return foo" and read it as "result = foo; goto
    end_of_program", and then remember we can always skip forward jumps (and
    where's further forward than end of program?), early returns turn out to
    work just like a store.

The reason this is wrong is that by the time we reach a final return,
the entire mask stack has been popped back down to its original default
ffffffff (active) state.  But that return shouldn't override any prior
returns.  So that scheme isn't quite right.

Instead we accumulate the result by disabling updates to lanes that have
already returned.  By the time we're done, all lanes should have hit
_some_ active return, now asserted.

Bug: skia:10852
Change-Id: I27b05f04a60ff4a5f2fe5f59bf398c3f7224a41b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327457
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-10-20 14:33:31 +00:00
Robert Phillips
6cc9d8dd59 Better encapsulate creation & usage of triangulating path renderer's key data
We will need this functionality in TriangulatingPathOp::onPrePrepareDraws as well as at the
current locations

Bug: 1108408
Change-Id: I2a65f07f47a549531d84dbf2afd82ad9d9b35225
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328536
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-10-20 14:25:11 +00:00
John Stiles
607d36b829 Add a fBuiltin flag to FunctionDefinition.
This is useful because we can clone FunctionDefinitions without cloning
the matching FunctionDeclaration. The FunctionDeclaration will remain a
builtin, but the definition should be a malleable clone.

Change-Id: Icfc1e0855fb8fcd6914a5d657f5098986fcf19ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328396
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-10-20 14:21:01 +00:00
Kevin Lubick
13fa34606b [infra] Sync to latest infra repo.
This picks up a new version of the CIPD deps and a new helper for
writing task drivers.

Bug: skia:10812
Change-Id: I8b9b57acd4d8eee9cdea86008da1f3039af0cdc9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328496
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2020-10-20 13:56:41 +00:00
Brian Salomon
9f8ee0dbb1 Remove legacy SkImageGenerator YUV planes interface
Bug: skia:10632
Change-Id: Iaed6b51e03ef9023a74d77f3262104c1677c416f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327917
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-10-20 13:44:11 +00:00
John Stiles
4964300530 Improve gencode for inlined blend and composition functions.
Using `return` instead of assigning to the output color removes an
unnecessary temporary variable from the output.

Change-Id: Ica31e290f8745a7309ae32c7148516d2189308ea
Bug: skia:10549
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328386
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-10-20 13:01:41 +00:00
Kevin Lubick
cd74dfa477 [canvaskit] Add test harness for running all gms and getting output
The JS starts a web server and then uses puppeteer to load the html
page. The page will load the compiled JS+WASM to run the GMs,
calculate the md5 hash of the pixels using the exact same algorithm
as DM and then get those encoded as a PNG. The HTML then makes
a post request with that image data (assuming it's not an image we
have seen before) and keeps all the test results in a simple
JSON array.

The JSON array will be read in by a task driver in a followup CL.

Bug: skia:10812
Change-Id: I90e8ed42bd96ae11fa75ce84ef2ee1a97ab93d5f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328378
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2020-10-20 11:54:23 +00:00
Kevin Lubick
a25c0619b5 [canvaskit] Make gm test wrapper not omit known pngs
We just make a global set of known png digests and expect that the test
harness will load this with the appropriate data.

Bug: skia:10812
Change-Id: I8e1fc987d36cc57386167410514803f8c3b90a69
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328379
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2020-10-20 11:53:49 +00:00
skia-autoroll
38688fcdba Roll Chromium from cb9deed9f162 to 60b90a0bfd24 (436 revisions)
cb9deed9f1..60b90a0bfd

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 egdaniel@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: egdaniel@google.com
Change-Id: I9ed9cd8adec2603e5e6a7503a0234e9a70b9c065
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328458
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-20 04:51:00 +00:00
skia-autoroll
ac1ded0331 Roll Dawn from b1938273e405 to c4593127cbdd (14 revisions)
https://dawn.googlesource.com/dawn.git/+log/b1938273e405..c4593127cbdd

2020-10-19 dsinclair@chromium.org Include compiler header
2020-10-19 cwallez@chromium.org Roll third_party/swiftshader/ 2014e7b92..df17a7610 (79 commits)
2020-10-19 enga@chromium.org Fix unused variable warnings on ChromeOS
2020-10-19 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from c9a3e4739678 to 7156d3e3140b (1 revision)
2020-10-19 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 89042538376b to c9a3e4739678 (1 revision)
2020-10-19 enga@chromium.org Add missing include in SwapChainVk
2020-10-19 dsinclair@chromium.org Fixup cmake file
2020-10-19 enga@chromium.org Reland "Replace the wire serializer with a no-op impl on disconnect"
2020-10-19 jiawei.shao@intel.com Add the entry point of CreateReadyComputePipeline
2020-10-17 cwallez@chromium.org Initial new swapchains on Vulkan.
2020-10-16 enga@chromium.org Cleanup old/deprecated wire and native APIs
2020-10-16 cwallez@chromium.org Make wgpu::Extent3D default to {1, 1, 1}.
2020-10-16 cwallez@chromium.org Add wgpu::TextureComponentType::DepthComparison
2020-10-16 cwallez@chromium.org Format: Move the baseType to be per-aspect.

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 dsinclair@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: dsinclair@google.com
Change-Id: I627ff61ad7b12e7f832b9401c7a898c9f8aa1ef2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328457
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-20 04:31:30 +00:00
Greg Daniel
a670782ed3 Update GrAttachment budgeted and gpu memory size calculation.
This adds the budgeted parameter to the GrAttachment ctors. Currently
we only have stencil and msaa attachments which are always budgeted
but this will soon change as more things get added.

Along the same lines this fixes the gpu memory size calculate on
render target. The msaa attachment was getting double counted in
the RT and the attachment itself.

Bug: skia:10727
Change-Id: I3520de9627eadaa4074f7425df509a6c1ccbe07f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327337
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-10-19 17:54:10 +00:00
Chris Dalton
f1cd1553b3 Remove a redundant position assignment from stroke tessellation shaders
Bug: skia:10419
Change-Id: I74429ceb1fc03e68872c74eb62f64675e1bd55cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327476
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-10-19 17:34:30 +00:00
Greg Daniel
f5323d92ae Implement computeScratchKey virtual for GrAttachment.
Was missing this virtual so when we were registering attachments in the
cache we were never setting a scratch key on them.

Bug: skia:10727
Change-Id: Id505fcea17ed83b9f9f33739ded518adbcc2acb7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/326440
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-10-19 17:14:09 +00:00
Brian Osman
2e25ff436a Directly compute call counts, rather than mutating state
This causes a ~4% regression on sksl_large, but some of that
can be bought back in two ways:

1) Removing (now unnecessary) cloning of program elements
2) Hoisting the new analysis passes, with (nontrivial)
   logic to update/maintain the call counts as we edit IR.

Also, this fixes bugs where we were emitting functions that
had "calls" from no-longer called functions.

Bug: skia:10776
Change-Id: I4f8c29957be2e4233a883c9a1125f363b82ee40c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327198
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-10-19 16:08:39 +00:00
Brian Salomon
c1a249d1dc Revert "Revert "New variant of SkImage::MakeFromYUVATextures.""
This reverts commit be8004d2fb.

Bug: skia:10632
Change-Id: I52dd36ae167623563c7554c40092442a3822ee3c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327760
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-10-19 15:37:29 +00:00
John Stiles
bcd1fc030a Avoid changing built-in symbol tables during lookup.
Previously, we'd add UnresolvedFunction symbols wherever the original
FunctionDeclaration was found, but that can alter shared SymbolTables
(e.g. the root table) and the node will not be cleaned up when the
program is deleted. The pooling system expects that any node created as
part of a Program will go away when the Program does.

This change puts the UnresolvedFunction symbol as close to the
FunctionDeclaration as possible without changing builtin symbol tables.

Change-Id: I4c80cfba734047f11b50c86829d95d8e393c3060
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327921
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-10-19 15:15:29 +00:00
kylechar
97a1e67c45 Add context option to disable mipmap support
This is desired for a short term memory improvement on low memory
devices.

Bug: chromium:1138979
Change-Id: I7df41a9c4d21b7a7f62b738e6358b36dd262f77d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327345
Commit-Queue: Kyle Charbonneau <kylechar@chromium.org>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-10-19 14:50:59 +00:00
John Stiles
7c3515bce9 Add builtin flag to SymbolTable.
This flag is set on anything rehydrated and on the root symbol table;
that is, anything that will outlive your Program's tree.

Change-Id: Idd9a167ee69f1fb9e526aecbee733ce1ccb5d265
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327920
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-10-19 14:35:59 +00:00
Mike Klein
2b5504de45 fix forward/backward jump logic
By the time we do this check, we've consumed all the bytes for the
branchIfAllFalse instruction, so ip is pointing at the next instruction.

If that next instruction is itself the jump target, we classify that as
a backward jump instead of the zero-sized forward jump that it is.

Switching to >= fixes that.

Change-Id: I537131bfb0d213c8407734184b78a510624d60c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327458
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-10-19 13:52:29 +00:00
Adlai Holler
abdfd39bb6 Fix debug code in GrDrawingManager
Looks like this code got a little dusty.

Change-Id: Iac0f475abac9d0891e34bba59ddbde3ec63d065a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328176
Auto-Submit: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-10-19 13:39:09 +00:00
skia-autoroll
260029435b Roll Chromium from 17855e1b657e to cb9deed9f162 (555 revisions)
17855e1b65..cb9deed9f1

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 egdaniel@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: egdaniel@google.com
Change-Id: Ifdb98154a716d34f3ebcb84bb78818bddd4c8892
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328100
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-19 04:54:39 +00:00
skia-autoroll
89a73d0e66 Roll ANGLE from b4fb7cc9ec8f to 2be35682cd67 (25 revisions)
b4fb7cc9ec..2be35682cd

2020-10-18 m.maiya@samsung.com Add sRGBOverrideFormats end2end test
2020-10-18 m.maiya@samsung.com Vulkan: Implement EXT_texture_sRGB_decode
2020-10-18 jmadill@chromium.org Fix VertexAttributeTest.DrawArraysWithBufferOffset.
2020-10-18 jmadill@chromium.org Make Metal shader-gen cross platform.
2020-10-18 lehoangq@gmail.com Metal: don't precompile default shaders.
2020-10-18 jmadill@chromium.org More Mac/AMD/GL dEQP suppressions.
2020-10-17 jmadill@chromium.org Change Android atomic counter tests to skip.
2020-10-17 syoussefi@chromium.org Regression tests for vertex attribute aliasing
2020-10-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 618e41c871d6 to 483a71c5130e (11 revisions)
2020-10-17 timvp@google.com Reland "Vulkan: Fold deferred clears into current clears"
2020-10-17 jmadill@chromium.org Suppress Mac/AMD/GL GLES2 failures with standalone mode.
2020-10-16 timvp@google.com Revert "Vulkan: Fold deferred clears into current clears"
2020-10-16 cnorthrop@google.com FrameCapture: Move shader and program source to shared cache
2020-10-16 jmadill@chromium.org Trace Tests: Add vsync-limited mode with a GPU timer.
2020-10-16 jmadill@chromium.org Perf Tests: Add offscreen mode.
2020-10-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from 14ad927e679a to 970c132746b1 (1 revision)
2020-10-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from 1abaced34b84 to ee0de094ddff (1 revision)
2020-10-16 jmadill@chromium.org Suppress Mac/AMD/GL dEQP failures with standalone mode.
2020-10-16 jmadill@chromium.org Remove flaky check in TimerQueriesTest.
2020-10-16 cnorthrop@google.com Capture/Replay: Fix GL_HALF_FLOAT_OES vertex attrib type name
2020-10-16 jmadill@chromium.org Suppress fragment out int tests on Intel/Mac/GL.
2020-10-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 20073b8681d2 to 7e36b15b99a7 (145 revisions)
2020-10-16 lehoangq@gmail.com Metal: autogen blit & clear shaders for integer textures
2020-10-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 312a2b1c9d05 to 20073b8681d2 (419 revisions)
2020-10-16 lehoangq@gmail.com Metal: Support 2D array textures and base & max levels.

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 egdaniel@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: egdaniel@google.com
Test: Test: Free Fire MECTest: Test: GLES31/functional_android_extension_pack_extensions_ext_texture_srgb_decodeTest: Test: GLES31/functional_debug_negative_coverage_*_srgb_decode_*Test: Test: GLES31/functional_state_query_sampler_*_srgb_decode_*Test: Test: GLES31/functional_state_query_texture_*_srgb_decode_*Test: Test: PUBG MECTest: Test: angle_end2end_testsTest: Test: angle_end2end_tests --gtest_filter=SRGBTextureTest.*Vulkan*Test: Test: dEQP.GLES31/functional_srgb_texture_decode_skip_decode_*
Change-Id: Ie814a8466e29818a1931b6f00ae5986b59f422a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328078
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-19 04:50:29 +00:00
skia-autoroll
1400dda5de Roll SwiftShader from 04bd4d8e4ece to df17a76102df (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/04bd4d8e4ece..df17a76102df

2020-10-16 srisser@google.com Make abort on LOG_TRAP opt-in
2020-10-16 cwallez@chromium.org MetalSurface: correctly handle the window resizing.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC egdaniel@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: egdaniel@google.com
Change-Id: I0b5787d4980077d2f736c7ceaa54fa66e00297cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328079
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-19 04:46:59 +00:00
Florin Malita
a5e8f6b402 [svg] Post-relocation cleanup
Remove transitional headers and build file workarounds.

Change-Id: Iebe63d44b6ae3a736c7b31a45975056ec92b91cd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327716
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Tyler Denniston <tdenniston@google.com>
2020-10-18 19:29:38 +00:00
skia-recreate-skps
27f7fe32f4 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I85093209b89a6bb6c137b7da44c06937608c642f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328037
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-10-18 06:37:03 +00:00
Brian Salomon
be8004d2fb Revert "New variant of SkImage::MakeFromYUVATextures."
This reverts commit fea12238ed.

Reason for revert: MSAN/SwiftShader failure

Original change's description:
> New variant of SkImage::MakeFromYUVATextures.
>
> Takes a new type GrYUVATextures. This a set of GrBackendTextures and
> SkYUVAInfo that have been pre-validated to be compatible.
>
> Bug: skia:10632
>
> Change-Id: Id252f8662ede0f268e88fd40dc1b0b8f4ab6345f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/317762
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com

Change-Id: I5350d4f9b1eda0503fb0af9db8575a734bdc811f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10632
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327922
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-10-16 22:32:54 +00:00
Mike Klein
f60a76e2ac switch SkTPin impl to pin NaN to lo
It's just much easier to remember and think about
max(lo, min(x, hi)) than max(min(hi, x), lo), and
both pin NaN to one of the two limits.  I'm not sure
if anything in Skia depends on which limit we pin to.

Change-Id: Iceca36a8fffd7072180e82b8b6eb81cbdb5ac97f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327788
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2020-10-16 21:08:51 +00:00
Tyler Denniston
5f90ee03de Don't run SVG tests on tsan bots for now
Steps taken to produce this CL:

- add the 'removeFromArgs("svg")' call in dm_flags.go
- run 'make train' in infra/bots directory

Bug: skia:10848
Change-Id: Ie7178e5c2fe446b3727a8b38a61d8205faf5369f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327918
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-10-16 21:06:06 +00:00
Brian Salomon
fea12238ed New variant of SkImage::MakeFromYUVATextures.
Takes a new type GrYUVATextures. This a set of GrBackendTextures and
SkYUVAInfo that have been pre-validated to be compatible.

Bug: skia:10632

Change-Id: Id252f8662ede0f268e88fd40dc1b0b8f4ab6345f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/317762
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-10-16 21:03:31 +00:00
Mike Klein
137068d837 impl SkTPin with std::{min,max}
Change-Id: I70b2fdea570a9091afc81a1455fa61f90b0357a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327786
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-10-16 21:01:01 +00:00
Ben Wagner
f9c7b28034 Add test for old font axis deserialization.
Minimized from fuzzer case (rr is amazing). Verified that this test
failed before the fix 712d3a57e "Cannot create SkFontData with no data."
and now succeeds with the fix.

Bug: oss-fuzz:26254
Change-Id: I985ba3ab61e5824d6a61ede04880692ecc69ce44
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327916
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-10-16 20:32:41 +00:00
Mike Klein
8aa0edfed2 move SkTPin to include/private
Change-Id: Ib0dc823d331a7cddc5da1d1be83136ce803a7871
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327783
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-10-16 19:45:11 +00:00
Michael Ludwig
d6bf999365 Factor perspective scale into filter matrix decomposition
I experimented with passing in a rectangle and computing a geometric
mean of the scale factors for the 4 corners and center. The downside
to that approach is that callers either know the parameter-space bounds
or the device-space bounds. In the latter case, we have to map by the
inverse CTM, which opens up a can of worms. In practice it seemed using
just the center point worked out just as well.

This also updates the sample to draw the axes in the layer space instead
of parameter space. I found this helps display the scale effects of the
parameter-to-layer matrix better.

Bug: skia:9074
Change-Id: I855c85cdbe1072c451aa3a0601571f2e137e5203
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327624
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-10-16 18:49:51 +00:00
Chris Dalton
418eda2c59 Slightly improve cubic chop precision in stroke tessellation shaders
Also adds GrGLSLVertexGeoBuilder::appendRawFunctionDefinition(). This
allows us to define functions in vertex and geometry shaders whose names
don't get mangled.

Bug: skia:10419
Change-Id: I90319b54bcbbb7000c7809cb6ce8d1969a3bd8c5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327456
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-10-16 17:44:31 +00:00
Michael Ludwig
fd0b15801f Visualize perspective scaling in filter bounds sample
Bug: skia:9074
Change-Id: Icdac64276e0a403950fd990a619d523b0ee784de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/326942
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-10-16 17:11:01 +00:00
Ben Wagner
712d3a57e8 Cannot create SkFontData with no data.
Bug: oss-fuzz:26254
Change-Id: Ia4ce4eabacbd9811bc0fdf09b509fd69650cce53
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327816
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2020-10-16 16:48:41 +00:00
Julia Lavrova
36700ef54d ICU project: script iterator in SkShaper
Change-Id: Idcc9290a7666cb590532150a44304d704c8ee34c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/319777
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-10-16 16:08:12 +00:00
Florin Malita
da34798bee Cleanup gn_to_bp_utils
Don't skip deps from modules/.  The initial exclusion was added long
ago, when Skottie deps were causing build issues.

Now it doesn't seem to be needed anymore, and it actually gets in the
way (see exceptions for various modules).

Change-Id: Ibb944fc5ab4754bf4006ebb3b75d9d8e5e0d8312
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327620
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-10-16 16:01:32 +00:00
Brian Salomon
6c11ba2334 fix always true comparison in assert
Bug: skia:10632
Change-Id: I271875a73b7e80a3ef5ea357eab7c8165440e7a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327718
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-10-16 15:54:02 +00:00
Mike Klein
a0c6731b12 update SkTPin()
- Reword the comment to explain how it differs from std::clamp().
 - Document and test an alternative form using std::{min,max}.

Change-Id: I3a97b98a15303478a5a7ff8d0536829f6d5f1586
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327696
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-10-16 15:50:32 +00:00
Brian Salomon
7db7139f40 Revert "Revert "Move all YUVA image creation in GMs into sk_gpu_test::LazyYUVImage.""
This reverts commit 839fb228ac.

Cq-Include-Trybots: luci.skia.skia.primary:Build-Debian10-Clang-arm-Debug-Chromebook_GLES
Bug: skia:10632
Change-Id: I7c9fc21f03dfd0537fed6074e550dd8a500a12b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327623
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-10-16 14:58:13 +00:00
Tyler Denniston
acafbe8721 Reland "Add subset of W3C test suite to SVG corpus"
This reverts commit 7767a269f8.

Reason for revert: removing bad SVGs from parse tests

Original change's description:
> Revert "Add subset of W3C test suite to SVG corpus"
>
> This reverts commit f761a8c1e5.
>
> Reason for revert: breaking some CPU bots due to parse errors
>
> Original change's description:
> > Add subset of W3C test suite to SVG corpus
> >
> > Bug: skia:10845
> > Change-Id: I5a98f4f50f3f507b01d847464d21926705134354
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327199
> > Auto-Submit: Tyler Denniston <tdenniston@google.com>
> > Commit-Queue: Tyler Denniston <tdenniston@google.com>
> > Reviewed-by: Kevin Lubick <kjlubick@google.com>
> > Reviewed-by: Florin Malita <fmalita@chromium.org>
> > Reviewed-by: Ravi Mistry <rmistry@google.com>
>
> TBR=rmistry@google.com,kjlubick@google.com,fmalita@chromium.org,fmalita@google.com,tdenniston@google.com
>
> Change-Id: I0235f43b512c0f3baa0cd069479712cf885a14b9
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:10845
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327377
> Reviewed-by: Tyler Denniston <tdenniston@google.com>
> Commit-Queue: Tyler Denniston <tdenniston@google.com>

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

# Not skipping CQ checks because this is a reland.

Bug: skia:10845
Change-Id: If55b984e47712ee8e4ff84bf691c1dce997f17c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327621
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2020-10-16 14:54:43 +00:00
Brian Salomon
839fb228ac Revert "Move all YUVA image creation in GMs into sk_gpu_test::LazyYUVImage."
This reverts commit db0288d747.

Reason for revert: undeclared tuple size

Original change's description:
> Move all YUVA image creation in GMs into sk_gpu_test::LazyYUVImage.
>
> LazyYUVImage now supports making images from a generator and from
> textures. It uses ManagedBackendTexture to manage texture plane
> lifetime via ref-counting.
>
> Adds some supporting utility functions to SkYUVAInfo and
> SkYUVAPixmaps.
>
> Eases transition of forthcoming MakeFromYUVATextures API change.
>
> Bug: skia:10632
>
> Change-Id: I8cfd747c27076d1627da6ea8a169e554a96049e0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/326720
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: Icdfb70f7dadd97eace8f88d5a886d31534102f5f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10632
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327622
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-10-16 13:37:43 +00:00
Brian Salomon
db0288d747 Move all YUVA image creation in GMs into sk_gpu_test::LazyYUVImage.
LazyYUVImage now supports making images from a generator and from
textures. It uses ManagedBackendTexture to manage texture plane
lifetime via ref-counting.

Adds some supporting utility functions to SkYUVAInfo and
SkYUVAPixmaps.

Eases transition of forthcoming MakeFromYUVATextures API change.

Bug: skia:10632

Change-Id: I8cfd747c27076d1627da6ea8a169e554a96049e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/326720
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-10-16 13:19:01 +00:00
Brian Salomon
1131b659f6 Reenable circle blur fast path for ellipse that transforms to circle
Bug: chromium:1132617
Change-Id: Id9ecc22dfd1720195e0753cfc2b0897fe09dc2ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327378
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-10-16 13:18:53 +00:00
skia-autoroll
fd74ac6498 Roll SwiftShader from 52c1a859d9eb to 04bd4d8e4ece (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/52c1a859d9eb..04bd4d8e4ece

2020-10-15 amaiorano@google.com Add unit tests for arithmetic ops with constant args
2020-10-15 eholk@chromium.org Handle mul instructions with two immediates on x86-32 and x86-64

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: robertphillips@google.com
Change-Id: I630144d9c2e4fc40e1b0a5bf2e90813b0c290169
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327503
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-16 04:53:41 +00:00
skia-autoroll
68e6421605 Roll Chromium from 37c343f01f2b to 17855e1b657e (436 revisions)
37c343f01f..17855e1b65

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 robertphillips@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: robertphillips@google.com
Change-Id: I2cab87524c896f850f0fc9dbb971fc22a1e1335e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327502
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-16 04:49:02 +00:00
skia-autoroll
c35d6239b3 Roll Dawn from 84b70a6e4d93 to b1938273e405 (13 revisions)
https://dawn.googlesource.com/dawn.git/+log/84b70a6e4d93..b1938273e405

2020-10-16 enga@chromium.org Revert "Replace the wire serializer with a no-op impl on disconnect"
2020-10-16 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 95dc655bf8a6 to 89042538376b (1 revision)
2020-10-15 brandon1.jones@intel.com Allow Clearing Integer Formats To Large Values
2020-10-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 481ecff293db to 95dc655bf8a6 (1 revision)
2020-10-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 53380f9ed76f to 481ecff293db (1 revision)
2020-10-15 cwallez@chromium.org Fix a small typo in Format.cpp alwaus -> always
2020-10-15 brandon1.jones@intel.com Change Device::Tick To Return Bool
2020-10-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from ff267ca60e14 to 53380f9ed76f (1 revision)
2020-10-15 enga@chromium.org Replace the wire serializer with a no-op impl on disconnect
2020-10-15 cwallez@chromium.org Make dawn_use_x11 = use_x11 when building inside Chromium
2020-10-15 cwallez@chromium.org ShaderModule: Don't use Format::Type for reflection.
2020-10-15 cwallez@chromium.org TextureView: only store the Aspect as a bitfield.
2020-10-15 cwallez@chromium.org Format: Move the TexelBlockInfo inside an AspectInfo.

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 enga@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: enga@google.com
Change-Id: I3b70d834d2492d82b2f198a74eba96ee03205ea5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327501
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-16 04:45:01 +00:00
skia-autoroll
b871548b90 Roll ANGLE from a2ef814426ee to b4fb7cc9ec8f (15 revisions)
a2ef814426..b4fb7cc9ec

2020-10-16 jmadill@chromium.org Test Runner: Print reproduction steps on a batch failure.
2020-10-16 jmadill@chromium.org Add priority to trigger.py jobs.
2020-10-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Headers from 94ff600cc862 to 04306fa5d673 (2 revisions)
2020-10-16 jmadill@chromium.org Perf tests: remove redundant null naming.
2020-10-15 syoussefi@chromium.org Vulkan: Fold deferred clears into current clears
2020-10-15 jonahr@google.com GLX, EGL: Support NV_robustness_video_memory_purge
2020-10-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 465acf564a41 to 7d11021098f2 (2 revisions)
2020-10-15 geofflang@google.com Cache BlitGL initialization state with a single bool.
2020-10-15 j.vigil@samsung.com EGL: Entrypoint and autogen for EGL_KHR_reusable_sync
2020-10-15 courtneygo@google.com Vulkan: Remove serial from RenderPassHelper
2020-10-15 lehoangq@gmail.com Metal: Use MipmapNativeLevel class to store native mip lvl
2020-10-15 jmadill@chromium.org GLES/GL/Win: Suppress all constancy samples tests.
2020-10-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from e72c6099f946 to 52c1a859d9eb (3 revisions)
2020-10-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from f121d1252b2a to 465acf564a41 (2 revisions)
2020-10-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 20d60a8527d7 to 312a2b1c9d05 (473 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 robertphillips@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: robertphillips@google.com
Test: Test: angle_deqp_egl_tests
Change-Id: Iaa8a81e13083dd1b60189b31ff7356721abc99d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327500
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-10-16 04:42:31 +00:00
Florin Malita
b3418103e9 Reland "[svg] Relocate out of experimental"
Move the SVG rendering code to modules/svg, and componentize.
Also split into include/src/utils.

As external clients still reference the old header locations,
introduce temporary forwarding headers to facilitate the migration.

This reverts commit d6cf56fd34.

TBR=

Change-Id: Ibadd7c8dc0464ec0c27841530ade0c2098305d20
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/327344
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
2020-10-16 02:32:41 +00:00