Commit Graph

47808 Commits

Author SHA1 Message Date
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
Julia Lavrova
cff970c0fc MinIntrinsicWidth should ignore placeholders
Bug: skia:10138
Change-Id: I394560dbfc3fcad11aedd17957c72d56bd14912d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283642
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-04-15 20:25:56 +00:00
Tyler Denniston
8ac25c44cb [svg] Improve color value parsing
- Accept fractional rgb(...) component values (CSS2 spec). Related test
  is color-prop-02-f.
- Don't set fCurPos to null when parsing fails.

Change-Id: I3acbd5dfd98c9ff61ba53f3695a32800b1575944
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283643
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2020-04-15 20:08:37 +00:00
Brian Osman
03e20ffa9a Cache inverse matrices in SkMarkerStack
Change-Id: I8dc74feaee91e99c294348b8092f5839fa9fa693
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283676
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-04-15 20:08:26 +00:00
Stephen White
b641ddbba0 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>
2020-04-15 19:59:48 +00:00
Mike Reed
0f1f87d7bd 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>
2020-04-15 18:34:26 +00:00
Mike Klein
484b63b1a5 report all test errors in fm
Change-Id: Ifa25a44a75c6c193a8bd0780bda0f016fe3cbc31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283675
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-04-15 18:10:46 +00:00
Herb Derby
31f6d043af Schedule using tree order traversal the DAG.
Trace out the tree from the DAG. Trace nodes
with fan-out > 1 after all out edges have been traced.

Change-Id: Ic078d212adf95a19146fcbd9fb8d103ea23360ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283557
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-04-15 17:13:06 +00:00
Robert Phillips
9ff1d841f6 Revert "Update DDL test harness to use backendTextures to back tiles"
This reverts commit 7ae9d2fca6.

Reason for revert: Triggering Vulkan Debug layer errors

Original change's description:
> Update DDL test harness to use backendTextures to back tiles
> 
> 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
> Change-Id: Ice3993ca125fce37804e58c353c265cf659dbe2f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283456
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

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

Change-Id: Ife023ede0774ec2cce4c0d6e7708c036347ebf54
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283648
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-04-15 16:22:17 +00:00
Robert Phillips
7ae9d2fca6 Update DDL test harness to use backendTextures to back tiles
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
Change-Id: Ice3993ca125fce37804e58c353c265cf659dbe2f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283456
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-04-15 16:07:47 +00:00
Brian Salomon
5ed3c2fe43 Reland "GaussianConvolutionFragmentProcessor uses GrTextureEffect."
This is a reland of eb48024f8b

No change from original, additional layout test suppression landed.

Original change's description:
> GaussianConvolutionFragmentProcessor uses GrTextureEffect.
>
> Also removes now unused GrShaderVar::appendArrayAccess.
>
> Bug: skia:10139
>
> Change-Id: Ic2583a6822e88510551b1031f3fb130266b3f395
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283440
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

Bug: skia:10139
Change-Id: I890adc703b6077b6813ca6cb9f5211761e16a13e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283637
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-15 15:11:26 +00:00
Brian Osman
d1afef6b18 Support markers (custom matrices) in SkVertices Attributes
Bug: skia:9984
Change-Id: Ie799ffa19304978e2076f9ba790e8a34c1b03adf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283225
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-04-15 14:30:46 +00:00
Mike Reed
d276e3f009 SkMatrix44 is deprecated: use SkM44 instead
Change-Id: I9a269b9c0c3cda29d06827d016db3a3f963a91fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283504
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-15 13:30:46 +00:00
Brian Salomon
68626439f3 Revert "GaussianConvolutionFragmentProcessor uses GrTextureEffect."
This reverts commit eb48024f8b.

Reason for revert: Failing additional layout test on Win10

Original change's description:
> GaussianConvolutionFragmentProcessor uses GrTextureEffect.
> 
> Also removes now unused GrShaderVar::appendArrayAccess.
> 
> Bug: skia:10139
> 
> Change-Id: Ic2583a6822e88510551b1031f3fb130266b3f395
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283440
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

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

Change-Id: I7403e97c51ba966e52679b5a048a962795c4271b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10139
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283636
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-04-15 12:56:28 +00:00
skia-recreate-skps
e6995c74cd Update Go Deps
Change-Id: I1438f657f6125fe87a9c2855fd0ca610e9269ca8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283616
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-04-15 05:35:35 +00:00
skia-autoroll
ec999dd23e Roll third_party/externals/angle2 dee4d7a54e44..6e0d718a48d8 (10 commits)
dee4d7a54e..6e0d718a48

git log dee4d7a54e44..6e0d718a48d8 --date=short --first-parent --format='%ad %ae %s'
2020-04-14 hckim.kim@samsung.com Vulkan: Implement device memory sub-allocation
2020-04-14 shrekshao@google.com Add DrawBaseVertexVariants Tests
2020-04-14 tobine@google.com doc: Add note on Vulkan-Headers repo
2020-04-14 xinyi.he@arm.com Enable perFrameWindowSizeQuery by default on Mali
2020-04-14 cnorthrop@google.com Tests: Update dEQP KHR GLES 3.1 expectations
2020-04-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 9d2fd9c161ab..711867566999 (3 commits)
2020-04-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 46572440189e..4d2298bfd78a (1 commits)
2020-04-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 490e39372126..ae0f0ead3a56 (1 commits)
2020-04-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 34be23373b9e..e70d25f6fa5d (3 commits)
2020-04-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 019f4e38eb79..f89de66a9bcb (7 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@6e0d718a48d8

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: Ibd5bb5188238b845b5a7c9174052ab9ea07c4c0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283584
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-15 05:09:15 +00:00
skia-autoroll
fa9ff895d4 Roll ../src 8ab2643175bc..cddb357f385b (417 commits)
8ab2643175..cddb357f38


Created with:
  gclient setdep -r ../src@cddb357f38

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: I263f02c1247ee512c7ae874979d9c9ae284dca00
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283582
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-15 04:41:35 +00:00
skia-autoroll
3f061b5b92 Roll third_party/externals/swiftshader 711867566999..81e08df29531 (9 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/711867566999..81e08df29531

git log 711867566999..81e08df29531 --date=short --first-parent --format='%ad %ae %s'
2020-04-15 sugoi@google.com Fix fragments depth values not being clamped
2020-04-14 amaiorano@google.com CMake: split out Vulkan sources into separate CMakeLists
2020-04-14 bclayton@google.com Device: Rename RoutineCacheT to RoutineCache
2020-04-14 bclayton@google.com Device: Don't inherit [Vertex,Setup,Pixel]Processor.
2020-04-14 digit@google.com [vulkan] Implement VK_FUCHSIA_external_memory extension.
2020-04-14 capn@google.com Reuse Store logic for Modf and Frexp output parameters
2020-04-14 capn@google.com Separate Operand store logic from EmitStore()
2020-04-14 capn@google.com Only store component count in Operand
2020-04-14 capn@google.com Rename size/sizeInComponents to componentCount

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

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: Iee827a407a1aa519b06fc9b763eacf98b1d55c53
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283583
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-15 04:34:15 +00:00
Mike Klein
151ffbb449 clean up SK_SUPPORT_LEGACY_COLORFILTER_NO_SHADER
Change-Id: Ibbb09aa820bd20ee6b3bc05ed4eb137fcba54d2b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283579
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-15 01:29:45 +00:00
Herb Derby
9f64f7a068 Fix to change reject behavior back to original
The original code would reject glyphs that were too large
(!canDrawAsMask or !canDrawAsSDFT). After CL/251760 this behavior
was change so, that glyphs were only rejected once,
and then never again. The next stage (path, etc.) would then not
know to send a glyph in future draws. This code allows glyphs
that can't draw as mask and can't draw as SDFT be rejected.

I don't have a unit test yet.

BUG=chromium:1058517

Change-Id: I6117bc96a8f306be63ffea17b9f4a34e7388645e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281724
Reviewed-by: Khushal Sagar <khushalsagar@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-04-15 00:43:35 +00:00
Mike Klein
01d42b182d MSAN fix for interpreter
MSAN points out we oughta initialize anywhere we pull a trick like this,

    ptr[*ip+0] = skvx::if_then_else(mask(), POP().fFloat, ptr[*ip+0].fFloat);

Change-Id: I321f0d54b7f0f048df2e942dd70a6fabf6fd4efb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283493
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-14 22:10:45 +00:00
Brian Salomon
eb48024f8b GaussianConvolutionFragmentProcessor uses GrTextureEffect.
Also removes now unused GrShaderVar::appendArrayAccess.

Bug: skia:10139

Change-Id: Ic2583a6822e88510551b1031f3fb130266b3f395
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283440
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-04-14 21:47:35 +00:00
Brian Salomon
63410e921c Pass description of GrSurface to GrSurfaceProxy lazy callbacks.
Also make GrDynamicAtlas directly use the GrSurface callback type rather
than go through a springboard.

Change-Id: I3e3c155bbc1e2e794e0d6828b0ea3c64c6a7f3e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283226
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-04-14 21:34:05 +00:00
Greg Daniel
78be37f5cd Only call glFlush in submit when it is required.
Bug: chromium:1070474
Change-Id: I9131c3d931ec0d861fff4d92549d5d3fce8a123f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283503
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-04-14 21:07:14 +00:00
Herb Derby
a769ec5b5f Remove scheduler instruction dump
And abstract out writing a single instruction to
share between the dumps.

TBR=mtklein@google.com

Change-Id: I5e129889131b5581d61a0359a06643edeb0ef2ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/283505
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-04-14 20:56:44 +00:00