Commit Graph

47067 Commits

Author SHA1 Message Date
Nathaniel Nifong
6066a0c2bd Remove all uses of bones
Change-Id: I302f43484c599a05e077545df5f053a89d63a6a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275079
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-03-05 18:47:38 +00:00
Herb Derby
d4c4f0c004 Add Multiply-Subtract (fms) to SkVM
Add fms op and instruction generation. Do fms and fnma
instruction selection.

TODO: Add the ops to Arm

Change-Id: I7e53abd7f4752eb99c31dcbff1f2ea7cf28af6c9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275197
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-05 18:44:18 +00:00
Mike Reed
50c64ab259 expose per-vertex-data variant of SkVertices
Bug: skia:9984
Change-Id: Iaff520c6085303830f14bac4fe56830ba7360f64
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275218
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-03-05 18:32:08 +00:00
Chris Dalton
1b1b0d5abb Don't rely on primProc textures when adding samplers
Change-Id: Idee88e061004c308665ad5e7c56528398c8e7201
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274842
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-03-05 18:25:09 +00:00
Tyler Denniston
0cfcd1c9bb Add command line argument to specify the rendertests file.
Change-Id: I53a8c2f168108fa5003c54ffece67fc20c38bb09
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275137
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: John Rosasco <rosasco@google.com>
Commit-Queue: John Rosasco <rosasco@google.com>
2020-03-05 17:51:12 +00:00
Mike Klein
ec370976c6 move skvm interpreter to SkOpts again
This is the easiest way to guarantee Op::fma_f32
actually fuses, by using platform intrinsics.

While implementing this we noticed that quad-pumping
was actually slower than double-pumping by about 25%,
and single-pumping was between the two.  Switch from
quad to double pumping.

Change-Id: Ib93fd175fb8f6aaf49f769a95edfa9fd6b2674f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275299
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-03-05 17:47:42 +00:00
Julia Lavrova
cd2a4d65e5 Adjusting getRectsForRange to grapheme edges.
Cluster edges were not enough.

Bug: skia:1003
Change-Id: Id2fdb7aa5dc2f6c4b03f1c841757796cf5c9b604
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275220
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-03-05 17:42:32 +00:00
Robert Phillips
2dbcbe8b12 Loosen up SkSurface_Gpu::onIsCompatible a bit wrt FBO0-ness
Change-Id: Ie04f55c9fb94e4e4acd90b96cd7fb0d3c6b72e14
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275041
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Peng Huang <penghuang@chromium.org>
2020-03-05 17:12:22 +00:00
Kevin Lubick
b803ef83d6 [infra] Update node to 12.16.1
Change-Id: I55e14b137d985fafd4e2c8fbc2cd76b27217699e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275217
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-03-05 15:46:16 +00:00
Nathaniel Nifong
23b0ed9480 Name name changes suggested in API review
Bug: skia:9843
Change-Id: Ib7e30a129dff17ecde81daa1ff665304908face3
Docs-Preview: https://skia.org/?cl=275048
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275048
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-03-05 15:13:41 +00:00
Robert Phillips
d2f18734aa Surface more programs on DDLs
This CL adds createProgramInfo and onPrePrepareDraws methods to:
   NonAAStrokeRectOp
   AAStrokeRectOp
   NonAARectOp

Bug: skia:9455
Change-Id: Id7c0151d26c5daa390cd51b9c73c95f4f1fc0104
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275039
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-03-05 13:54:01 +00:00
skia-recreate-skps
f0c5950706 Update Go Deps
Change-Id: Iea849043f1c3d533407a93a8aed90de94f316fc9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275239
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-03-05 05:28:41 +00:00
skia-autoroll
e9b8295861 Roll third_party/externals/angle2 9e9493f29dbf..c55fbc4064aa (16 commits)
9e9493f29d..c55fbc4064

git log 9e9493f29dbf..c55fbc4064aa --date=short --first-parent --format='%ad %ae %s'
2020-03-05 cnorthrop@google.com Capture/Replay: Fill out more ES 3.0 state in mid-execution capture
2020-03-05 courtneygo@google.com Vulkan: blacklist VK_FORMAT_R8G8B8_UNORM
2020-03-04 cnorthrop@google.com Capture/Replay: Add Sampler Object support to mid-execution capture
2020-03-04 ianelliott@google.com Vulkan: Suppress some flaky tests for Intel Linux driver
2020-03-04 cnorthrop@google.com Capture/Replay: Add Vertex Array Object support to mid-execution capture
2020-03-04 cnorthrop@google.com Capture/Replay: Add TransformFeedback Object support to mid-execution capture
2020-03-04 lexa.knyazev@gmail.com D3D11: Implement OES_draw_buffers_indexed
2020-03-04 ianelliott@google.com Vulkan: Disable forceOldRewriteStructSamplers for SwS-Android
2020-03-04 jmadill@chromium.org Fix up EGLSurfaceTest.
2020-03-04 xiaoxuan.liu@arm.com Vulkan: Re-enable RobustResourceInitTest.Texture test
2020-03-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src a553ed74b7fe..1af57a3ec414 (1 commits)
2020-03-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src f32bf1c930c8..97484d689869 (16 commits)
2020-03-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src e1688b60caf7..a6d3a2dd41d4 (1 commits)
2020-03-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 176f3a3dbbc9..126720bd2e57 (2 commits)
2020-03-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 56364b6b6026..8985fc91089f (2 commits)
2020-03-04 ancheng.qiao@arm.com Skip if GL_EXT_texture_compression_dxt1 isn't supported

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

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 herb@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-Debian9-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: herb@google.com
Change-Id: I58f5e0661a06553294ca3a65259b811d2ed22d6c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275211
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-05 04:39:56 +00:00
skia-autoroll
4bdfee1627 Roll third_party/externals/swiftshader 126720bd2e57..a095711c5d77 (4 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/126720bd2e57..a095711c5d77

git log 126720bd2e57..a095711c5d77 --date=short --first-parent --format='%ad %ae %s'
2020-03-04 amaiorano@google.com Subzero: implement Short4::Short4(RValue<Float4)
2020-03-04 amaiorano@google.com Subzero: don't assert about lack of atomic load/store on x86
2020-03-04 amaiorano@google.com Fix Regres regression post CMake var renaming
2020-03-04 amaiorano@google.com Subzero: fix regression in Optimizer

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

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 herb@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-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: herb@google.com
Change-Id: Ie1541688495c7e5bea39ce001b45e8d004bea61a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275213
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-05 04:35:41 +00:00
skia-autoroll
0a63270eae Roll ../src 2f96e324d5a6..7c474dc8f756 (439 commits)
2f96e324d5..7c474dc8f7


Created with:
  gclient setdep -r ../src@7c474dc8f7

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 herb@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: herb@google.com
Change-Id: I0229e09a5f9166aedbe0f90224be9d207c894ef4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275212
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-05 04:34:51 +00:00
Greg Daniel
f6ed96d1c2 Revert "Move GrGpuResource GrSurface and GrTexture into src."
This reverts commit e5a06ce678.

Reason for revert: Need to make change in google3 first

Original change's description:
> Move GrGpuResource GrSurface and GrTexture into src.
> 
> Must land https://chromium-review.googlesource.com/c/chromium/src/+/2087980
> before this can land.
> 
> Bug: skia:7966
> Change-Id: I60bbb1765bfbb2c96b2bc0c9826b6b9d57eb2a03
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275077
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

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

Change-Id: Id39e0a351e49a87209de88a6ad9fadb0219db72c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7966
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275216
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-03-05 01:46:51 +00:00
Mike Klein
f1d78a6c68 add an ulp of error on the clamp asserts
Change-Id: I3903e266e2e99ceab647fbc45c764e3526e600af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275198
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-03-05 00:58:01 +00:00
Mike Klein
203b4050ed better SKVM_JIT_STATS output
Count pixels, show percents, and promote to int64_t
for safety... pixels certainly needs it.

Change-Id: Ia8db4fec6c357557e6c805b6c05191f71e331843
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275148
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-03-04 23:28:11 +00:00
Mike Klein
238105b50c skip dump checks on machines w/o FMAs
They'll never see fma_f32 ops.

Change-Id: I39371606c673fb76bdcbbe08c1b25308675f8f2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275151
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-03-04 23:21:02 +00:00
Mike Reed
0ae1b3d075 detect when the localmatrix forces us into a perspective stage
Bug: skia:10004
Bug: 1057418
Change-Id: I84a02b5b56e435b7e30d0ca9ae48e689025b63b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275080
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-03-04 23:16:41 +00:00
Greg Daniel
e5a06ce678 Move GrGpuResource GrSurface and GrTexture into src.
Must land https://chromium-review.googlesource.com/c/chromium/src/+/2087980
before this can land.

Bug: skia:7966
Change-Id: I60bbb1765bfbb2c96b2bc0c9826b6b9d57eb2a03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275077
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2020-03-04 23:01:31 +00:00
Mike Klein
99456d7217 async llvm compile, take 2
This version has fewer uninitentional sync points.

Turning on stats, looks like roughly 93% of calls
go through the JIT, the rest the interpreter.  When
synchronous 100% go through the JIT, of course.

No diffs now that we've made the interpreter and JIT
guarantee consistent math.

Change-Id: Id58c860809970f78773b2ae7f40b3ea091b38440
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275011
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-03-04 22:39:41 +00:00
Mike Klein
3b7b4d8216 turn off LLVM FMA discovery
This helps guarantee same-machine consistency
between the interpreter and the JIT.

2-3% perf loss on exemplar benches, which we think we can
recover with the following TODO:

TODO(herb): add Op::{fnma,fms,fnms}_f32 for the various ±xy ± z
combinations we can generate in the backends, peephole, etc.
just as we do Op::fma_f32 so we can recover the (tiny) performance
loss here we take from losing those discovered fused instructions.

Change-Id: Id30e1b9178a55e8072a30d2a34e7ed9188543d60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275139
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-03-04 22:31:06 +00:00
Mike Klein
823d319f3b do our own fma discovery
Peephole add(F32,F32) for an argument that is a mul().

As a flourish, only generate Op::fma_f32 on machines we know support
real fused mul-adds.  This removes the ambiguity of whether Op::mad_f32
is an FMA or not; the new Op::fma_f32 is always an FMA, and otherwise
you'll just see ordinary mul-add.  No more Op::mad_f32.

Change-Id: I38016a2430774583116d8d6a8ada677012c1a8fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275138
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2020-03-04 22:29:30 +00:00
Mike Klein
cb50b117e3 get rid of troublesome Op::round
We really only need to_unorm(),
and that's fine with trunc(mad(x, scale, 0.5)).

Change-Id: I1561c678501963a9ae53c22994fc906159fc7199
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275075
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-03-04 22:26:01 +00:00
Nathaniel Nifong
628f3e70ee Remove experimental from name of skm44 canvas methods
Change-Id: If275ede5049b74c0c4c36eb5ac5697ec63737228
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275047
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-03-04 21:36:18 +00:00
Robert Phillips
50d7d6fd72 Surface GrFillRectOp programs on DDLs
Bug: skia:9455
Change-Id: I48ea4cc5045a23fd962f28c7e7d6a47b6b464608
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275036
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-04 20:58:18 +00:00
Dominic Mazzoni
4db2af43d0 Tiny fix to two attributes of PDF tags
I used the wrong data type for encoding the alt text and language of
a node in the PDF structure tree. "Alt" and "Lang" should both be
strings (arbitrary text), not names (which are supposed to be used for
keywords that are defined as part of the text).

Bug: chromium:607777
Change-Id: I1000c177d66a1e4f68afc713fc950369ecf3b408
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275010
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
2020-03-04 20:43:38 +00:00
Robert Phillips
345af2527d Surface GrDashOp programs on the DDL
Bug: skia:9455
Change-Id: I44d8baea8665cfb44c791c3af56b631d4ecad138
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275017
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-04 20:23:18 +00:00
Robert Phillips
4490d92f70 Surface programs at record time for the oval ops
This entails adding createProgramInfo & onPrePrepareDraws methods to the following ops:

ButtCapDashedCircleOp
CircleOp
CircularRRectOp
DIEllipseOp
EllipseOp
EllipticalRRectOp


Bug: skia:9455

Change-Id: Ia2a1e54236b8ab255e1f6640392dfa60a61d584f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274745
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-04 19:57:38 +00:00
Ben Wagner
93d75eff08 Add iPhone11 jobs
Change-Id: Ie10523194159b7989a56be4ac163e33b625dc350
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273601
Reviewed-by: Weston Tracey <westont@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-03-04 18:46:17 +00:00
Greg Daniel
4dcf2f0acc Make sure we have a new active command buffer before checking for old ones.
This fixes a bug where a finish proc from the checkCommandBuffer call could
allow the client to unref an SkImage/SkSurface which may internally cause
us to try to add a command to a commandBuffer (e.g. to switch queues).

Bug: chromium:1049864
Change-Id: I975aa0b17acfdf0df30c48af685f9e6753f095db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275042
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-03-04 18:39:47 +00:00
Julia Lavrova
2813d454f3 getRectsForRange results must be adjusted to glyphs.
Bug: skia:9957
Change-Id: I7c8537e8217288bf5d9d38950377cdacae705816
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274746
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2020-03-04 18:29:02 +00:00
Mike Klein
4fb529595e pimpl the whole Program
The move constructor and operator= were unfortunate sync points when
trying to do async compilation because fJITEntry was about to move.
We can fix this by making the jit entry target not move even when
Program does, by

   - banning Program moves, replacing uses of Program that need that
     with std::unique_ptr<Program>,
   - or equivalently, doing that internally with a pimpl pattern.

There was enough moving of Programs that I think the pimpl is the
better choice, at least for now.

Change-Id: I014775c473662d9901ba387c48b25fa75ad7a078
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275006
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-03-04 18:21:01 +00:00
Brian Salomon
ba90ce9be2 Copy border when cloning GrTextureEffect.
Fix for MSAN in tilemode_decal?

Change-Id: I58df5a5e1fdd5a16737d59ad0863df9ca9b15920
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275040
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-03-04 18:18:45 +00:00
Jim Van Verth
3a5974f68d Add Direct3D compile bots
Bug: skia:9935
Change-Id: I6d9c14ac674dee89a5a8ba726d99b4423c40eb9b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274861
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-03-04 17:36:24 +00:00
Michael Ludwig
eced98b5ea Enforce saveLayer ignoring restore paint's mask filter
Documentation specifies that only the alpha, color filter, image filter
and blend mode are used when restoring the saved layer. The coverage that
would be sent to the mask filter is ill-defined, whereas the explicit
boundary of the separate clip image gets around this.

This also removes the issue of the order in which the mask filter and
image filter would be applied.

Some GMs exercised the save layer with mask filter, but those have
been updated to either expect the MF to be ignored, or modified to
no longer use saveLayer+MF. While Android and Flutter expose a saveLayer
with general Paint API, their documentation matches SkCanvas so hopefully
no one is actually relying on the mask filter in those cases. It does
not appear as if Chrome ever tries to use a saveLayer+MF.

Bug: skia:9561

Change-Id: I67a350fbf565683ea60ea88f83a91270e7dcd187
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274508
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-03-04 15:28:01 +00:00
Mike Reed
ee9ce59346 Reorganize vertices internals, in prep for extending with per-vertex-data
Bug: skia:9984
Change-Id: I50f9bd126ab27895db2a2c6dd4d078b8d6c98b15
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274940
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2020-03-04 15:15:31 +00:00
Brian Salomon
d71548adfb Add support for wrap modes to GrYUVtoRGBEffect.
In support of this add support for border color to GrTextureEffect.
Currently non-zero border colors are always emulated in shader code.

Change-Id: I007e264411d713f8afaf8f160b6cea6d0f35c753
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274282
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-04 14:38:11 +00:00
skia-recreate-skps
c6d0fdfb40 Update Go Deps
Change-Id: I006afc1a966321a5dcb58c35407bf594a565f9cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274985
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-03-04 05:27:31 +00:00
skia-autoroll
7b6f82755d Roll ../src 13184a2df875..2f96e324d5a6 (443 commits)
13184a2df8..2f96e324d5


Created with:
  gclient setdep -r ../src@2f96e324d5

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 herb@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: herb@google.com
Change-Id: I5fcfaa6c0d9b3150fc06136d7f68e4324294d27b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274977
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-04 04:40:31 +00:00
skia-autoroll
f15389b0b7 Roll third_party/externals/angle2 b84969ad69c3..9e9493f29dbf (7 commits)
b84969ad69..9e9493f29d

git log b84969ad69c3..9e9493f29dbf --date=short --first-parent --format='%ad %ae %s'
2020-03-04 ynovikov@chromium.org Skip crashing dEQP-GLES3.functional.samplers.*_tex_3d.* on SwANGLE
2020-03-03 cnorthrop@google.com Capture/Replay: Add Query Object support to mid-execution capture
2020-03-03 cnorthrop@google.com Capture/Replay: Update getTexImage for depth/stencil and 3D
2020-03-03 ancheng.qiao@arm.com Vulkan: Add depth to mipmap generation
2020-03-03 xiaoxuan.liu@arm.com Vulkan: Add support for VK_EXT_index_type_uint8
2020-03-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 416d37452275..176f3a3dbbc9 (2 commits)
2020-03-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src cb689b0b1d30..f32bf1c930c8 (8 commits)

Created with:
  gclient setdep -r third_party/externals/angle2@9e9493f29dbf

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 herb@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-Debian9-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: herb@google.com
Change-Id: I349f021a8ad84dde2afb8fc65de96f41d6100364
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274976
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-04 04:38:31 +00:00
skia-autoroll
32d62cd236 Roll third_party/externals/swiftshader 176f3a3dbbc9..126720bd2e57 (2 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/176f3a3dbbc9..126720bd2e57

git log 176f3a3dbbc9..126720bd2e57 --date=short --first-parent --format='%ad %ae %s'
2020-03-03 jrprice@google.com Use LINK_FLAGS for -BSymbolic in CMake build
2020-03-03 capn@google.com Fix ASTC support for GN build

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

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 herb@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-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: herb@google.com
Change-Id: I38b8bbb2361ea9d9de26d75ce5d8eb426a139cd8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274978
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-04 04:35:11 +00:00
Brian Salomon
64a3f8fcb7 Revert "Use spin lock in SkIDChangeListener"
This reverts commit a624a534ed.

Reason for revert: Bad perf

Original change's description:
> Use spin lock in SkIDChangeListener
> 
> This lock should almost never be contested. This simplifies things and
> also avoid mutex locks when one thread has multiple refs on a path,
> image, ...
> 
> Change-Id: I909b490363cb9e81b38ed9edd04272133fb2692b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274676
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I45ec3241906429e4d0783b68ebe6398079b73d36
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274956
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-03-04 03:40:11 +00:00
Ravi Mistry
20ed48e8e9 Create flutter checkouts from scratch
The trybot failed on this whitespace change: https://skia-review.googlesource.com/c/skia/+/244305
But succeeded here.

Bug: skia:9994
Change-Id: I26442ed321ac343609869f6936ff2a98f145d302
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274863
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2020-03-04 00:23:50 +00:00
Brian Salomon
a54af92392 Make AHWBuffer generator responsible for MIP maps.
It already makes copies for other reason and is the only generator
relying on the caller.

Change-Id: I5dfdc3bd39040f817c0f953eecf81e8fbdc649a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274862
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-03-03 23:12:21 +00:00
Eric Boren
4036cb1f0b [recipes] Re-disable SKPs on iOS and images on GPU in nanobench
These were accidentally enabled in
https://skia-review.googlesource.com/c/skia/+/274553 which changed the
order of the flags.

Change-Id: I6d9eb3d5c78baa5bc0d987fa61fe2b1ce305b138
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274856
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2020-03-03 19:43:32 +00:00
Robert Phillips
d6900440ef Switch member destructor order in SkDeferredDisplayList
With the addition programInfos being stored on DDLs we need to ensure that the programInfos are deleted before the GrCCPerOpsTaskPaths.

W/o this change we can hit an assert in ~GrCCClipPath.

Change-Id: I02a2b195cae1dfd84a3e9cd2cf6c9b5194c430a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274860
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-03 19:32:20 +00:00
Stephen White
2860ee9e9a Dawn backend: update to onBindBuffer() changes.
Change-Id: I7ae6100a36c1764f40b97f089817b77263544e8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274857
Auto-Submit: Stephen White <senorblanco@chromium.org>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-03-03 19:08:51 +00:00
Mike Klein
f471b0ee9a have each program own LLVMContext
As far as I can tell the TLS contexts were an unjustified paranoia.
90%+ of runtime in setupLLVM() is spent under getFunctionAddress()
JITting the function.  This change does not affect overhead AFAICT.

Change-Id: I2abe3832ed7b42c0ac67a7605cf7d0bf63e7bd55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274783
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-03-03 17:56:21 +00:00