Commit Graph

47628 Commits

Author SHA1 Message Date
Chris Dalton
a77cdee048 Reland "Rename instanceAttribSupport -> drawInstancedSupport"
This is a reland of 17f05c737e

Original change's description:
> Rename instanceAttribSupport -> drawInstancedSupport
>
> Change-Id: I7d8ff8597849f2b910928867842857e25a12b4b1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281582
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com

Change-Id: I2e15ac72d86747c30e71bb50d30da48a5a342772
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282118
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-04-07 16:54:37 +00:00
Chris Dalton
0999bce974 Reland "Remove GrGLGpu mirror methods of GL draw calls"
This is a reland of 4b239b1d50

Original change's description:
> Remove GrGLGpu mirror methods of GL draw calls
>
> Instead make these calls directly from GrGLOpsRenderPass.
>
> Change-Id: Id4d0812ca6b9242207e4f0c9130b43cfa375fd4f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281637
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com

Change-Id: I6a1b79534b236899bcc49a4acd23498be309d324
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282096
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-04-07 16:09:18 +00:00
Mike Reed
a735ad98db stage changing didCocnat44 virtual
SK_SUPPORT_LEGACY_DIDCONCAT44

Change-Id: Ie208c245d7121fddc693a7d3c5d6866441c27433
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281864
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-07 15:50:57 +00:00
Greg Daniel
dcd2964e6f Ignore incorrect vulkan valdiation error.
Change-Id: Idcc598af6b3859d33b674402c973438ddfdd632b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282038
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2020-04-07 14:41:47 +00:00
Florin Malita
0022f5cf1b [SkTrimPathEffect] Preserve wrap-around continuity
In inverted mode (Mode::kInverted), the trim result represents the
logical segment [stop..start] (wrapping around at the path's end).

We currently emit two segments [0..start] and [stop..1], in that
exact order.  This behavior breaks continuity for single closed
contour paths.

Update SkTrimPath to

1) emit the segments in the correct order ([stop..1],[0..start])

2) skip the connecting moveTo for closed paths

Bug: skia:10107
Change-Id: Icd280554ba7291c985f504793feff104df2a4a99
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281882
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-04-07 14:40:17 +00:00
skia-autoroll
860e2cf104 Roll third_party/externals/angle2 1c95795f1fb3..eb298a024032 (11 commits)
1c95795f1f..eb298a0240

git log 1c95795f1fb3..eb298a024032 --date=short --first-parent --format='%ad %ae %s'
2020-04-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src b5757b95005b..9c3204a1fde0 (1 commits)
2020-04-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src 0e78ffd1dcfc..b4b0f994204e (1 commits)
2020-04-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src e95fbfb1f509..4af38c49bfee (1 commits)
2020-04-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src dbd073615280..004b2914bfe3 (5 commits)
2020-04-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader b8d47928094f..bdb6807825ac (4 commits)
2020-04-07 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 698d82e38b39..1fbefe048387 (2 commits)
2020-04-06 cnorthrop@google.com Capture/Replay: Implement more GLES entry points
2020-04-06 cnorthrop@google.com Capture/Replay: Track buffer contents by ID
2020-04-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader f99302c4efe6..b8d47928094f (15 commits)
2020-04-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-tools/src 7844b9b4e180..698d82e38b39 (1 commits)
2020-04-06 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 9a283ae3457f..dbd073615280 (4 commits)

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

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 csmartdalton@google.com,borenet@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: csmartdalton@google.com,borenet@google.com
Change-Id: I0b90ad76c6ad38c57b19101bdb9e94dc9c4bd990
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282063
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-07 14:05:17 +00:00
skia-autoroll
826f1087f1 Roll third_party/externals/swiftshader b8d47928094f..b4a27407e2be (5 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b8d47928094f..b4a27407e2be

git log b8d47928094f..b4a27407e2be --date=short --first-parent --format='%ad %ae %s'
2020-04-07 bclayton@google.com Coverage: Improve uncovered visualizations
2020-04-06 sugoi@google.com Don't blend integer formats
2020-04-06 amaiorano@google.com Clamp GLES sine/cosine to [-1,1]
2020-04-06 sugoi@google.com Delete Plane.cpp and Plane.hpp
2020-04-06 bclayton@google.com CMake / Kokoro: Build and run system-unittests.

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

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 csmartdalton@google.com,borenet@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: csmartdalton@google.com,borenet@google.com
Change-Id: I28f29a386f59f4db32a3850445903391e56d4d56
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282064
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-07 14:02:06 +00:00
Robert Phillips
e19babf996 Remove GrAtlasManager.h from all other .h files
Having GrAtlasManager.h in GrContextPriv.h was needlessly propagating dependence on that header.

Change-Id: Idf5836f1e217ecd2da91f751b488a63a884c02ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281739
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-04-07 12:43:46 +00:00
Weston Tracey
c979aa8551 Use Debian9 builds for ChromeOS until they are fixed.
Bug: skia:9438
Change-Id: I7cf22d405ca61240730fd3cb38a05c55ddc7ac3e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282036
Auto-Submit: Weston Tracey <westont@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Weston Tracey <westont@google.com>
2020-04-07 12:32:46 +00:00
Mike Reed
9ff25897db detect if the skip failed
Bug: 1068536
Change-Id: Ie68559aebb04d58446d30451abdb498fcf48af60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282056
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-07 12:32:36 +00:00
Weston Tracey
2462788755 Changing ~everything (mostly recipe related stuff) to reference Debian10 jobs
Bug: skia:9438
Change-Id: Ibea28d454bcc1c44dfb9ab82a2a8216342f3b8a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281878
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Weston Tracey <westont@google.com>
2020-04-07 12:18:06 +00:00
Chris Dalton
852ebea2d5 Reland "Reland "Reland "Reland "Use glDraw.*BaseInstance calls to avoid deferred buffer binding""""
This is a reland of 0a51aa55f8

TBR=michaelludwig@google.com

Change-Id: I5bdbb93c4229c4cfdf8bcfc479cd2c4154d058ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281960
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2020-04-07 06:29:07 +00:00
skia-recreate-skps
cbb080f660 Update Go Deps
Change-Id: I75020129f6da4c9b7f10540817496da6a50898f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281957
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-04-07 05:37:36 +00:00
skia-autoroll
275e665173 Roll ../src c0b367bf9cab..ebd295df4e31 (366 commits)
c0b367bf9c..ebd295df4e


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

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 csmartdalton@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: csmartdalton@google.com
Change-Id: Id9fce27598ad872f0abac8c8f1f977ecfbaf058e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281921
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-07 04:55:50 +00:00
Chris Dalton
5846ff3c7a Make glDraw*BaseInstance non-optional when extension(s) are present
TBR=michaelludwig@google.com

Change-Id: Ie9fc5eb6aee8cffde5d17a01fc816a1c49d02e9c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281881
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-04-07 04:02:07 +00:00
Weston Tracey
76f4fff613 Begin using Debian10 for tryjobs.
-Rename all Debian9 jobs to Debian10
-Update GCE and Skolo OS names in gen_tasks to Debian10
-Begin using newly minted Debian10 Mesa drivers (for NUC7i5BNK-GPU-IntelIris640 machines)
-Followup CLs will bring remaining branches' tasks (and CQ) up to Debian10, likely once it has been deployed to 90% of the fleet.
-CQ sibling CL https://skia-review.googlesource.com/c/skia/+/281876

TBR: borenet@google.com
Bug: skia:9438
Change-Id: I917e93c2659b29f0bee7041e5a65c641642142a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281397
Reviewed-by: Weston Tracey <westont@google.com>
2020-04-07 00:43:26 +00:00
Chris Dalton
afbf2aa737 Revert "Reland "Reland "Reland "Use glDraw.*BaseInstance calls to avoid deferred buffer binding""""
This reverts commit 0a51aa55f8.

Reason for revert: chrome

Original change's description:
> Reland "Reland "Reland "Use glDraw.*BaseInstance calls to avoid deferred buffer binding"""
> 
> This is a reland of 47d03f6ee5
> 
> Original change's description:
> > Reland "Reland "Use glDraw.*BaseInstance calls to avoid deferred buffer binding""
> > 
> > This is a reland of d84b691950
> > 
> > Original change's description:
> > > Reland "Use glDraw.*BaseInstance calls to avoid deferred buffer binding"
> > > 
> > > This is a reland of e8c963d474
> > > 
> > > Original change's description:
> > > > Use glDraw.*BaseInstance calls to avoid deferred buffer binding
> > > > 
> > > > Change-Id: I968dab317673051acc65f87ea76a0d657d89b3d2
> > > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279538
> > > > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> > > > Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> > > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > 
> > > Change-Id: I79b2d23e5e66d47214898a9068079b6fe2269599
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280806
> > > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > 
> > Change-Id: I9240c5cc6e58ce196be393c649bbdd86560602f0
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281077
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> 
> Change-Id: Id9e3aacaa7c693bef74454aeccbebf367c047fd3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281632
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

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

Change-Id: I227b4f0ec8704bd62f22965ff75aeb337786dbdc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281870
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-04-06 22:27:42 +00:00
Chris Dalton
935ba7e58a Revert "Remove GrGLGpu mirror methods of GL draw calls"
This reverts commit 4b239b1d50.

Reason for revert: chrome

Original change's description:
> Remove GrGLGpu mirror methods of GL draw calls
> 
> Instead make these calls directly from GrGLOpsRenderPass.
> 
> Change-Id: Id4d0812ca6b9242207e4f0c9130b43cfa375fd4f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281637
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

Change-Id: I8071e977ac67fd8bf691f9f3ddf2dcca7e83657a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281869
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-04-06 22:23:57 +00:00
Chris Dalton
31c028c54b Revert "Rename instanceAttribSupport -> drawInstancedSupport"
This reverts commit 17f05c737e.

Reason for revert: chrome

Original change's description:
> Rename instanceAttribSupport -> drawInstancedSupport
> 
> Change-Id: I7d8ff8597849f2b910928867842857e25a12b4b1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281582
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

Change-Id: I2b28e3066f27b9d63713f93c0b44d7ba92fcdba9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281868
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-04-06 22:22:37 +00:00
Mike Klein
aae8d13b09 make gUseSkVMBlitter take over sprite draws
Today they all still use legacy or SkRP if applicable.
Returning nullptr makes us fall back into the normal
blitter choice flow.

This is an interesting integration point where we
could create an SkVMBlitter with a varying for the
color pipeline, bypassing the usual SkShader flow.

Change-Id: I6f5acadd2829bf39d82e7bcd144407cd9d97f1bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278811
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-04-06 22:14:27 +00:00
Michael Ludwig
469dd641cc Use round for morphology radius
The fiddle: https://fiddle.skia.org/c/1a0202dd230713064ad90b627c7de47d
highlighted an issue with the old conversion from float to int for the
mapped dilate/erode radii. Depending on the canvas matrix and the scale
extraction floating point error, the computed float raddi would be
very close to 1.0 (for a nominal radii = 1), but actually be 0.9999.

The floor would turn this into a 0 integral radius and then the image
filter implementation would determine that no operation was needed.
Switching to round fixes the issue present in the filter. This may
cause some GMs to change as it does change how the floating point radii
are mapped. Now, for fractional radii, we will jump up to the next
kernel size a little sooner.

The SVG spec appears ambiguous in terms of rounding behavior for these
scenarios. The other kernel-based image filters that I checked
(matrix, blur, drop-shadow) are all defined in device space, or use
a sigma to determine kernel size, so morphology filters are somewhat
unique. This means we don't need to worry about creating a
discrepency between this filter's kernel rounding behavior and other
filters' behaviors.

Bug: skia:10066
Bug: skia:10110
Change-Id: I6b3daa4c1242273ce924e22ba6de5eb25a7a96bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281731
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2020-04-06 22:01:39 +00:00
Weston Tracey
778e1a3784 Modify Linux Mesa driver script for Debian 10. Will update VERSION when switching jobs to Debian10.
Bug: skia:9438
Change-Id: I30d23cd0fb6150b984c36e31b2c9ce5306e63653

Change-Id: I30d23cd0fb6150b984c36e31b2c9ce5306e63653
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281758
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Weston Tracey <westont@google.com>
2020-04-06 21:52:37 +00:00
Mike Klein
06323daaed full clamp in clip_color
I think this will let us land the sprite blitter change.

Change-Id: Ifee3a823e1389800f35e964413d816ea0b388364
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281787
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-06 21:33:48 +00:00
Mike Reed
2f92c93dc7 virtual for saveCamera
Change-Id: Iff486ae8dbf94971cfd513954299e2635c13ef1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281585
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-06 21:31:47 +00:00
Brian Osman
aa9983aec8 Add usage field to SkVertices::Attribute
Bug: skia:9984
Change-Id: I237585fe8c7178f3a0a108afaa02d07fd8e202b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281438
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2020-04-06 21:26:17 +00:00
Mike Reed
16992e1ced simplify some HSL blend modes in skvm
Starting to look at https://skia-review.googlesource.com/c/skia/+/278811
and noticed we could do some local cleanup.

Just readability -- no functional change.

Change-Id: I3f2d64979a1c251ddb11eff42f8f6d6c37699875
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281784
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-04-06 21:04:07 +00:00
Mike Klein
2f23bae659 basic runtime color filters on skvm
Now with enough implemented to also run runtime_colorfilter.

This won't actually run without
https://skia-review.googlesource.com/c/skia/+/278811.

Change-Id: I55c69e9135f381ef58a0b69ee985d377c3888ec1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281750
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-06 19:26:37 +00:00
Kevin Lubick
c1d0898d0a [canvaskit] Handle 4x4 matrix passing ourselves.
This reduces the skm44_concat benchmark from 2us to .35us, a 5x
speedup.

SkCanvas.concat now takes a 3x2, 3x3, or 4x4 matrix and upscales
them all to 4x4. This makes concat44 redundant.

Removes redundant null checks for matrices, since freeing(0)
in WASM is fine like it is in C++.

Change-Id: I44a776ffd0babb81d8a34f9d94ae4d7831d02b55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281721
Reviewed-by: Mike Reed <reed@google.com>
2020-04-06 19:21:58 +00:00
Ethan Nicholas
16464c3232 Tracking uniform ownership
This is a prerequisite change for the upcoming sample(child, matrix)
function. By itself, this CL doesn't really change anything; it just
adds an ownership tracking feature which sample(child, matrix) depends
on.

Change-Id: I98b12e5fb062a2535af367931e7a932ea9c63a59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281337
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2020-04-06 19:02:37 +00:00
Chris Dalton
17f05c737e Rename instanceAttribSupport -> drawInstancedSupport
Change-Id: I7d8ff8597849f2b910928867842857e25a12b4b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281582
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-04-06 18:53:57 +00:00
Chris Dalton
4b239b1d50 Remove GrGLGpu mirror methods of GL draw calls
Instead make these calls directly from GrGLOpsRenderPass.

Change-Id: Id4d0812ca6b9242207e4f0c9130b43cfa375fd4f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281637
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-04-06 18:45:07 +00:00
Chris Dalton
0a51aa55f8 Reland "Reland "Reland "Use glDraw.*BaseInstance calls to avoid deferred buffer binding"""
This is a reland of 47d03f6ee5

Original change's description:
> Reland "Reland "Use glDraw.*BaseInstance calls to avoid deferred buffer binding""
> 
> This is a reland of d84b691950
> 
> Original change's description:
> > Reland "Use glDraw.*BaseInstance calls to avoid deferred buffer binding"
> > 
> > This is a reland of e8c963d474
> > 
> > Original change's description:
> > > Use glDraw.*BaseInstance calls to avoid deferred buffer binding
> > > 
> > > Change-Id: I968dab317673051acc65f87ea76a0d657d89b3d2
> > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279538
> > > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> > > Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > 
> > Change-Id: I79b2d23e5e66d47214898a9068079b6fe2269599
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/280806
> > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> 
> Change-Id: I9240c5cc6e58ce196be393c649bbdd86560602f0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281077
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

Change-Id: Id9e3aacaa7c693bef74454aeccbebf367c047fd3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281632
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-04-06 18:43:10 +00:00
Mike Klein
a9741ee25a first sksl on skvm
Exactly enough implemented to run

    fm --skvm -b cpu -s runtime_shader -w foo

This shader

     0: 0077 load2 0
    10: 00a2 pushimmediate 998277249(0.0039215688593685627)
    22: 0070 dup
    31: 0094 multiplyf2
    40: 0080 loaduniform 2
    50: 00a2 pushimmediate 1065353216(1.0)
    62: 00c1 store4 2
    71: 00b4 return 0

becomes this blitter, including matrix, blending, asserts, etc:

    17 registers, 57 instructions:
    0	r0 = uniform32 arg(0) 4
    1	r0 = to_f32 r0
    2	r1 = splat 3F000000 (0.5)
    3	r0 = add_f32 r0 r1
    4	r2 = uniform32 arg(0) 2C
    5	r3 = uniform32 arg(0) 28
    6	r2 = fma_f32 r0 r3 r2
    7	r3 = uniform32 arg(0) 0
    8	r4 = uniform32 arg(0) 24
    9	r5 = splat 3F800000 (1)
    10	r6 = uniform32 arg(0) 38
    11	r6 = min_f32 r6 r5
    12	r7 = splat 0 (0)
    13	r6 = max_f32 r7 r6
    14	r8 = splat 437F0000 (255)
    15	r9 = mul_f32 r6 r8
    16	r9 = round r9
    17	r10 = splat FF (3.5733111e-43)
    18	r10 = pack r9 r10 8
    19	r9 = splat 3B808081 (0.0039215689)
    20	r11 = uniform32 arg(0) 20
    21	r12 = uniform32 arg(0) 1C
    22	r11 = fma_f32 r0 r12 r11
    23	r12 = uniform32 arg(0) 18
    24	r0 = splat 3F800001 (1.0000001)
    25	r13 = min_f32 r6 r0
    26	r14 = splat B4000000 (-1.1920929e-07)
    27	r13 = max_f32 r14 r13
    28	r13 = eq_f32 r6 r13
    29	assert_true r13 r6
    loop:
    30	    r6 = index
    31	    r6 = sub_i32 r3 r6
    32	    r6 = to_f32 r6
    33	    r6 = add_f32 r6 r1
    34	    r13 = fma_f32 r6 r4 r2
    35	    r13 = mul_f32 r9 r13
    36	    r6 = fma_f32 r6 r12 r11
    37	    r13 = min_f32 r13 r5
    38	    r13 = max_f32 r7 r13
    39	    r15 = mul_f32 r13 r8
    40	    r15 = round r15
    41	    r6 = mul_f32 r9 r6
    42	    r6 = min_f32 r6 r5
    43	    r6 = max_f32 r7 r6
    44	    r16 = mul_f32 r6 r8
    45	    r16 = round r16
    46	    r15 = pack r16 r15 8
    47	    r15 = pack r15 r10 16
    48	    store32 arg(1) r15
    49	    r15 = min_f32 r13 r0
    50	    r15 = max_f32 r14 r15
    51	    r15 = eq_f32 r13 r15
    52	    assert_true r15 r13
    53	    r13 = min_f32 r6 r0
    54	    r13 = max_f32 r14 r13
    55	    r13 = eq_f32 r6 r13
    56	    assert_true r13 r6

And that JITs using 11 ymm registers.

Change-Id: Ib45b5fa6aee427f290b77d8900f10d433ad81133
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281746
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-06 17:32:28 +00:00
Mike Reed
3ef77ddf9e clean up public m44 and camera api
saveCamera() is no longer experimental

In a separate CL, will stage changes to concat virtual to take M44.

Change-Id: Iaf37ce2f24ab1223c54aeb1e79eaebf18f87fece
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281589
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-04-06 15:34:17 +00:00
Robert Phillips
6d3bc2951d Consolidate the conversion of plot location to uvs to be w/in GrDrawOpAtlas
Bug: 1056730
Change-Id: Icb3e8e32585d1abc38205e1baf86b5a5291c8d8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281196
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2020-04-06 15:26:47 +00:00
Kevin Lubick
9b56cea5fa [canvaskit] Add test and gm for 4x4 matrix
Would be nice to eventually follow up with test involving camera.

Change-Id: I264d0a0dc3467a971103264df21701c094323b80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281719
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-04-06 13:28:15 +00:00
Jim Van Verth
04513752fd Remove D3D12X.
Causing flutter roll issues and we don't need it.

Bug: skia:10105
Change-Id: I2f0ec916984b33045fcd1961417b823f97355725
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281717
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2020-04-06 12:02:37 +00:00
skia-recreate-skps
74ac68ad26 Update Go Deps
Change-Id: Ia7c4549a4ce7d5bc7ca3316d605480fc4215ea7c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281705
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-04-06 05:44:57 +00:00
skia-autoroll
d307d46444 Roll third_party/externals/angle2 1cc49bb2e230..1c95795f1fb3 (12 commits)
1cc49bb2e2..1c95795f1f

git log 1cc49bb2e230..1c95795f1fb3 --date=short --first-parent --format='%ad %ae %s'
2020-04-03 jmadill@chromium.org Use ImageIndex in ensureSubImageInitialized.
2020-04-03 jmadill@chromium.org Track rendering feedback loops by-context.
2020-04-03 m.maiya@samsung.com Add support for NV_shader_noperspective_interpolation
2020-04-03 jmadill@chromium.org Pass layer count to robust 2D array texure init.
2020-04-03 courtneygo@google.com Enable blob cache when debugging
2020-04-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-validation-layers/src 499f6df688c9..9a283ae3457f (7 commits)
2020-04-03 jmadill@chromium.org Texture: Pass explicit unpack buffer to setImage.
2020-04-03 jmadill@chromium.org Vulkan: Fix FBO cache when updating disabled attachments.
2020-04-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-loader/src ba07fa0be82c..bb74deab0a4d (1 commits)
2020-04-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 0b66fa3b62cb..b5757b95005b (1 commits)
2020-04-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader cb58662302c8..f99302c4efe6 (7 commits)
2020-04-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/spirv-tools/src f20c0d7971c6..e95fbfb1f509 (7 commits)

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

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 csmartdalton@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: csmartdalton@google.com
Change-Id: Icc3c5e3716c22463f1de767a6752da980e5d242a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281696
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-06 04:52:37 +00:00
skia-autoroll
00a39d1475 Roll third_party/externals/swiftshader f99302c4efe6..b8d47928094f (15 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f99302c4efe6..b8d47928094f

git log f99302c4efe6..b8d47928094f --date=short --first-parent --format='%ad %ae %s'
2020-04-04 bclayton@google.com Vulkan: Destruct the list of vk::Query in QueryPool
2020-04-03 amaiorano@google.com Really fix Android build
2020-04-03 amaiorano@google.com Fix Chromium and Android build
2020-04-03 bclayton@google.com Debug: Add missing include.
2020-04-03 bclayton@google.com Vulkan/Debug: Create a PhysicalFile if DebugSource has no content
2020-04-03 bclayton@google.com Vulkan/Debug: Always provide the dap::Source::path
2020-04-03 bclayton@google.com CMake: Don't always regenerate OpenCLDebugInfo100.h
2020-04-03 amaiorano@google.com CMake: use gtest and gmock targets
2020-04-03 amaiorano@google.com CMake: split out atsc-encoder into its own CMakeLists
2020-04-03 amaiorano@google.com CMake: clean up cppdap usage
2020-04-03 amaiorano@google.com CMake: split out Reactor into its own CMakeLists
2020-04-03 amaiorano@google.com CMake: split out boost into its own CMakeLists
2020-04-03 amaiorano@google.com CMake: split out libbacktrace into its own CMakeLists
2020-04-03 amaiorano@google.com CMake: split out subzero and llvm-subzero into their own CMakeLists
2020-04-03 bclayton@google.com Kokoro: Add the ppa:ubuntu-toolchain-r/test apt-repository

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

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 csmartdalton@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: csmartdalton@google.com
Change-Id: I0b40d6190b5afbf78e5d309666632f39391079f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281697
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-06 04:49:36 +00:00
skia-autoroll
95fbc06888 Roll ../src d086f1bdb67d..c0b367bf9cab (424 commits)
d086f1bdb6..c0b367bf9c


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

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 csmartdalton@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: csmartdalton@google.com
Change-Id: If66df83135e70eaa243dd2897759ffa978d36fc5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281695
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-04-06 04:39:26 +00:00
Florin Malita
0ba30328d0 [skottie] Corner pin effect
Note: works for well-formed poly-to-poly (perspective) transforms, but
doesn't support AE's degenerate corners semantics (concave/inverted
polys) at this point.

Bug: skia:10100
Change-Id: I5b3492b008302495b616867c139c6e5ad6dc57df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281595
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2020-04-05 16:47:06 +00:00
Mike Klein
4067a9429a the return of bit_clear
bit_clear is at least useful as a special case for select(),
which helps with code readability.

Add is_NaN() and use these all together in sweep gradient.

Change-Id: I57a54f8956f85e0db0662b33f8446b8dc7342d8d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281685
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-05 16:44:16 +00:00
Mike Klein
aa68109a59 special-case overhaul
- new this-> convention: never use it when calling common public
    Builder methods like splat(), bit_and(), etc like you'd see in
    normal user code, but always use it when calling private methods
    like this->push(), this->isImm(), this->allImm().

  - use c++17 if-statements to scope this->allImm() variables tighter.

  - check for x.id == y.id cases where applicable, including a tweak
    to min() and max() to make them able to hit the special case.

  - add special cases for I32 +,-,*, and remove an old unimportant
    unit test that assumed we didn't fold these.

  - add special cases for select(), and use select() in a few more
    places where it's clearer and now just as efficient.

Change-Id: Idaac9250ac5a95a48d33eeba1cc4380c8c91629d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281678
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-04-05 15:41:36 +00:00
Michael Ludwig
e99c56fae7 Use the LICENSE provided by Microsoft
The generic google notice didn't satisfy the dart script.

Tracked down this LICENSE at the root of the D3D12 Library project:
https://github.com/microsoft/DirectX-Graphics-Samples/blob/master/LICENSE

This matches "the MIT" license mentioned in the d3dx12.h header, hopefully
that's enough for the license script to detect a match, w/o needing to
update the script itself.

Bug: skia:10105
Change-Id: I1d4bf52b888a13f6727503024cb8f3e933078542
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281594
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-04-05 14:56:55 +00:00
Mike Reed
81dd8abf97 More infix for skvm, add poly() helper for polynomial evaluations
Change-Id: I074fcc1b3423e5da52c8dc43290c7f815d2a4c6c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281588
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2020-04-05 14:45:26 +00:00
skia-recreate-skps
1f8a1d0e1e Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Id6dfe1cc7972f04618ec5c59ccd06545bd473303
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281673
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-04-05 06:16:25 +00:00
skia-recreate-skps
23643257b2 Update Go Deps
Change-Id: I91c70a4dfb2b4746901fb22ca2c79e3a56ef35ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281668
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-04-05 05:33:05 +00:00
Michael Ludwig
a5efd68b52 Add license for include/third_party/d3d
TBR: rmistry@google.com, jvanverth@google.com
Bug: skia:10105
Change-Id: I12f84d74bb633fb6e69bc21478ba05962dba6a1b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281590
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-04-04 22:53:55 +00:00
skia-recreate-skps
10d86ab5da Update Go Deps
Change-Id: I1471d2be87edbcaca3c5e43489e72b12ed392f0d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281655
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2020-04-04 05:35:34 +00:00