Commit Graph

48032 Commits

Author SHA1 Message Date
Mike Klein
48e782486f set up stack frames on aarch64
Going to be easier to work on stack/register things if we
don't have to keep thinking of aarch64 as a special case.

This just sets up the frames, will follow up with JITMode::Stack.

Change-Id: Ic0df4c5deb9c7d55eb73a62e4b6b1c9919996974
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284243
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-17 16:44:53 +00:00
Michael Ludwig
57dbcd1fb2 Revert "Respect wrap mode when decimating for blur"
This reverts commit 0dca280047.

Reason for revert: maybe this is the cause of the iOS failures.

Original change's description:
> Respect wrap mode when decimating for blur
> 
> It used to be the case that bilerp wasn't supported for shader-based
> repeats and mirrors, but that is no longer the case. If we switched
> to ClampToBorder in those cases, we could introduce transparent black
> into the decimated image that would then infect the final blur.
> 
> Bug: skia:10145
> Change-Id: Ie273b4d64f082be3ddbdbf54acf201ff1fdfa133
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283940
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

Change-Id: Id672e9ce4d5418db0d7e58fd15fa1c3b5c80e07a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10145
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284278
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-04-17 16:27:34 +00:00
Stephen White
af564a5d0b Dawn: implement fences, callbacks and Finish (syncGpu) semantics.
Change-Id: I04e6c829fb122dc8b2192911bda94e5106927bff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275437
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2020-04-17 16:05:43 +00:00
Mike Klein
a73819bd2b test overdraw filter via public api
Change-Id: I5db5fb8c09a88162466ce5261d57258e5d20bd2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284237
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
2020-04-17 15:25:42 +00:00
Brian Salomon
f49debf07d Fix two GrProcessor names that are not valid idenitfiers
Change-Id: I123caca8649097316f52f6fb0aed2e6ed0d5090a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284256
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-04-17 15:08:12 +00:00
Robert Phillips
8472a3d01c Update DDL test harness to use backendTextures to back tiles (take 2)
This better matches Chrome's use of DDLs.

With path, image, and text draws stripped out, here is the perf impact of this change:

           before CL   after CL
w/ DDLs      7.792      1.038
w/o DDLs     0.800      0.876

This perf improvement (in the DDL case) is from backend texture wrapping SkSurfaces being created w/o initialization. The prior method of SkSurface creation was resulting in double clearing of all the surfaces.

This perf improvement won't be seen by Chrome since they've always being using wrapped backend texture SkSurfaces.

TBR=bsalomon@google.com

Bug: 1056730
Change-Id: Ic04d322cad96df845e75437211208495862c6555
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283866
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-04-17 14:39:44 +00:00
Greg Daniel
a19abd58cb Fix spirv rtheight set.
Change-Id: I11699a09be9c7e2483f8b77117fae83f26e8e4c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284222
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-04-17 14:34:53 +00:00
Kevin Lubick
1bf127479c Reland "Revert "GrDisplacementEffect uses GrTextureEffect.""
This reverts commit 16abfa5e42.

Reason for revert: Appears to have made ANGLE and ios unhappy

Original change's description:
> Revert "Revert "GrDisplacementEffect uses GrTextureEffect.""
> 
> Also further limits the number of FP stages on ANGLE D3D9 to avoid
> varying limit.
> 
> This reverts commit 0b406736c1.
> 
> Bug: skia:10139
> 
> Change-Id: Ifda0b932ab8ce176f1a1cd1ca9c2deaf1fda20bd
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284048
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I0e4b135a59f713342bf5c6c258779975762ccd1f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10139
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284217
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2020-04-17 11:51:47 +00:00
skia-recreate-skps
748197e695 Update Go Deps
Change-Id: Ia5eadbd1831e4b0b946bedd0c2e7ad76946081dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284204
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-04-17 05:34:05 +00:00
skia-autoroll
48a0977cdf Roll ../src 59d223304f3c..41c6b825e65f (406 commits)
59d223304f..41c6b825e6


Created with:
  gclient setdep -r ../src@41c6b825e6

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 kjlubick@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/+/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
Bug: None
Tbr: kjlubick@google.com
Change-Id: I80ab59261cbeeea6f9f7950eb5f34b6f267c2c71
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284196
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-17 04:39:40 +00:00
skia-autoroll
8978cd1a9a Roll third_party/externals/swiftshader 2430d665d3f2..d25ce8725224 (18 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/2430d665d3f2..d25ce8725224

git log 2430d665d3f2..d25ce8725224 --date=short --first-parent --format='%ad %ae %s'
2020-04-17 digit@google.com Fix LLVM-based Arm64 build.
2020-04-16 bclayton@google.com CMakeLists: Enabled more clang warnings.
2020-04-16 bclayton@google.com Device/Blitter: Initialize filter3D fields
2020-04-16 digit@google.com Fuchsia: Add LLVM 10.0 configuration headers.
2020-04-16 amaiorano@google.com CMake: fix PowerVR_Examples build
2020-04-16 amaiorano@google.com Don't fail build if Vulkan headers are different
2020-04-16 amaiorano@google.com CMake: fix add_subdirectory(SwiftShader) when CMAKE_BUILD_TYPE is set in parent project
2020-04-16 amaiorano@google.com CMake: make submodule initialization work for add_subdirectory(SwiftShader)
2020-04-16 amaiorano@google.com CMake: fix add_subdirectory(SwiftShader)
2020-04-16 amaiorano@google.com CMake: use directory variables consistently
2020-04-16 amaiorano@google.com CMake: make root compile options and link libraries private
2020-04-16 bclayton@google.com VkSemaphore: Unlock/Lock the mutex outside the blocking_call.
2020-04-16 bclayton@google.com Regres: Include a better error message when git add fails.
2020-04-16 bclayton@google.com Regres: Avoid dereferencing a nil on process timeout.
2020-04-16 bclayton@google.com Make memoryPageSize() functions thread-safe.
2020-04-16 bclayton@google.com Vulkan: Move SpecializationInfo to own file.
2020-04-16 bclayton@google.com Fix chrome autorollers
2020-04-16 bclayton@google.com Reimplement LRUCache, fold away LRUSnapshotCache, add tests.

Created with:
  gclient setdep -r third_party/externals/swiftshader@d25ce8725224

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 kjlubick@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/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: kjlubick@google.com
Change-Id: Ia051a76dd0652f77bf6cab101a038478e3a783b7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284197
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-17 04:35:15 +00:00
skia-autoroll
dac43e8ad3 Roll third_party/externals/dawn 0721c1cf2a52..53f694b34a8d (8 commits)
https://dawn.googlesource.com/dawn.git/+log/0721c1cf2a52..53f694b34a8d

git log 0721c1cf2a52..53f694b34a8d --date=short --first-parent --format='%ad %ae %s'
2020-04-16 brandon1.jones@intel.com Fix ASAN violation when a heap outlives the ResidencyManager
2020-04-16 brandon1.jones@intel.com Residency Bug: Always Attempt To Evict To Under Budget
2020-04-16 enga@chromium.org Print the failing statement in ASSERT_DEVICE_ERROR
2020-04-16 bryan.bernhart@intel.com D3D12: Remove ComPtr from d3d12::Device::GetD3D12Device()
2020-04-16 cwallez@chromium.org Factor compilation of ~MockProcTable in mock_webgpu.cpp
2020-04-16 cwallez@chromium.org Rolling 2 dependencies
2020-04-16 cwallez@chromium.org Use new gmock MOCK_FUNCTION macro.
2020-04-16 cwallez@chromium.org Correctly support setSubData of 0 bytes.

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang 4d2298bfd78a..4d2298bfd78a
  https://chromium.googlesource.com/external/github.com/google/shaderc 1926de0638b6..1926de0638b6
  https://chromium.googlesource.com/chromium/src/third_party/jinja2 b41863e42637..b41863e42637
  https://chromium.googlesource.com/chromium/src/third_party/markupsafe 8f45f5cfa000..8f45f5cfa000

Created with:
  gclient setdep -r third_party/externals/dawn@53f694b34a8d

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/+/master/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I7d5f6f059cc804c3c7c54c3847663a6f0d7c5b59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284198
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-17 04:34:35 +00:00
Mike Reed
9ad01787a8 remove legacy deserialization of overdrawcolorfilter
- just removing code we think isn't needed...
  we assume folks don't care about long-lived serialized overdrawfilters
  since the filter is just used in dev-tool settings
- easy to revert this if this assumption is not true

Change-Id: I77f6a4e2b38bbd49589c822c9aea19ed5eff2551
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284047
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-17 01:44:21 +00:00
Brian Salomon
16abfa5e42 Revert "Revert "GrDisplacementEffect uses GrTextureEffect.""
Also further limits the number of FP stages on ANGLE D3D9 to avoid
varying limit.

This reverts commit 0b406736c1.

Bug: skia:10139

Change-Id: Ifda0b932ab8ce176f1a1cd1ca9c2deaf1fda20bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284048
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-17 00:07:38 +00:00
Sean Gilhuly
4b06b0b9c9 Remove non-renderable formats in Dawn backend
kABGR_4444 and kBGR_565 don't have a matching wgpu::TextureFormat, so
they should return false in GrColorTypeToDawnFormat(). This was causing
a color type mismatch where GrAtlasManager was trying to use a 565
atlas.

Bug: chromium:1071428
Change-Id: Id086ab67bad012fbcbe5decb22e642c943093a8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284103
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2020-04-16 20:29:32 +00:00
Brian Osman
1c61eba304 SkM44: Remove unused determinant & redundant checks in invert
Also warn about unused returns from transpose(), which has different
semantics than the SkMatrix44 version.

Change-Id: I0cf271ee5e020a81ddd696cc269bdada937a841e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284116
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-04-16 20:25:41 +00:00
Robert Phillips
4e3ceb96b8 Fix up GPUDDLSink for Vulkan
Change-Id: If38afff3d07f51fd0f5a989c2f59e3c788086f8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284099
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-04-16 20:17:12 +00:00
Mike Klein
c15c936c3e GP64 Operand conversion
Move all the non-vector instructions together,
and convert them to use Operand where possible.

In general that can be any of
   - (Operand, imm)
   - (Operand, GP64)
   - (GP64, Operand)
and that means there are two ways to encode (GP64,GP64)
instructions, so there's a disambiguator added.

Our measure of sucess is eliminating calls to rex()
except from our one helper, and so far, so good.

I haven't seen a need for Label Operands yet, and they're
only useful as (GP64, Operand) style arguments (can't
really be destinations in read-only memory) but we could
add support pretty easily if we find the need.

Tweak one test to avoid int/pointer ambiguity about 0.

Changed some of the instructions to always use a REX
prefix just to make it easier to funnel everything
through one place.  movzbl -> movzbq, etc.

Change-Id: I606f94e76e0ef8f491409f23748f5c8dcb607491
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284023
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-16 19:39:11 +00:00
Stephen White
b353c9bdd3 Reland "Refactor GL and Metal FinishCallback into a helper object."
This is a reland of b641ddbba0

Original change's description:
> Refactor GL and Metal FinishCallback into a helper object.
> 
> Change-Id: I52ede0363016459976e453ef71cafbcc6775f22e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283496
> Commit-Queue: Stephen White <senorblanco@chromium.org>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

Change-Id: Ia77c05c0358b6ccab1e8c0f0c06212786f415cb1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284042
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2020-04-16 19:20:06 +00:00
Brian Salomon
0b406736c1 Revert "GrDisplacementEffect uses GrTextureEffect."
This reverts commit a111297aaf.

Reason for revert: breaking on D3D9 ANGLE Programs test because of
varying packing rules.

Original change's description:
> GrDisplacementEffect uses GrTextureEffect.
> 
> Bug: skia:10139
> 
> Change-Id: I105eeed9d8c9eda8f04828f5a084d6d7be0a6bbe
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283781
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I073b48b9d2dfb75f0281035add97cb172c0ee84c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10139
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284046
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-16 19:17:23 +00:00
Mike Reed
b6af407d67 change Overdraw colorfilter to be pure sksl
About same speed on CPU as pipeline-callback

Change-Id: If8769bebb3c51b5ea61fc34d76dde0cfc16b8473
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283871
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-16 19:15:01 +00:00
Julia Lavrova
f3f822c791 getRectForRange with HeightStyle == kTight should ignore strut metrics
Bug: skia:10135
Change-Id: I7b96f17f7c94bfa499fd91a293fe4897352cd4ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283645
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-04-16 18:56:21 +00:00
Weston Tracey
53004dadd2 Remove Debian10 Flutter_Android, change BuildStats to use Debian9 Docker
Bug: skia:9438
Change-Id: Ieef20c71622d7db4f9be9d54b393eec123b19d8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284041
Auto-Submit: Weston Tracey <westont@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-04-16 18:32:21 +00:00
Brian Salomon
a111297aaf GrDisplacementEffect uses GrTextureEffect.
Bug: skia:10139

Change-Id: I105eeed9d8c9eda8f04828f5a084d6d7be0a6bbe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283781
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-16 18:19:21 +00:00
Michael Ludwig
f3f08af010 Rename GrShape to GrStyledShape
Change-Id: Ic457e634b4b95356f5615cff3fce1ca7d7677c26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284036
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-04-16 18:05:51 +00:00
Michael Ludwig
0dca280047 Respect wrap mode when decimating for blur
It used to be the case that bilerp wasn't supported for shader-based
repeats and mirrors, but that is no longer the case. If we switched
to ClampToBorder in those cases, we could introduce transparent black
into the decimated image that would then infect the final blur.

Bug: skia:10145
Change-Id: Ie273b4d64f082be3ddbdbf54acf201ff1fdfa133
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283940
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-04-16 17:21:41 +00:00
Mike Klein
8390f2ead6 lots more refactoring
Rename YmmOperand to Operand, focusing on that side of things for
now.  And delete unused GP64Operand... might not need to return.

Big refactor around W and L bits and the helper op() functions.
Lots more is now funneled through a single core op() function.

Support Xmm and GP64 (direct moves) as Operands too.

As a rule of thumb I measured my progress by counting vex() calls.
Ideally we call it only in that centralized op().

I think I got as close as we can get, with only vgatherdps calling vex()
itself.  Given its weird encoding, there's no good way to work
vgatherdps into the abstraction.  It's close to Mem{base,0,index,scale},
but the index is a Ymm register, and there isn't any corresponding
special cases for it like there is normally for rsp in SIB.

Change-Id: I48e4583293e1df386a18d37ad54197016ce13251
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283806
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-04-16 16:55:32 +00:00
Weston Tracey
5fae9adb0f Dockerize Flutter Android job.
Use a Debian9 container because the build scripts for Flutter Android require jdk8, which isn't available on Debian10.
-Shell script executes the GN and Ninja commands
-flutter.py executes the script in Debian9 container
--the Flutter build is particular about directory structure and uses various relative paths, so the entire swarming directory is mounted.
-Followup CL will update remove the old Flutter Android job and update the BuildStats job.

Bug: skia:9438
Change-Id: I60c62425f21214b4ae6a810a787418a8975d204e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282616
Commit-Queue: Weston Tracey <westont@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-04-16 16:25:10 +00:00
Weston Tracey
efebaa2a11 Run docker as current user and add option to copy directory structure to docker.run.
Bug: skia:9438
Change-Id: I21ce6a1483a1def71f073aba9cc00f22f7d1de3b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283438
Commit-Queue: Weston Tracey <westont@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-04-16 15:55:10 +00:00
Greg Daniel
49f920e2aa Remove use of GrVkCaps from SkSLProgram settings.
Other backends want to compile into spirv but don't have a GrVkCaps. So
this removes the need and just passes in the little bit of info that
was gotten off the caps.

Change-Id: I7496ee1b8a09d51339204543d807ea8d75a5f8e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283938
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-04-16 15:38:39 +00:00
Brian Salomon
f3178a5a60 Remove redundant before/after child proc mangling calls.
writeProcessorFunction() is already making these calls, no need
for GrGLSLFragmentProcessor to also make them. Makes the names
of child proc functions slightly easier to parse for humans.

Also makes them and one other function private to
GrGLSLFPFragmentProcessor.

Devirtualizes fucntion writeProcessorFunction (no overloads)

Change-Id: I47b416c7aa29f6dd2739151a586dcd4c887f997f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283944
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-16 15:34:50 +00:00
Michael Ludwig
c80026c640 Add GM for blur + repeat bugs
Bug: skia:10145
Change-Id: I2b4a531a357dab3493169c63f5ec103e7756ae6f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283939
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-04-16 15:20:39 +00:00
Robert Phillips
4508eb992b Make all SkImages mipmapped w/in the DDL testing harness
When timing DDL performance with SKPs, if the mipmapping requirements of a given SkImage are gotten wrong at record time, the mipmaps will keep getting regenerated over and over again. This CL works around the problem by just creating all promise images as mipmapped. A better (but longer term solution) would be to examine the actual draw ops w/in an SKP.

Even more aggressively, we may want to disable mipmap regeneration w/in DDLs.

For desk_nytimes.skp on Windows/gl we have:

           before CL   after CL
w/ DDLs      7.999       3.136
w/o DDLs     1.953       1.863

This perf improvement won't be seen by Chrome since, presumably, they're creating their backend textures w/ the correct mipmappedness. Additionally, they, hopefully, aren't recording the same DDL over and over again (with incorrect mipmappedness).

Bug: 1056730
Change-Id: I8bf9dc9e64bc77159a04d89e5e3ac398e98beaa7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283677
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-04-16 14:49:40 +00:00
Brian Salomon
d903fcf40b GrLightingEffect uses GrTextureEffect
Bug: skia:10139

Change-Id: I30897840c8d9ed3eae7dcf1214cef61ada11ab3a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283784
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-16 14:47:00 +00:00
Tyler Denniston
2d65b73337 [svg] Fix multiple transforms specified
The transform attribute can accept a comma-wsp separated list of
transformations. Relevant test is coords-transformattr-01-f.

Change-Id: I22dd4b65dc4922d9f5b0ca168cd1fc38fca30ec8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283777
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2020-04-16 13:39:30 +00:00
Prashant Nevase
7a9c9d66f1 Make SkM44 public.
Make SkM44 public to be used in embedders as SkMatrix44 is deprecated.

Bug: skia: None
Change-Id: I16ac43ec80026f1486bf151aabbd9940698be7ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283836
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Prashant Nevase <prashant.n@samsung.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-16 11:50:37 +00:00
Mike Reed
56aa710832 separate m44 tests
Change-Id: I33db5286538cd5721ad0cf6095eef82c42ff1e35
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283916
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-16 10:53:37 +00:00
Mike Reed
938b4532b4 Revert "transition matrix44 to opt-in only"
This reverts commit 0f1f87d7bd.

Reason for revert: google3 and flutter also need the guard

Original change's description:
> transition matrix44 to opt-in only
> 
> In service of https://chromium-review.googlesource.com/c/chromium/src/+/2067862/
> 
> Change-Id: Ib6fd24c16c295fb4211dc295268af1e6f7f3fc45
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283661
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=fmalita@chromium.org,reed@google.com

Change-Id: I7c8cf2bc67aa267d442d0ca663e8378aa8feb409
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283896
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-16 10:01:29 +00:00
skia-recreate-skps
a6fbe4e685 Update Go Deps
Change-Id: I8bc76ef7dff2e24c94d2659981583568453aa002
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283831
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-04-16 05:37:17 +00:00
skia-autoroll
f2b1e598fc Roll third_party/externals/angle2 6e0d718a48d8..49ad8eaae192 (9 commits)
6e0d718a48..49ad8eaae1

git log 6e0d718a48d8..49ad8eaae192 --date=short --first-parent --format='%ad %ae %s'
2020-04-15 rafael.cintron@microsoft.com Enable allowClearForRobustResourceInit for Intel drivers
2020-04-15 ancheng.qiao@arm.com Add gles1 primtest tests
2020-04-15 timvp@google.com Add 'java_api_finder' to Android.bp
2020-04-15 jian.li@arm.com Vulkan: Change to record transform feedback related APIs per spec
2020-04-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 711867566999..81e08df29531 (9 commits)
2020-04-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src ae0f0ead3a56..1be434141625 (1 commits)
2020-04-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src e70d25f6fa5d..c018fc6ae667 (9 commits)
2020-04-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-loader/src bb8be13e3ffe..3f7e3cbf33a7 (9 commits)
2020-04-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src f89de66a9bcb..da9102fb013d (3 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@49ad8eaae192

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 kjlubick@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/+/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: kjlubick@google.com
Change-Id: Id5b40d7bb80e118c5f94b92e2502dd2e9522606b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283820
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-16 04:55:37 +00:00
skia-autoroll
e42f417485 Roll ../src cddb357f385b..59d223304f3c (395 commits)
cddb357f38..59d223304f


Created with:
  gclient setdep -r ../src@59d223304f

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 kjlubick@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/+/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
Bug: None
Tbr: kjlubick@google.com
Change-Id: Ie86fa59b2f8c7628aa9dd99623bd1fc999e655fe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283817
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-16 04:35:52 +00:00
skia-autoroll
4341b55fde Roll third_party/externals/swiftshader 81e08df29531..2430d665d3f2 (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/81e08df29531..2430d665d3f2

git log 81e08df29531..2430d665d3f2 --date=short --first-parent --format='%ad %ae %s'
2020-04-15 amaiorano@google.com CMake: split out turbo-cov target
2020-04-15 amaiorano@google.com CMake: split out test and benchmark targets
2020-04-15 bclayton@google.com VkPipelineCache: Do not publically expose internal mutexes
2020-04-15 bclayton@google.com CMake: Fix build when building with `SWIFTSHADER_ENABLE_VULKAN_DEBUGGER`

Created with:
  gclient setdep -r third_party/externals/swiftshader@2430d665d3f2

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 kjlubick@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/+/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: kjlubick@google.com
Change-Id: I3584ecda5b6a546bf24155c639bee55d2cc3e675
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283818
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-16 04:34:17 +00:00
skia-autoroll
8c22240b1a Roll third_party/externals/dawn 582e5284d0f6..0721c1cf2a52 (14 commits)
https://dawn.googlesource.com/dawn.git/+log/582e5284d0f6..0721c1cf2a52

git log 582e5284d0f6..0721c1cf2a52 --date=short --first-parent --format='%ad %ae %s'
2020-04-15 pwnall@chromium.org Roll third_party/googletest/ 5ec7f0c4a..e3f0319d8 (460 commits)
2020-04-15 cwallez@chromium.org Rolling 4 dependencies
2020-04-15 cwallez@chromium.org Roll third_party/SPIRV-Tools/ 7d65bce0b..61b7de3c3 (7 commits)
2020-04-15 enga@chromium.org dawn_wire: Validate all objects are from the same device in the client
2020-04-15 cwallez@chromium.org Remove CreateBufferMappedAsync
2020-04-15 cwallez@chromium.org ShutDownBase, only tick frontend facilities if they have been created
2020-04-15 cwallez@chromium.org Null: Properly fake commands being completed on WaitForIdle
2020-04-15 enga@chromium.org Add WireClient::Disconnect to stop serializing commands
2020-04-14 rharrison@chromium.org Rolling 5 dependencies
2020-04-14 cwallez@chromium.org Make a static const variable constexpr in BitSetIterator
2020-04-14 cwallez@chromium.org Remove temporary GN proxy groups.
2020-04-14 yunchao.he@intel.com Add more resource binding related validation tests
2020-04-14 zmo@chromium.org Roll glm 06f084063..bf71a8349 and turn on -Wextra-semi-stmt.
2020-04-13 cwallez@chromium.org BUILD.gn: Move dawn_end2end_tests to its final location

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang b5757b95005b..4d2298bfd78a
  https://chromium.googlesource.com/external/github.com/google/shaderc 8026364968ac..1926de0638b6
  https://chromium.googlesource.com/chromium/src/third_party/jinja2 b41863e42637..b41863e42637
  https://chromium.googlesource.com/chromium/src/third_party/markupsafe 8f45f5cfa000..8f45f5cfa000

Created with:
  gclient setdep -r third_party/externals/dawn@0721c1cf2a52

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/+/master/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I2f98dfad099141933a8f23b2b9e4c0acbc1fe0c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283819
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-16 04:30:47 +00:00
Brian Salomon
694ec49ed0 GrMatrixConvolutionEffect uses GrTextureEffect
Bug: skia:10139

Change-Id: Ib91bb3b30ba080da389a6b3c6907656f57ae44fe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283497
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-15 23:12:47 +00:00
Mike Klein
edc2dacb3a convert load_store / stack_load_store to new style
This replaces most vmovups variants with two: load to register from
flexible operand, or store from register to flexible operand.

And upgrade the zero-extending loads too to finish off load_store().

More to come in small steps.

Change-Id: I80645f264ee91662260046c8e0a45ba6d1bf98c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283753
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-15 22:54:46 +00:00
Michael Ludwig
b15cc56858 Revert "Refactor GL and Metal FinishCallback into a helper object."
This reverts commit b641ddbba0.

Reason for revert: likely breaking command buffer bots

Original change's description:
> Refactor GL and Metal FinishCallback into a helper object.
> 
> Change-Id: I52ede0363016459976e453ef71cafbcc6775f22e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283496
> Commit-Queue: Stephen White <senorblanco@chromium.org>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,senorblanco@chromium.org

Change-Id: Ifc766e065b6a19cb263c4a3d94f4bbe88c4bce16
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283782
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-04-15 21:54:58 +00:00
Michael Ludwig
9e1e913c81 Add rect subtraction utility function+tests
This operation came when updating aggregate inner and outer bounds
for Ganesh' new clip stack (particularly when accounting for the effect
of a difference operation). This geometric operation is theoretically
more general purpose so I moved it out to SkRectPriv.

Change-Id: Ibd76f9b95efc1790ecda1038779c124155031d8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283756
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-04-15 21:44:36 +00:00
Jim Van Verth
583c24c665 Allow to Metal to build with Xcode 10 again.
Flutter added outputting some system parameters that are only available
with Xcode 11. This hides them behind #ifs if the base SDK doesn't support
them.

Change-Id: Ica1e80580768806e526fb99be2cd9c69cf98c9ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283638
Reviewed-by: Chinmay Garde <chinmaygarde@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-04-15 21:15:17 +00:00
Mike Klein
9bb88673f5 start on operand refactoring
This introduces Mem, a way of expressing x86 addressing:

   addr = base reg + offset imm + (scale imm * index reg)

using the usual x86 convention of index = rsp to indicate no index.

And then, this introduces GP64Operand and YmmOperand, which are
generalizations like YmmOrLabel that fold over all the types of
arguments available at that position.  (YmmOperand replaces YmmOrLabel).

There's still much to do, but I've started by generalizing most
of the Ymm instructions to take YmmOperand, and added some new
unit tests for vmovdqa to make sure all the various modes work.

Change-Id: Ie6cc1186310ff39c52a2a061431a91d10816c98a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283344
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-15 20:41:09 +00:00
Tyler Denniston
a625f9250c [svg] Fix translate() with no ty specified.
No specified ty should be treated as 0. Test is coords-trans-12-f.

Change-Id: I5a3d0299e59933139b0ca77ebf797080b7ddaa1a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283776
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2020-04-15 20:36:06 +00:00