Commit Graph

49632 Commits

Author SHA1 Message Date
Nathaniel Nifong
d0c9d0cb7f Replace arcTo with three functions for it's overloads.
I found this to be about 15% faster on a benchmark designed to stress these functions.

https://github.com/flutter/flutter/issues/61305

Change-Id: I9dc2a8396e54c55464bb71562de0c07c853e829c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303024
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-07-17 19:08:03 +00:00
Chris Dalton
89883ca559 Bind deferred vertex buffers during GrGLOpsRenderPass::onDrawIndirect
When GrGLCaps::drawArraysBaseVertexIsBroken() is true, we have to stash
the vertex buffer away and defer binding until the draw call occurs. We
were forgetting to do this last-minute binding during onDrawIndirect.

Change-Id: I19a93cf2bd6d559e762e7ea1bca33a5e0fd4f03d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303584
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-07-17 19:04:23 +00:00
Florin Malita
f2d90659ff [skottie] Fix analytical mask fill type
Sksg::Merge needs to preserve the fill type of the first path appended
in the stack.

Theoretically, one could append multiple paths with different fill types
using sksg::Merge, but in practice Skottie should never do that (append
mode with invertible shape only used for the very first mask in a stack).

TBR=
Change-Id: Ie9ac9187cc1c8baaae2bef439313a7700407f04a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303582
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-07-17 18:35:23 +00:00
John Stiles
e911ce525b Add an input FP to the GrProcessorTestData.
This will be leveraged in followup CLs.

Change-Id: Iccc6071867f0044fc3ab935fc18ac38dea0ebac2
Bug: skia:10384
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303585
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-07-17 18:27:53 +00:00
Robert Phillips
057c33fe63 Clean up some GrContext uses in the GMs
This is part of the effort to replace GrContext with the GrDirectContext/GrRecordingContext pair.

It also tries out, a bit, the context naming proposal (i.e., rContext and dContext).

Change-Id: Ib4d9881f820a7f8a8c525eba7448b1015526400c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303627
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-07-17 17:11:20 +00:00
Adlai Holler
9f1760bf73 Remove two unused deprecated SkImage functions
This is part of a larger effort to clean up the SkImage API and require
users to provide the direct GPU context for manipulating GPU images.

Bug: skia:104662
Change-Id: Ic7fd675a6ec09f001266fd79efdf084368ab6cd5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303630
Commit-Queue: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-07-17 17:02:10 +00:00
Nathaniel Nifong
2d7afd4824 fix heap-buffer-overflow by not returning string from reportBackendType
Change-Id: I2dbced29f9d43454e35e3ff9fbbb97d11fef29a2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303623
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-07-17 16:42:30 +00:00
Brian Osman
f4e5737825 fuzz: Add 'loops' option to run multiple times
Helpful for bugs that require evolving global state over multiple
iterations, or bugs that don't repro 100% deterministically.

Change-Id: I4499a8783b00ccd079b79219cad2a4d45e467777
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303581
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-07-17 16:23:30 +00:00
Weston Tracey
cd6411a009 Add updated provisioning_profile_ios that includes iphone 11s.
Change-Id: I50d3ffce133fb7bb93c40d73df23fc8121aa3318
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303579
Commit-Queue: Weston Tracey <westont@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Auto-Submit: Weston Tracey <westont@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2020-07-17 16:15:30 +00:00
Herb Derby
c24a6afdb0 create SkAtlasSubRun API subclass SkMaskSubRun
The SkMaskSubRun is just a temporary name while I pull out the
different subclasses.

Change-Id: I363742a98a0596ba3d282b918cc0492ab1e0e5d9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303357
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-07-17 15:55:20 +00:00
Herb Derby
cae31f8b8f make prepareGrGlyphs private
Change-Id: I0927b8a468188b358a87f362a528fe32cf9aec71
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303577
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-07-17 15:18:20 +00:00
Herb Derby
b228a72cf5 remove unused calls: grGlyph and quadOffset
Change-Id: I7e9b1c18edf5b0cf9ccaae3be948aff96d865abd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303598
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-07-17 14:15:00 +00:00
Michael Ludwig
c97ebe06dc Sneak per-GrBlockAllocator user-controlled metadata into head block
Previously, the blocks owned by a GrBlockAllocator provided block-level
metadata that users could control to track within a block. For types
like GrTAllocator (and a collection coming down the pipe), they need
to store a total count of allocations.

Since GrBlockAllocator is max-aligned, having them hold on to a single
extra int adds 4 to 12 bytes of padding for 8 and 16byte aligned
platforms. But, the old Block size already has 4 bytes of extra padding
since it was 28 bytes packed. This had been allowed to be allocation
data, for requests that were 4-byte aligned or less.

In practice, I think it's better to use that space for allocator-level
metadata so that a total count, or other high-level data, can be
packed into the data already held by GrBlockAllocator. Now GrTAllocator
instances should be 8-16 bytes smaller on those same platforms. Also
no longer writing into the struct-padded nether-realm, which is probably
just a good thing on principle.

Also cleans up how GrTAllocator's push_back() and emplace_back() are
tested to make sure all options are clearly covered.

Change-Id: If1da29132f3ec8df7a4056fcd834f760eb4693f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303267
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-17 13:31:10 +00:00
skia-autoroll
9acf5844ca Roll ANGLE from 6fe87f4a226d to cc5513855cc5 (14 revisions)
6fe87f4a22..cc5513855c

2020-07-17 cclao@google.com Vulkan: Add cache for default uniform descriptor set
2020-07-16 cclao@google.com Vulkan: add Buffer/Texture/ImageViewSerial  class
2020-07-16 timvp@google.com Remove ProgramPipelineState::mHasBeenBound
2020-07-16 cclao@google.com Vulkan: Let all shader stages share one buffer for default uniform
2020-07-16 jmadill@chromium.org Perf Tests: Fix trace test calibration.
2020-07-16 xinyi.he@arm.com Vulkan: Fix capturing arrays using VK_EXT_transform_feedback
2020-07-16 lehoangq@gmail.com Metal: fix max point size and RGB565 renderbuffer bug.
2020-07-16 lehoangq@gmail.com Metal: Prevent vertex shader's inactive varying from being removed
2020-07-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 4c33fb0d3dba to 7221ccf85e26 (5 revisions)
2020-07-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 1de497cc50ab to 0a8f44c514ce (1 revision)
2020-07-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from b481744aea1e to 4f72970ed3e0 (1 revision)
2020-07-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from 521eaacef67a to d093d9723b7c (2 revisions)
2020-07-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from d8f34456c819 to dd3511549b18 (1 revision)
2020-07-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 04c82ec6f36f to 7548cbeabfa7 (100 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 nifong@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
Bug: None
Tbr: nifong@google.com
Test: Test: CQ
Change-Id: I276990747cc966c3848456deee087c15bdb39d81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303408
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-17 05:25:05 +00:00
skia-autoroll
14d6552dd5 Roll SwiftShader from 0a8f44c514ce to 0e82586297a8 (5 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/0a8f44c514ce..0e82586297a8

2020-07-17 amaiorano@google.com Fix MacOS Chromium build (source_set dupe)
2020-07-16 amaiorano@google.com Fix MacOS (darwin) Chromium build on LLVM 10
2020-07-16 amaiorano@google.com Added Fuchsia support to LLVM 10 update script and updated configs
2020-07-16 amaiorano@google.com Use LLVM 10 instead of 7 for GN builds
2020-07-16 cwallez@chromium.org Fix B<->T copies of multiple array layers and unpacked rowpitch

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 nifong@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: nifong@google.com
Change-Id: Ifa65924ea22e40dc99a329a0e9acd7e2b71138e4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303409
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-17 04:53:55 +00:00
skia-autoroll
65a88eb4be Roll dawn from 1b9b53a39576 to cb2938a1afd7 (7 revisions)
https://dawn.googlesource.com/dawn.git/+log/1b9b53a39576..cb2938a1afd7

2020-07-17 enga@chromium.org D3D12: Bucket descriptor allocation by powers of two
2020-07-16 enga@chromium.org Add missing headers to BUILD.gn and CMakeLists.txt
2020-07-16 enga@chromium.org Validate 1D texture bindings cannot be multisampled
2020-07-16 cwallez@chromium.org dawn_wire/server: Use MapAsync to do Map[Read/Write]Async
2020-07-16 cwallez@chromium.org DawnTest: Use MapAsync for expectations.
2020-07-16 cwallez@chromium.org Roll third_party/swiftshader/ ad65826a2..e8dd233c7 (10 commits)
2020-07-16 tommek@google.com Implementing Queue::WriteTexture in Vulkan

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: I1739ad404957a1418f7d04d991dc21392b5e4dfc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303407
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-17 04:48:35 +00:00
Chris Dalton
d72cb4c076 Mixed samples/conservative raster cleanups for tessellation
Tessellation previously worked under the assumption that conservative
raster was always supported if we were using mixed samples, but this
is not the case in ANGLE. This CL checks for support before using
conservative raster and also disables the atlas if kAlpha8 does not
support MSAA.

Bug: skia:10419
Change-Id: I0bf429b3b7bb3f0e67c46552f08c689b7b816b57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303480
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-07-17 00:39:03 +00:00
skia-autoroll
3164b4494f Roll skcms from c21106442079 to f73242142ce5 (1 revision)
https://skia.googlesource.com/skcms.git/+log/c21106442079..f73242142ce5

2020-07-16 mtklein@papyrus.localdomain add skcms_TransferFunction_isFooish()

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 nifong@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

Change-Id: I77846e3f984c295e25f7a72c38cdb0002de24a8f
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: nifong@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303442
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-16 21:50:37 +00:00
Mike Reed
fd6f709ce8 Revert "Revert "Serialize mipmaps""
Fix: use ImageGenerator factory instead of SkCodec, in case the client
provides generators in some other fashion (other than SkCodec).

This reverts commit 442d424a72.

Change-Id: Ia22f44ef83900413f905fe38570d18a640fca98e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303496
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-07-16 21:30:27 +00:00
skia-autoroll
b7f47e832a Roll skcms from 403d32176ebc to c21106442079 (1 revision)
https://skia.googlesource.com/skcms.git/+log/403d32176ebc..c21106442079

2020-07-16 mtklein@google.com bump emscripten/node

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 nifong@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

Change-Id: I69a2eec2092931706b2519dbb002fde6c1f208c2
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Tbr: nifong@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303269
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-16 20:24:34 +00:00
Mike Reed
442d424a72 Revert "Serialize mipmaps"
This reverts commit ab5b845318.

Reason for revert: breaks chrome -- need to use generators instead of codecs

Original change's description:
> Serialize mipmaps
> 
> We store an array of png-blobs for each level in the mip.
> 
> Change-Id: I745ee35cfec64b4b39c30650e3e5ab9b0a0ad5fd
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303023
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

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

Change-Id: I097cc7dfdb068fbe8043518da533195c0f115dbb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303476
Reviewed-by: Mike Reed <reed@google.com>
2020-07-16 20:19:40 +00:00
Michael Ludwig
a291b37c74 Fix GrTAllocator tests
Change-Id: I5bf9470a3d7822ea1edee7abf693037322e5d4e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303265
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-16 19:35:14 +00:00
Brian Osman
6b5dbb4814 Make invokeChild default to fInputColor, rather than half4(1)
By extension, this changes the default behavior of sample() in .fp
files. This lets us remove the explicit fInputColor/sk_InColor
arguments everywhere. Most sites that were using the default no
longer care what's passed, as the child is known to be a texture
effect that will ignore the input color. The few remaining sites
now explicitly pass half4(1) when necessary.

Change-Id: Ie4691b049f905d098e9befe8bd07706a496f2968
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303356
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-07-16 19:16:14 +00:00
Brian Salomon
a7d9f30f4a Consolidate sampler->index/key conversion
Share code between GL and other backends.

Prepare for separate GrSamplerState field to control mip mapping.

Bug: skia:10344

Change-Id: I16adae3512e11971f98c63ae08fb8cde31332520
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/302910
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-07-16 18:59:04 +00:00
Herb Derby
268e48b938 reorganize GrAtlasTextOp creation
Break the GrAtlasTextOp ctor into a mask version, and an SDFT version.
Reorganize geometry creation to allow more of the GrAtlasSubRun API
to be private.

Change-Id: Ic29d4026a15386d135e0fabc4f270810d1638b2d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303262
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-16 18:39:14 +00:00
Adlai Holler
73424fd506 FIx imagemakewithfilter test in OOPRDDL config
If we have a DDL context, we can't make texture backed images and
we should skip this test. Notably, we intentionally do not want this
test to fall back to raster in this case.

Bug: skia:104662
Change-Id: I9c1fdf1608d177f905838cbbbd66f1a3ab61134a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303264
Commit-Queue: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2020-07-16 18:38:23 +00:00
Greg Daniel
cffb062092 Use staging buffers in d3d for texture uploads.
Change-Id: I00a00e62dfb2021a2c380ef4217c1acec1f07672
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303258
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-07-16 18:16:34 +00:00
Herb Derby
fd894ff69a simplify GrAtlasTextOp's onPrepare
Change-Id: Ib9fa2d9300a5bc7bfe7231cd858128a79a93bb48
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/302839
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-16 18:10:03 +00:00
Mike Reed
ab5b845318 Serialize mipmaps
We store an array of png-blobs for each level in the mip.

Change-Id: I745ee35cfec64b4b39c30650e3e5ab9b0a0ad5fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303023
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-16 18:04:59 +00:00
Brian Osman
f48f76e00f Remove modulation by input color in GrTextureEffect
Most internal users of GrTextureEffect do not want this behavior. For
situations where we do (as part of paint conversion, actual image draws,
etc...) make that modulation explicit as part of the FP tree.

Bug: skia:10139
Change-Id: Ia975e1eb063c6852ad7fba9557d7ac7122eaf53b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303026
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-07-16 18:04:58 +00:00
Elliot Evans
d511d9a086 Add Puppeteer perf for release and experimental_simd builds of CanvasKit against SKPs
Adds the command:
  make skps_release_and_SIMD
for perfing builds against a set of SKPs in ~/skps for release and
simd builds of CanvasKit. Also outputs a summary of the perf results
in a table format.

See the document "SIMD CanvasKit Build Performance Testing"
for more details:
https://docs.google.com/document/d/114kdSGPMnOSQCZ7pFgd3MGMn5mIW562RMoXVmD13e0M/edit#

Bug: skia:10453
Change-Id: I311629a1420301dda41f7ec57ce1403b05fd949b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/301982
Reviewed-by: Elliot Evans <elliotevans@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-07-16 17:47:08 +00:00
Ravi Mistry
21522e846e Add canary roll CL link to canary task driver
https://screenshot.googleplex.com/yo6aL7mtsY3

Bug: skia:10477
Change-Id: I5b7cc1a5f72583b0e62e627b5258ec1436bf3a0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303260
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-07-16 17:34:08 +00:00
Mike Klein
6514832226 support 64-bit gather()
This splits 64-bit PixelFormats into two 32-bit parts and gathers both
independently.  E.g.

    F16 = {HALF, 16,16,16,16,  0,16,32,48}
  ~> lo = {HALF, 16,16, 0, 0,  0,16,32,32}
  ~> hi = {HALF,  0, 0,16,16, 32,32, 0,16}

The logic at the end merges the channels we gather from each part.

This all does strongly assume no channel straddles lo/hi, which we
assert.  We'd need to get more clever to handle something like
20-20-20-4.  I'm working on load() and store() now, and they'll need
this same format assumption.

Since I've so far only added support for gather(), I've introduced a
little temporary hack in SkImageShader to let it work just to demo this
all.  This hack will go away when I add support for load and store.

Change-Id: Ic4cfda7922f2e51bb7698adedf6f655de43da630
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303320
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-07-16 17:12:38 +00:00
Ravi Mistry
7fe0359130 Add Canary task driver and bots for Android/Chromium/Flutter
Bug: skia:10477
Change-Id: Ibf9bcb1d03a6003d00b124db8d826c7952842fef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300780
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-07-16 16:44:27 +00:00
Julia Lavrova
a30095d17c Revert "ICU API: only in SkParagraph, simplified (relanding reverted)."
This reverts commit 7479eda3b6.

Reason for revert: Breaking build

Original change's description:
> ICU API: only in SkParagraph, simplified (relanding reverted).
> 
> Reverted commit: https://skia-review.googlesource.com/c/skia/+/296128/
> 
> Change-Id: Iaf793bff94a6060579c7d6176d477e598c047be6
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303261
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Julia Lavrova <jlavrova@google.com>

TBR=reed@google.com,jlavrova@google.com

Change-Id: Idd4c41e22aa59e24bdbd07f2fa5e9258c1bbb7a7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303358
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-07-16 16:35:12 +00:00
Adlai Holler
4caa935bfe Migrate MakeTextureImage to take GrDirectContext
This is part of a larger effort to force SkImage users to specify
the direct context they want to use when manipulating GPU images.

Chrome CL 2299194 (landed) enables the staging flag.

bug: skia:10466
Change-Id: I959db57dd8dca5c2622eb5ffaa7de161c4d6d8f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/302643
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-07-16 16:17:28 +00:00
Julia Lavrova
7479eda3b6 ICU API: only in SkParagraph, simplified (relanding reverted).
Reverted commit: https://skia-review.googlesource.com/c/skia/+/296128/

Change-Id: Iaf793bff94a6060579c7d6176d477e598c047be6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303261
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-07-16 15:57:28 +00:00
Joe Gregorio
9d960f1e0f Add more tests to the Pixel4 R Preview devices.
Bug: skia:10371
Change-Id: Iab54b8ae6764b41a010bd81c750d8285869ee58a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303020
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2020-07-16 15:42:28 +00:00
Ravi Mistry
1781c18f06 Rename G3 framework bot to Canary-G3
Adds new builder name schema for "Canary-*".

Bug: skia:10477
Change-Id: I0906c6e2df0af405ae3a2138b0fdeb99a9375853
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/300700
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-07-16 15:32:38 +00:00
Mike Klein
f56e1c317a add HALF support to PixelFormat
This is somewhat speculative; the newly supported F16 alpha and F16
red-green formats are not widely used or tested.  This will become
better covered soon by F16 RGBA when I add support for 64-bit pixels.

Change-Id: Ie1260e2bb5e9c057064e3133937ff6910ab84269
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303297
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-07-16 15:29:28 +00:00
Herb Derby
fee89ccefd SkSpan cleanup
* Check index in operator[]
* Use begin/end in const versions
* Remove returning SkSpan{} when empty for first, last, and subspan.

Change-Id: I0348ff8effb01e9175c5afaa52ddb0724f86218d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303259
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-07-16 14:48:58 +00:00
Mike Reed
c47778631e Revert "Revert "remove support for serialized pictures before aug 2019""
This reverts commit 59e1602a52.

Change-Id: Id43c23f80294c42b4f15fe2f3b65247d6e1baac3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/302836
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-07-16 14:32:48 +00:00
Robert Phillips
4e105e2e06 Clean up GrContext references in the src/gpu
This CL tries to remove all uses of GrContext - replacing them with
either GrDirectContext or GrRecordingContext. Preferring the recording
context wherever possible.

Change-Id: I61af94928aa37bc82ff9923acffd57586610f695
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/302904
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
2020-07-16 14:14:08 +00:00
Mike Klein
2b4404b14b JIT to_half/from_half
Tricky parts:
   - remembering that we're carrying these 8 half floats around
     in a ymm as an I32, not the more natural dense xmm;
   - remembering to fix up the middle 64-bit lanes after vpackusdw
     leaves things in an order you'd have to be Intel to love.

The tests from the previous CL cover this, and pass.

Change-Id: I5dfde54c1392388c82ee9c8274b83bc1d63b6577
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303045
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-07-16 13:43:58 +00:00
Brian Salomon
d198711e46 Revert "Don't avoid disabling subset for planar image draws"
This reverts commit 8f32f1300d.

Reason for revert: changes on chrome roll

Original change's description:
> Don't avoid disabling subset for planar image draws
> 
> Change-Id: Icb34f14d1103a7849813d4b80e7733ba9b743a99
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/302638
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I6f7aff58e3e5fd4c6ff6997bf3e13a0191bc2d28
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303257
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-07-16 13:20:30 +00:00
Greg Daniel
9d02a4c0a9 Using staging buffers for vulkan texture uploads.
Change-Id: I166755b3e385fcea919a6daad8cc8407fda8c27a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303016
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-07-16 13:10:18 +00:00
skia-autoroll
88f65ceefd Roll ANGLE from 4ad0f250a010 to 6fe87f4a226d (14 revisions)
4ad0f250a0..6fe87f4a22

2020-07-15 cnorthrop@google.com Tests: Change screen orientation for traces on Android
2020-07-15 nguyenmh@google.com Add buffer serialization capability
2020-07-15 jonahr@google.com GL: Fix issue with EXTBlendFuncExtendedES3DrawTest
2020-07-15 jmadill@chromium.org Test Runner: Accept Chromium args.
2020-07-15 kbr@chromium.org Revise documentation on adding EGL extensions.
2020-07-15 cnorthrop@google.com Capture/Replay: More ES 3.1 support
2020-07-15 shrekshao@google.com Fix ANGLE_base_vertex_base_instance baseInstances type
2020-07-15 lehoangq@gmail.com Metal: Compile default shader source files separately.
2020-07-15 lehoangq@gmail.com Metal: Implement MSAA default framebuffer.
2020-07-15 jmadill@chromium.org Fix stale validation cache on buffer deletion.
2020-07-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll glslang from fe24a54808c2 to b481744aea1e (5 revisions)
2020-07-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 94667fbf66ee to 4c33fb0d3dba (12 revisions)
2020-07-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from cd0af6456eb1 to 1de497cc50ab (3 revisions)
2020-07-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from 0bc4c2ae7012 to d8f34456c819 (2 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 nifong@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
Bug: chromium:1099763,chromium:1105202
Tbr: nifong@google.com
Test: Test: Capture from beginning of Asphalt 8 and Aztec Ruins
Change-Id: I42c068c939ac8612f1d68fd545a6b40a1bd55357
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303196
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-16 05:25:04 +00:00
skia-autoroll
78a1e68458 Roll SwiftShader from 1de497cc50ab to 0a8f44c514ce (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/1de497cc50ab..0a8f44c514ce

2020-07-15 bclayton@google.com Regres: Collate and add new documentation for Regres

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 nifong@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: nifong@google.com
Change-Id: Iedff0106b4044d803dab0d1c8f0cd6d9c35482d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303197
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-16 04:52:24 +00:00
skia-autoroll
7d4fbc5f64 Roll dawn from b31f5e717e2d to 1b9b53a39576 (9 revisions)
https://dawn.googlesource.com/dawn.git/+log/b31f5e717e2d..1b9b53a39576

2020-07-16 cwallez@chromium.org dawn.json: Noop fixup for writeTexture.
2020-07-15 kainino@chromium.org Use canned CheckPatchFormatted instead of our own linting
2020-07-15 tommek@google.com Adding TextureZeroInitTests for WriteTexture
2020-07-15 kainino@chromium.org Add .clang-format files and format more files
2020-07-15 natlee@microsoft.com [D3D12] Add DXGIAdapter to AdapterDiscoveryOptions
2020-07-15 tommek@google.com Implementing Queue::WriteTexture in Metal
2020-07-15 sdefresne@chromium.org Convert GN libs lists to frameworks
2020-07-15 kainino@chromium.org Fixes for Emscripten generators
2020-07-15 jiawei.shao@intel.com Optimize B2T and T2B copies with multiple texture layers on D3D12

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: Iaf4735447bea7e6a62e3bf3473107f28857d84e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303138
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-07-16 04:48:24 +00:00
Florin Malita
cd11a51a11 [skottie] Fix mask difference
Difference [1]:

  The mask is added to the masks above it in the stacking order. In
  areas where the mask does not overlap the masks above it, the mask
  operates as it would alone on the layer. In areas where the mask
  overlaps the masks above it, the influence of the mask is subtracted
  from the masks above it.

^ sure sounds like XOR

[1] https://helpx.adobe.com/after-effects/using/alpha-channels-masks-mattes.html#mask_modes

Bug: skia:10502
TBR=
Change-Id: I8aea937224cfadce54c4fc1d014b63d00efdbec4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303025
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-07-16 01:05:24 +00:00