Commit Graph

47377 Commits

Author SHA1 Message Date
Jim Van Verth
5082df1cf5 Remove need for gpu when unrefing managed resources.
Metal and D3D don't require the GrGpu to delete resources, and for
Vulkan, we'll store the GrVkGpu in each individual resource. This will
allow us to use sk_sp<SomeManagedResource> in the future.

Bug: skia:9935
Change-Id: Id51022b935ad360367976a6bdf60cdda9e3f7dee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276456
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-03-11 21:02:07 +00:00
Brian Osman
f0140ee00f Remove GrDrawVertices fast path for simple matrix + colors + no local coords
It's not clear that this ever happens, so I'd rather keep the code as
simple as possible.

Bug: skia:9984
Change-Id: I2c78eb411d9259f10d208306b173ad7395421c3e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276477
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-03-11 19:06:27 +00:00
Robert Phillips
740d34f70e Make TessellatingPathOp surface its programInfo at record time
Bug: skia:9455
Change-Id: I1f14cbb6f5af21637b6358632eced190750a2a5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276401
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-11 19:06:17 +00:00
Ravi Mistry
1b7f846d09 Add wrapper script to call tool to bulk abandon Gerrit CLs
Makes it easy to invoke https://skia-review.googlesource.com/c/buildbot/+/275096
from the Skia repo

Change-Id: If94d506d86a2b4319c7e0a7c830d5dab27916c10
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275693
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-03-11 18:50:57 +00:00
Greg Daniel
a31ab4ba9b Have GrVkUniformBuffers own their descriptor sets.
Locally this looks to have a perf win especially on Android. We no longer
have to update the values in the uniform descriptor every draw. Also since
we essentially have one uniform buffer per draw already, we were making a
descriptor set per draw as well. Now we just tie them to the uniform buffers
and we should end up with about the same amount.

Change-Id: I65c6a8b2ad5c631c4dbb7ea50068f71a0ed4c894
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276476
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-03-11 18:46:47 +00:00
Mike Klein
3a74f83e80 remove -D_GLIBCXX_DEBUG
This was a convenience for Cary to not have to use extra_cflags,
and iterferes with using prebuilt C++ code by breaking the ABI.

Change-Id: I9e14ec04106a0abf9b55e5803242c2eb226d6e3f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276445
Commit-Queue: Herb Derby <herb@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2020-03-11 18:12:48 +00:00
Florin Malita
06e5a15567 [skottie] Power reduce trivial spatial Berzier
A significant number of spatial keyframes have trivial Bezier control
points - e.g. located on the linear interpolation segment.  The
corresponding cubics have no effect and can be discarded.

Change-Id: I706546653c3621fd0d3eb9c285627ccd4d0bc549
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276410
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-03-11 18:12:17 +00:00
Brian Osman
dafbf121a8 SkVertices: Remove volatile/nonvolatile bit
No one was using this, and it added significant complexity to
GrDrawVerticesOp.

Bug: skia:9984
Change-Id: I23f38b3f5d853a8e531f13b6931cd57b5985a2c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276407
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-03-11 17:33:17 +00:00
Robert Phillips
6dc0f63a50 Make DrawAtlasOp surface its programInfo at record time
This implements SkCanvas::drawAtlas so doesn't actually have any of the (text) atlas complications.

Bug: skia:9455
Change-Id: I36a2aabe5a667d85bed75b400981defcaf421feb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276276
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-11 14:23:07 +00:00
Robert Phillips
9028bacebc Make DefaultPathOp surface its programInfo at record time
Here is another Op w/ multiple GrMeshes drawn w/ a single programInfo (cf., AAConvexPathOp).

Bug: skia:9455
Change-Id: I3d1eec03d1d9d4fc8e117aa2960472027ea96105
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276220
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-11 13:35:27 +00:00
Mike Reed
fdf94044ff Remove exotic legacy bitmap drawing entry points: Nine, Lattice
follow-ups:
- remove associated virtuals in canvas

Change-Id: I3efa7a88ed0905ebf080712993e7f43148df36dc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276282
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-03-11 13:11:47 +00:00
Greg Daniel
21beacccb9 Revert "Experiment with no longer avoiding uploading same uniforms in vulkan."
This reverts commit a19ea58aa9.

Reason for revert: As expected perf slowdowns, but we have the data now

Original change's description:
> Experiment with no longer avoiding uploading same uniforms in vulkan.
> 
> The plan is to land this and see what the perf bots report. Only local
> desktop a little less than half the time we skip the upload for not being
> dirty. But we're not sure if this is saving us much. Unless there is no
> regression at all, we will revert this.
> 
> Bug: skia:10035
> Change-Id: I8a3a8862ccd10ba109b5ddc2f3473d30b3ceccaf
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276211
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,jvanverth@google.com,michaelludwig@google.com

Change-Id: Iea44b13c70cd075e93bb52b3a6773cc8b5df731a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10035
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276396
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-03-11 11:43:17 +00:00
skia-recreate-skps
0340292972 Update Go Deps
Change-Id: I67e078dfe747de855bc162f39a27f2e3a187538c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276349
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-03-11 05:30:16 +00:00
skia-autoroll
617173fee9 Roll third_party/externals/angle2 abcc536b6207..c5b3cbdb4502 (7 commits)
abcc536b62..c5b3cbdb45

git log abcc536b6207..c5b3cbdb4502 --date=short --first-parent --format='%ad %ae %s'
2020-03-10 cclao@google.com Vulkan: Use VK_FORMAT_D24_UNORM_S8_UINT for 24 bit depth if available
2020-03-10 tikuta@chromium.org use go swarming client in trigger.py
2020-03-10 rafael.cintron@microsoft.com Enable allowClearForRobustResourceInit for NVidia hardware
2020-03-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 6861ea4e10a1..343d4f6f1870 (3 commits)
2020-03-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 97484d689869..014968c3b6b3 (11 commits)
2020-03-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader b44162fdbb25..8be72df60462 (1 commits)
2020-03-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 4c027048d88b..dd3d91691f1e (3 commits)

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

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 brianosman@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: brianosman@google.com
Change-Id: Ia27e014e5665b7cc5bbc3d922a94bf677f974196
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276117
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-11 04:41:57 +00:00
skia-autoroll
c35c05f8fb Roll ../src 7f81408a3581..43a5bd0c46ed (526 commits)
7f81408a35..43a5bd0c46


Created with:
  gclient setdep -r ../src@43a5bd0c46

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 brianosman@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: brianosman@google.com
Change-Id: I0509461a6097809388aac27103b7bc7b36ed99d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276118
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-11 04:35:46 +00:00
skia-autoroll
6bc4a7405a Roll third_party/externals/swiftshader 8be72df60462..16ae92a4ee52 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/8be72df60462..16ae92a4ee52

git log 8be72df60462..16ae92a4ee52 --date=short --first-parent --format='%ad %ae %s'
2020-03-10 amaiorano@google.com Subzero: fix Call on bool-returning functions

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

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 brianosman@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: brianosman@google.com
Change-Id: I2c1768c976ed20a845584766e4673c7804138796
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276339
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-11 04:34:26 +00:00
Mike Reed
c2fe5ee2b3 refactor where we wrap clipshaders, in prep for gpu backend
Change-Id: I6040d1fb67911bbfdefd5f1ff968e7d11323763d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276281
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2020-03-11 01:32:14 +00:00
Mike Klein
f97c018947 simplify skvm clip shaders
This removes the need for overhead like NoClip and the second call to
hash_shader() by treating null clip shaders specially.

Change-Id: I409fb6eb890e1dbaf242ecf94188aa9c477f39f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276230
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-11 01:03:49 +00:00
Mike Klein
272c56ba73 skvm clip shader support
This appears to work.

As a follow up, I want to try taking a little care handling a null and
opaque clip shaders explicitly, to cut down on the overhead in the
common case when it's null and we burn non-zero CPU determining NoClip
is a no-op.

Change-Id: Ie30c4995b3242a5b52935a90005e5af79c9eae7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276227
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-03-11 00:59:55 +00:00
Mike Klein
c376cb4b42 skvm local matrix shader
Got distracted when looking at SkCTMShader
and implemented this for SkVM instead.

Nothing tricky at all.  Exactly like SkRP impl.

Added some commented out SkDebugf() to help me
find what impls are missing.

Change-Id: Ie11e1996c5d1b72f202cc1635cf13e4f2e1f14d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276234
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-11 00:58:45 +00:00
Jim Van Verth
3e192165cb Hoist GrVkResource up so it can be used for D3D and Metal.
Bug: skia:9935
Change-Id: Ie13b9077c5db805020973e5cbab1aa8468c88742
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276214
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2020-03-10 22:37:10 +00:00
Mike Reed
bf355123ae we can handle opaque clip-shaders up front
Change-Id: I6ac1470dfe5005479b52a0ae662874fd0f7b61c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276316
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-03-10 21:37:20 +00:00
Mike Reed
3439323afd remove testing && false
Change-Id: I87cfeccc7ce624d42b19226de5ff63dd18b65aca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276279
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-03-10 21:24:51 +00:00
Michael Ludwig
4723724bac Impl. tiled bitmaps in drawImageRect with per-edge AA flags
Bug: skia:3803
Change-Id: If2b529bf9167e2a94784d8797ce28a9618e86d11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276203
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-03-10 20:56:00 +00:00
Mike Klein
520c5fd7b2 fix clip shader + skvm
The SkVM bots set this define, overriding the check at head.

Change-Id: Icbd7cb8c06ccba15a60855aefc92a43d624f51ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276224
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-10 20:30:00 +00:00
Brian Osman
5f6b41e6d8 Runtime effects: Detect calls to undefined functions
Previously, the CPU backend would catch this later (ByteCodeGenerator),
and the GPU backend would assert in expandFormatArgs (out-of-range
function index).

Change-Id: Ib84bf7c477ddcc9fd3091c5b106ebdd654e9a30b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276000
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-03-10 20:27:10 +00:00
Chris Dalton
39ca9734a7 Migrate ccpr to the new bind/draw API
Change-Id: I4bdce03ea889b564c9bb8a7e48d95bf7873c4020
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276183
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-03-10 20:12:53 +00:00
Florin Malita
6e7eac9fff [skottie] Simplify the separate-dimensions vector interpolator
No need for an intermediate adapter object - just bind individual/scalar
fields using existing mechanisms.

No functional side effects.

TBR=
Change-Id: I16be769e5fb92dba0ebb6ce3b0584c5cdcc2b92c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276215
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-03-10 19:55:50 +00:00
Robert Phillips
3eabf4ae00 Convert AAConvexPathOp to surfacing its programInfo
This Op is interesting bc it has multiple draws (i.e., it has multiple GrMeshes).

Bug: skia:9455
Change-Id: Ifdd0f07c713cfd88f77038f9a63289d004ffe83b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276208
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2020-03-10 19:52:31 +00:00
Greg Daniel
a19ea58aa9 Experiment with no longer avoiding uploading same uniforms in vulkan.
The plan is to land this and see what the perf bots report. Only local
desktop a little less than half the time we skip the upload for not being
dirty. But we're not sure if this is saving us much. Unless there is no
regression at all, we will revert this.

Bug: skia:10035
Change-Id: I8a3a8862ccd10ba109b5ddc2f3473d30b3ceccaf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276211
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-03-10 19:29:00 +00:00
Mike Klein
d3f67dbf9f add Builder::dot()
Just a quick hack up to dump out a dot-compatible graph.
Arrows go from instruction -> args, making them depends-on
arrows, not data-flows-this-way arrows.

Example:
    ninja -C out nanobench
    out/nanobench --config 8888 -m bitmap_RGBA_8888_A_scale_bicubic --skvm
    dot /tmp/CT4-AT2-Cov0-Blend3-CS0-Shader7d2763e63326274c.dot -T png -O
    open /tmp/*.png

Change-Id: Ic1ad99bb39f84a211304feef8ac485c0225d6a60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276184
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-10 18:51:40 +00:00
Mike Reed
121c2afb99 clipShader -- raster implementation
1. pass shader+op down to device
2. bitmapdevice pass it down to rasterclip
3. rasterclip only ever stores at most one shader
   - if there is a ctm, fold that into (another) shader
   - if the op is difference, invert the sense of alpha
   - if there was a previous shader, compose with it
4. pass through to rasterpipelineblitter
5. it prepends the colorPipeline with the clipShader, and stashes its
   results in a buffer (fClipShaderBuffer)
6. in each blit, scale/lerp from the buffer before storing the result

Change-Id: I07c7a8a20b9ae95cdcc9954237d115e63819f7c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275798
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-03-10 18:43:21 +00:00
Florin Malita
92ec801a2b [skottie] 2D spatial interpolation support
AE discriminates [1] between basic 2-dimensional properties
(PropertyValueType.TwoD - e.g. scale), and spatial 2D properties
(PropertyValueType.TwoD_SPATIAL - e.g. position).

For the latter it provides additional keyframe controls (tangent in &
tangent out) to describe a non-linear interpolation path ("spatial
interpolation").  This composes on top of the usual temporal
interpolation (with its own optional cubic mapping).

To support spatial interpolation:

  - introduce a new Skottie value type (Vec2Value), to represent
    TwoD and TwoD_SPATIAL properties
  - introduce a KeyframeAnimator specialization for Vec2Value, which
    tracks per-keyframe tangent information
  - for spatial keyframes, instantiate/store an SkContourMeasure, and
    use instead of straight Vec2 LERP
  - switch interesting 2D properties to the new value type (transform
    position, anchor point, scale)

(we could look into separating TwoD/TwoD_SPATIAL if needed, but the new
specialization is already more efficient than the old
opaque-vector-with-late-binding approach)

[1] http://docs.aenhancers.com/properties/property/#property-propertyvaluetype

Change-Id: I0863fd970cec4c5ff15cf01b2fb5c6602a468179
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/274283
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-03-10 17:50:55 +00:00
Michael Ludwig
dd86fb3531 Move tiled bitmap code into SkGpuDevice_drawTexture.cpp
This is purely moving code, to make changes in the next CL clearer when
most of these functions can be made static in the cpp file.

Change-Id: I9b23dd96bfc4b6ab3b5f6c8ad8b62365a6d82db2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276199
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-03-10 17:50:25 +00:00
Robert Phillips
d1a8af69ef Make GrRegionOp surface programInfos at record time
Bug: skia:9455
Change-Id: I6049f94fcc7bab00d007e6eca1ba2a425977401a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276198
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-10 17:45:51 +00:00
Robert Phillips
e37f1c4c18 Surface programInfos on GrLatticOp at record time
This entailed adding createProgramInfo & onPrePrepareDraws methods.

This Op is interesting bc its GP has a proxy.

Bug: skia:9455
Change-Id: I5b2e5f20fd5bdd96f31a06c52929b1787336a466
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275948
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-03-10 17:45:21 +00:00
Chris Dalton
78dac6dcb2 Convert FillRRectOp to the new bind/draw API
Change-Id: Ide8f951ec64c245f94ddae5b442a115495b3e3f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275550
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-03-10 15:45:11 +00:00
Nathaniel Nifong
2e307968fd Clean up Enums in Canvaskit
- Removed inverse filltypes
 - Removed StrokeAndFill Paint Style
 - Removed TextEncoding (all functions assume UTF-8)

Change-Id: Ie2824042b48b3dcefb41ef761bb3070df894da75
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276099
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-03-10 15:17:20 +00:00
Eric Boren
fae71fb596 [infra] gen_tasks: fix TODOs in usesDocker()
This adds the "docker_installed=true" dimension for some tasks which are
currently using Docker but do not set the dimension.

Change-Id: I94ede7376e081b861bc691111b58eda37ccf6c41
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276002
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2020-03-10 10:17:59 +00:00
skia-recreate-skps
80f8325046 Update Go Deps
Change-Id: I2ab6c86e008d2cebbddecb2be2fd44a33f44d0a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276156
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-03-10 05:22:58 +00:00
skia-autoroll
4760465241 Roll ../src 5c8f724bfe77..7f81408a3581 (409 commits)
5c8f724bfe..7f81408a35


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

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 brianosman@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: brianosman@google.com
Change-Id: I2356d1e6a27d032beeef11646a9a52d6a7b21b31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276148
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-10 05:05:58 +00:00
skia-autoroll
9e1f70b1d7 Roll third_party/externals/angle2 0c9b6abde90c..abcc536b6207 (12 commits)
0c9b6abde9..abcc536b62

git log 0c9b6abde90c..abcc536b6207 --date=short --first-parent --format='%ad %ae %s'
2020-03-10 shrekshao@google.com Speculative fix for nullptr program in QueryProgramiv
2020-03-09 jmadill@chromium.org Revert "Vulkan: Fix store ops with linear command recording."
2020-03-09 b.schade@samsung.com Enabled GL_KHR_no_error
2020-03-09 tikuta@chromium.org use go isolate client in trigger.py
2020-03-09 geofflang@google.com Allow referencing buganizer issues with ANGLE CLs.
2020-03-09 geofflang@google.com Generate arch-specific defines in Android.bp
2020-03-09 geofflang@google.com Improve GN args for generating Android rolls.
2020-03-09 cnorthrop@google.com docs: Document how to use ANGLE on Android
2020-03-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src 66a682b6a8f9..4c027048d88b (3 commits)
2020-03-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src 9bd3f561bcee..74556a131735 (1 commits)
2020-03-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src aa95c80e1a89..6861ea4e10a1 (1 commits)
2020-03-09 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 51b2800bb317..b44162fdbb25 (2 commits)

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

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 brianosman@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: brianosman@google.com
Change-Id: I9df960aee06eaa64663ded756d7fbd354cd6b0a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276147
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-10 04:34:19 +00:00
skia-autoroll
390b9cd720 Roll third_party/externals/swiftshader b44162fdbb25..8be72df60462 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b44162fdbb25..8be72df60462

git log b44162fdbb25..8be72df60462 --date=short --first-parent --format='%ad %ae %s'
2020-03-09 swiftshader.regress@gmail.com Regres: Update test lists @ b44162fd

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

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 brianosman@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: brianosman@google.com
Change-Id: Ifedee8cf84e371560279762101eceefb3a1064a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276146
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-03-10 04:31:58 +00:00
Mike Reed
8a44af5cba remove unused isAPicture from shaderbase
Change-Id: I8dac4d62c68a79d5f08c1a96e160c6606c8f765c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276104
Auto-Submit: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-03-09 23:55:09 +00:00
Florin Malita
0c465e3f35 SkShaders::Blend/GPU: treat null inputs as input color
Matches CPU behavior.

Bug: skia:10019
Change-Id: I514bb996fdce8de2af5df008e185c48617a20a37
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276008
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-03-09 23:52:59 +00:00
Mike Klein
a67d1aebf2 add missing license line to SkVM_opts.h
Change-Id: Ie66eccaae13bd1499b3b21bd1bc3c08f867e58aa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276139
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-03-09 23:02:58 +00:00
Florin Malita
52f0291147 Remove SkMaskFilter::makeWithMatrix()
No longer in use by known clients.

Change-Id: Ib695f900a7912f27b40e76905d7369ea18c40800
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276098
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2020-03-09 21:02:38 +00:00
Nathaniel Nifong
a3aa601ea6 Add a canvas test to make and draw SkVertices
Change-Id: I54647b84e0ee0e13cf3041e9340120a6aca89d08
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275997
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Nathaniel Nifong <nifong@google.com>
2020-03-09 20:28:48 +00:00
Leon Scroggins III
a77f30c7db Reland "Split building encoding from decoding"
This reverts commit 9d4b788807.
Copyright issue has been fixed in
https://skia-review.googlesource.com/c/skia/+/275998.

Original description:
Bug: skia:9756

In CanvasKit, a large part of the binary is for encoding. Clients
would be happier with a smaller binary and no webp/jpeg encoding. Make
this an option by splitting up the GN arguments.

Split SK_HAS_WEBP_LIBRARY into SK_CODEC_DECODES_WEBP (to match the
existing SK_CODEC_DECODES_RAW) and SK_ENCODE_WEBP. Same for JPEG and
PNG.

Update CanvasKit compile script to disable webp and jpeg encoding.
Update debugger compile script to disable all encoding.

Change IsPng signature to match other SkCodecs.

TBR=djsollen@google.com

Change-Id: Ic847bae0154e0a2922100b3f2ee14a077ee5635a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276007
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2020-03-09 20:21:19 +00:00
Greg Daniel
85da3368c5 Add d3d support for creating command lists.
Currently we only can create direct command lists and we also don't cache anything.

Change also has so minor fixes to GMs allowing the d3d backend to run through all
GMs without crashing (though not actually drawing anything).

Bug: skia:9935
Change-Id: Ibf378e522d2e49bf342c709eb93d6fca4d43eac9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/276097
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-03-09 19:42:48 +00:00