Commit Graph

52009 Commits

Author SHA1 Message Date
Brian Osman
79719263ae Reland "Move GL's SkSL::Compiler to the GPU (like all other backends)"
This is a reland of cddfce2c24

Original change's description:
> Move GL's SkSL::Compiler to the GPU (like all other backends)
>
> This was the only backend that didn't store the compiler on the GrGpu,
> and also the only one that did lazy-instantiation. Trying to standardize
> this code a bit.
>
> Change-Id: Ibdd1bcc2dc9c3756b46a4c6f0543b5bb20fe135d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337716
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

Change-Id: I28cd2b20a86ca2cc34460cd494feff5b599f65bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338597
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-11-25 15:58:07 +00:00
Julia Lavrova
611b2a6a0d Heuristic for filtering out too big editing text cases
Bug: skia:10487

Change-Id: Ie13db40ceee6edfcc1cfb28a131ff2cfa02038fa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335664
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-11-25 15:54:27 +00:00
John Stiles
9aeed131a3 Code cleanup: Add isScalar/isVector/isMatrix helpers to Type.
These checks are made very frequently; it significantly eases
readability to have dedicated accessor methods, versus the verbose
`x.typeKind() == Type::TypeKind::kFoobar`.

Change-Id: I812b95f871cee436ccd3a5982c404f83563d44e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338317
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-11-25 15:17:17 +00:00
John Stiles
d8ca6b608e Replace SPIR-V assertion with mixed-types error message.
This is very unlikely to occur in real-world code, as it's somewhat
nonsense to use the comma operator in this way. However, it's better to
fail cleanly than to assert.

Change-Id: I76481cd8a993cb1a798ee16956400a512efd4c15
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337636
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-11-25 15:13:27 +00:00
Mike Klein
3e2e7b28b6 replace SkOpts::hash_fn
This new version always delivers the same results,
and I think can be simplified like this without
spoiling any of the bulk speed.

Change-Id: I20e42e58418e658278bb5db9472c39722b33160a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338339
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-11-25 14:55:27 +00:00
skia-autoroll
888c5d3e57 Roll ANGLE from 1b413197a6d7 to 130597e10299 (14 revisions)
1b413197a6..130597e102

2020-11-25 cclao@google.com Vulkan: Use PackedScissor struct to reduce GraphicsPipelineDesc size
2020-11-25 jmadill@chromium.org EGL: Auto-generate validation header.
2020-11-24 ynovikov@chromium.org Skip failing tests on Win AMD RX 5500 XT
2020-11-24 syoussefi@chromium.org Vulkan: Use transfer more opportunistically with copyTextureCHROMIUM
2020-11-24 syoussefi@chromium.org Vulkan: Initial expectations for GLES32 KHR tests
2020-11-24 cclao@google.com Vulkan: Avoid driver call when yflip changed but shader not using it
2020-11-24 syoussefi@chromium.org Limit testing of in-progress work to ANGLE's build of dEQP
2020-11-24 jmadill@chromium.org Revert "Vulkan: Fix incorrect exposure of sRGB extensions"
2020-11-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from 6ef69fbda85b to 0e8c2a5ca5f3 (6 revisions)
2020-11-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 6d612051c083 to 43bb60e1fa11 (6 revisions)
2020-11-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 0ec6b066bfbc to 31f74e1a4605 (1 revision)
2020-11-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Loader from b54d55122868 to 02a49daeeece (1 revision)
2020-11-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from a41860e83258 to 013c962f863f (389 revisions)
2020-11-24 ynovikov@chromium.org Skip more tests on Linux AMD RX 5500 XT

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 michaelludwig@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/+doc/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
Tbr: michaelludwig@google.com
Change-Id: Ica90db16dfcf361f7c1120c24f3f149808538686
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338456
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-11-25 04:50:46 +00:00
skia-autoroll
7bce89d89d Roll Dawn from 03badec5d73a to 33f29ea9b251 (3 revisions)
https://dawn.googlesource.com/dawn.git/+log/03badec5d73a..33f29ea9b251

2020-11-25 enga@chromium.org Skip ShaderFloat16Tests on Intel D3D12
2020-11-24 senorblanco@chromium.org Add preliminary OpenGL ES and EGL support to Dawn.
2020-11-24 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 6cd6f7462c49 to 12ed862c7ef2 (11 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC enga@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: enga@google.com
Change-Id: I72439fcd6ee34f91b7c9106131dd866c8ce4cc2f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338457
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-11-25 04:35:27 +00:00
Julia Lavrova
36d06a806f Fixing background rectangle sizes for Flutter
Bug: skia:10982
Change-Id: Id5b352c1139293195ca421b069e8632079acf37b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337181
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Jason Simmons <jsimmons@google.com>
2020-11-24 23:03:46 +00:00
Brian Osman
8d09d4ace9 Run SPIR-V validation on SkSL unit test output
Fiddled with the logic a bit so that when we're in unit test mode, the
output still includes all of the SPIR-V (as well as the validation error
message), so that tracking them down is easier.

Bug: skia:10694
Change-Id: I15e7777af3d268a5952765dbe5d63612cad0ac07
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338320
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-11-24 22:07:56 +00:00
Chris Dalton
0363f057b1 Add experimental prints for conic max error to Wedge sample
Bug: skia:10419
Change-Id: I0fd1facc2369f01bd4815caae68c6a66b86b342f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338338
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-11-24 21:58:26 +00:00
Mike Reed
bbaad02ec2 Simplify bitmapprocstate to just store bool for bilerp
Change-Id: Iffd08ce728b8d17df5b6e41ea789b86ce0da859a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338321
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-11-24 21:51:16 +00:00
Greg Daniel
95ab83f6fe On QComm to vulkan partial clears as draws.
Perf graphs were showing a good amount of CPU time spent in
vkCmdClearAttachments. So we want to test if we get any wins by just
always doing draws instead.

Change-Id: If76a26cb0de411a2a1d1d17f17192b2d9fbdc459
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338319
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2020-11-24 21:33:16 +00:00
Brian Osman
9ba7a24bdd Reland "SkSL: Test/implement "geometric" intrinsics"
This is a reland of 0d5d956f7b

Original change's description:
> SkSL: Test/implement "geometric" intrinsics
>
> Bug: skia:10913
> Change-Id: Ie82354b05db141c8ab90b1a615ddfada4f71a98b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335049
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>

Bug: skia:10913
Change-Id: I103dd2efbbab0efeac2be786d7e8f913d5c4b22a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338158
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-11-24 21:29:56 +00:00
Julia Lavrova
748db70156 Make sure maxIntrinsicWidth is always no less than minIntrinsicWidth
Bug: skia:10992
Change-Id: Ifd3b8e799c76d09f6a01623747f646ce15de51b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338045
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2020-11-24 21:13:06 +00:00
Brian Osman
46787d5d7e SkSL: Add test for scalar versions of geometric intrinsics
Fix code generation for Metal and Vulkan with geometric
intrinsics that have scalar versions in GLSL/SkSL, but no
native support in MSL/SPIR-V.

Change-Id: Id4538a00172e0d233ad9d5ed8d33db6436b83208
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338276
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-11-24 20:38:20 +00:00
Michael Ludwig
8636e13c2d Revert "Move conservative bounds tracking from SkCanvas to SkNoPixelsDevice"
This reverts commit 11a394759a.

Reason for revert: assert during google3 tests.

Original change's description:
> Move conservative bounds tracking from SkCanvas to SkNoPixelsDevice
>
> Change-Id: I56670b4a4159e21eaa1a58a9a3ee439298d5aa8e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335863
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>

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

Change-Id: I7c3a8797460113d9a8ef18d82bbbd64aba2f439c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338316
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-11-24 20:13:57 +00:00
Greg Daniel
ee792d6c96 Fix hazard in vulkan from resetting fActiveCommandPools.
Bug: chromium:1148230
Change-Id: Idb081768f04f758f60364d37e04c34ad226b4a1d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338157
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-11-24 19:49:26 +00:00
Jorge Betancourt
4867834b85 move SkottieAnimation out of SkottieRunner to top level
This refactor adds a LOG_TAG and SkottieRunner member variable to SkottieAnimation so that it still has access to the EGL member variables.
The private keyword was removed from the SkottieRunner's EGL variables.

Methods in SkottieRunner that were made from private to protected:
getNativeProxy()
runOnGLThread()
Methods in SkottieAnimation that were made from private to protected:
SurfaceView constructor
setSurfaceTexture()

Change-Id: I9ddb167238fbc0e05f4d1cdcee67f6b288019e95
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335667
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
2020-11-24 19:37:46 +00:00
Chris Dalton
641ff3b7fc Hardcode offsets to zero in GrMockOpTarget
Change-Id: Ia091be9d84e6b338861997d3343f1112ca521c2b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338200
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-11-24 19:29:16 +00:00
John Stiles
bc75ebb1af Fix crash with boolean vectors in is_constant<T>.
Previously, we assumed that if a vector in `is_constant` was not made of
floats, it must be made of integers. This ignores that boolean vectors
also exist. The original code would abort when `getIVecComponent` was
called on a bool vector.

There is another bug here--arithmetic operators on bool types should be
disallowed entirely. That will be addressed in later CLs.

Change-Id: I78781d839abde9376917fd92f2fe6311a1a58b02
Bug: oss-fuzz:27808
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338055
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-11-24 18:21:46 +00:00
Chris Dalton
7512507050 Add "putBack" analogs to the DrawIndirect buffer pool
Bug: skia:10419
Change-Id: Id5f4fe79c661c3d402411dcb830ffd144d21254a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338008
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-11-24 17:38:41 +00:00
Chris Dalton
a6e0d83899 Remove a slop term from the stroke tessellation shader
This was meant as a workaround for cusps on a flat line, but this
problem has been solved more robustly now.

Bug: skia:10419
Change-Id: I88625b398b8d8517ded8985c164d0e00e0c0fb79
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337948
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-11-24 17:36:57 +00:00
Mike Reed
246fcc3895 rely on clients to guard old api
Change-Id: Iaac2e7da034b7fc20d23d44c814485a068f26f1c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337943
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-11-24 17:33:36 +00:00
Chris Dalton
cb76565241 Fix a bug with miters in the stroke tessellation shader
We weren't clamping cosTheta to -1..1 before using it to calculate the
miter extent.

Bug: skia:10419
Change-Id: I4ec742a8b4ed8b3c6917e1d8cd7a57a903bdc4d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338053
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-11-24 17:29:15 +00:00
dependabot[bot]
6c5e78d099 Bump bl from 4.0.2 to 4.0.3 in /tools/perf-canvaskit-puppeteer
This is a security fix.

This is an imported pull request from
https://github.com/google/skia/pull/65

GitOrigin-RevId: 38f6e1b1fd360a28135ce0579dbc5521edbcf1a3
Change-Id: I5f38b6f76fcd2943decd5dbe7df7546d4ce2084f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338052
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2020-11-24 17:10:56 +00:00
Nathaniel Nifong
a084ef4291 Add supporting function for finding image use in layers
Change-Id: I39d3a95a3854875d15992b73ee16521d3bf28c8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337596
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-11-24 17:04:56 +00:00
Michael Ludwig
11a394759a Move conservative bounds tracking from SkCanvas to SkNoPixelsDevice
Change-Id: I56670b4a4159e21eaa1a58a9a3ee439298d5aa8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335863
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2020-11-24 17:00:25 +00:00
Chris Dalton
98c3aea806 Add cusp detection to GrPathUtils::findCubicConvex180Chops
The stroker will need to know the cusps in order to draw circles around
them.

Bug: skia:10419
Change-Id: I05b7e9f4a5ed06bd36450e73edfaf36c4b3f5a6c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337945
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2020-11-24 16:57:27 +00:00
Greg Daniel
1cf4bc796c Remove unused parameter in vk bindDescriptorSets.
Change-Id: Ie377fcdca09023b71d1b8cce89db1d9f574df3be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338044
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2020-11-24 16:16:15 +00:00
Mike Klein
dbc19ea84e implement a whole slew of arm64 ops
This adds assembler support for a bunch of ARM instructions and uses
them to implement a bunch of SkVM ops.  No diffs.

movs() seems strictly more useful than fmovs(), so I've replaced it.

Change-Id: Ied38a44461653598269421b0b56bef4eb19bb1e9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335918
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-11-24 16:02:56 +00:00
John Stiles
4dfa977430 Add 'isBoolean' method to SkSL::Type.
We have built-in methods for determining whether a type is an int,
float, signed, unsigned, matrix, vector, etc. For some reason, however,
the lowly boolean never received similar treatment. Now, booleans are a
first-class citizen and can be identified by calling `isBoolean` instead
of doing a string compare or looking at the Context type pointers.

(I did do a quick search to make sure that kNonnumeric wasn't used
anywhere else to check for Boolean-ness.)

Change-Id: I35c0e3c7530c13e2c4e307a70272d298ce6b44bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338042
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-11-24 15:57:46 +00:00
John Stiles
feada47df6 Reland "Simplify _blend_set_color_saturation, removing an instruction."
This reverts commit e81fb87bb4.

Reason for revert: checking results with less-aggressive inliner

Original change's description:
> Revert "Simplify _blend_set_color_saturation, removing an instruction."
>
> This reverts commit ed289e777c.
>
> Reason for revert: causing strange artifacts, only on Adreno
>
> Original change's description:
> > Simplify _blend_set_color_saturation, removing an instruction.
> >
> > This tightens up our intrinsics slightly; after inlining, it eliminates
> > one scratch variable. (We no longer need to copy `sda` into `hueColor`
> > as hueColor is now unchanged.)
> >
> > Change-Id: Iece5ba2fe11cde54481704a1787114a2c2a66d9b
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/336599
> > Commit-Queue: John Stiles <johnstiles@google.com>
> > Commit-Queue: Brian Osman <brianosman@google.com>
> > Auto-Submit: John Stiles <johnstiles@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
>
> TBR=brianosman@google.com,johnstiles@google.com
>
> Change-Id: Ica506467b0a4e03d0cbe482034acfa2d9f8d2c16
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337560
> Reviewed-by: John Stiles <johnstiles@google.com>

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

Change-Id: Ia93263f3269c057e7eaa69ca2b05e783d18c0199
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337944
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-11-24 15:35:05 +00:00
Mike Reed
2aa3b8dee4 fix test to use new api
Change-Id: I58360468b4d913b7cd2c285193060a0224a90356
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338038
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-11-24 14:58:25 +00:00
Brian Osman
68ac3b9ec3 Revert "Move GL's SkSL::Compiler to the GPU (like all other backends)"
This reverts commit cddfce2c24.

Reason for revert: Failing Flutter unit tests with *certain* test orderings.

Original change's description:
> Move GL's SkSL::Compiler to the GPU (like all other backends)
>
> This was the only backend that didn't store the compiler on the GrGpu,
> and also the only one that did lazy-instantiation. Trying to standardize
> this code a bit.
>
> Change-Id: Ibdd1bcc2dc9c3756b46a4c6f0543b5bb20fe135d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337716
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

TBR=brianosman@google.com,michaelludwig@google.com,johnstiles@google.com

Change-Id: I043ad395472fe20addcc59784aefe9061dae02ba
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338039
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-11-24 14:19:37 +00:00
skia-autoroll
3df719619f Roll Dawn from 546a7c98c897 to 03badec5d73a (3 revisions)
https://dawn.googlesource.com/dawn.git/+log/546a7c98c897..03badec5d73a

2020-11-23 senorblanco@chromium.org Refactor OpenGLVersion out of OpenGLFunctions.
2020-11-23 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 4c13659a2a39 to 6cd6f7462c49 (1 revision)
2020-11-23 cwallez@chromium.org Metal: Prevent data race on mLastSubmittedCommands

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC enga@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: enga@google.com
Change-Id: I670eea593572b1e63f47a4044f91af2a8264bf31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/338017
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-11-24 04:54:23 +00:00
skia-autoroll
7078f08a6d Roll ANGLE from ebf890fcf9f3 to 1b413197a6d7 (13 revisions)
ebf890fcf9..1b413197a6

2020-11-24 jmadill@chromium.org generate_entry_points.py clean-ups.
2020-11-24 jmadill@chromium.org EGL: Add const to several methods.
2020-11-24 jmadill@chromium.org Use hard-coded year in generate_entry_points.
2020-11-24 jmadill@chromium.org EGL: Remove egl::Error from validation code.
2020-11-24 jmadill@chromium.org EGL: Expose device query as a client extension.
2020-11-23 cclao@google.com Vulkan: Re-enable the tests that was disabled due to specConst
2020-11-23 jmadill@chromium.org Vulkan: Enable floating point end2end tests.
2020-11-23 m.maiya@samsung.com Vulkan: Fix incorrect exposure of sRGB extensions
2020-11-23 jmadill@chromium.org Suppress WebGL Mac end2end failures.
2020-11-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from ec5cd38a0ca6 to 0ec6b066bfbc (2 revisions)
2020-11-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from de9e649438ed to 6d612051c083 (4 revisions)
2020-11-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from bfc1b42ff141 to a41860e83258 (83 revisions)
2020-11-23 ynovikov@chromium.org Skip tests failing on Linux AMD RX 5500 XT

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 adlai@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/+doc/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
Tbr: adlai@google.com
Change-Id: Ib7b78316402d0236d6ee906d6bf0c36154875141
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337950
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-11-24 04:53:44 +00:00
skia-autoroll
af88a65f4a Roll SwiftShader from 6d612051c083 to 43bb60e1fa11 (6 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/6d612051c083..43bb60e1fa11

2020-11-23 amaiorano@google.com Run ReactorUnitTests.LargeStack on non-Windows targets
2020-11-23 amaiorano@google.com Workaround for ReactorUnitTests.LargeStack taking too long on LLVM
2020-11-23 amaiorano@google.com CMake: set REACTOR_DEFAULT_OPT_LEVEL to "" by default
2020-11-23 amaiorano@google.com Add "fmod" external symbol to LLVM backend
2020-11-23 capn@google.com Limit the recursion depth of llvm::SelectionDAG::isSplatValue()
2020-11-23 srisser@google.com Add OpCopyLogical

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: adlai@google.com
Change-Id: Icb720972296534006d9717b5a62e5dcdaa6690b7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337949
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-11-24 04:41:54 +00:00
Chris Dalton
4c1fb1c27a Return the contour's final point from SkPath::RangeIter in kClose
This point is located at fPoints[-1]. We might as well provide it
since it's free, and the stroke iterators for indirect tessellation
will be able to use it.

Bug: skia:10419
Change-Id: If0161a18a9a5a0f3b118a99d7c090d79d424f9db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337637
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-11-24 03:24:43 +00:00
Mike Reed
65fb101861 Reland "Always tweak matrix for consistent opt"
This reverts commit 0a07e9bd86.

Reason for revert: didnt' seem to help g3

Original change's description:
> Revert "Always tweak matrix for consistent opt"
>
> This reverts commit 26e1073885.
>
> Reason for revert: breaking google3?
>
> Original change's description:
> > Always tweak matrix for consistent opt
> >
> > Change-Id: Id16d4c4831724571dc0b1bd5d99e8a93b2a88ea9
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337724
> > Reviewed-by: Mike Klein <mtklein@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
>
> TBR=mtklein@google.com,reed@google.com
>
> Change-Id: I6200dc3478863e50d4995da952e5c35686efc42a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337939
> Reviewed-by: Mike Reed <reed@google.com>

TBR=mtklein@google.com,reed@google.com

# Not skipping CQ checks because this is a reland.

Change-Id: I52e97d0f5b6f5fa2c264541e9014de692fe436db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337941
Reviewed-by: Mike Reed <reed@google.com>
2020-11-24 01:58:14 +00:00
Mike Reed
0a07e9bd86 Revert "Always tweak matrix for consistent opt"
This reverts commit 26e1073885.

Reason for revert: breaking google3?

Original change's description:
> Always tweak matrix for consistent opt
>
> Change-Id: Id16d4c4831724571dc0b1bd5d99e8a93b2a88ea9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337724
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=mtklein@google.com,reed@google.com

Change-Id: I6200dc3478863e50d4995da952e5c35686efc42a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337939
Reviewed-by: Mike Reed <reed@google.com>
2020-11-24 01:23:51 +00:00
Mike Reed
ce0c876ce2 hide legacy scalePixels and makeShader
Change-Id: Idae1e44aa0417adb943fd20112fb4f1fa81167f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337719
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-11-24 00:41:33 +00:00
Mike Reed
26e1073885 Always tweak matrix for consistent opt
Change-Id: Id16d4c4831724571dc0b1bd5d99e8a93b2a88ea9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337724
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-11-24 00:15:23 +00:00
Chris Dalton
d461f6eb22 Add support for strided loads to GrVx
Bug: skia:10419
Change-Id: I050d8ed49e3a2a6d12b889961e8886f671e2d170
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337561
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2020-11-23 22:50:33 +00:00
Mike Klein
cd74dea856 macro hygiene in SkVx.h
These macros are not meant to leak out of the file.

Change-Id: I7e24f65a3053785410c7fac760fd3af46c5c1f1c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337739
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2020-11-23 22:49:33 +00:00
John Stiles
9b9415e0f1 Avoid inlining functions that are called repeatedly.
Previously, we'd gauge suitability for inlining by counting the nodes in
a function; past a certain limit, the function was considered "too big."

Now, we also incorporate the number of times that function is called.
So if a function is called three times, and its size is 20 nodes, it
would be considered to have an inlining cost of 60 (3 * 20) instead of
20.

This should tamp down the aggressive nature of the inliner in cases like
gaussian convolution or complicated blends, and will hopefully satisfy
Pinpoint.

No change visible in Nanobench (which doesn't test any of these sorts of
patterns, but certainly inlines things): http://screen/AwD5hkgkEfjVx4g

Change-Id: Ie5e32898245ac854adb9ddd52d87001df6a67125
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337676
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2020-11-23 21:51:43 +00:00
John Stiles
f5c1d04ab2 Flatten out constructors nested inside constructors.
- float4(float2(1, 2), 3, 4)   -->  float4(1, 2, 3, 4)
- half3(z, half2(fn(x), y*2))  -->  half3(z, fn(x), y*2)

Single-argument constructors will be ignored by this optimization; these
might be casts or splats.

This had an unexpected side benefit of simplifying some Metal output,
as we need to output fewer Metal matrix construction helper functions
when matrices use more simple scalars for construction.

Change-Id: I0a161db060c107e35247901619291bf83801cb11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337400
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-11-23 21:29:53 +00:00
John Stiles
92072a398d Fix SPIR-V golden output file extensions.
Previously, every output was labeled ".asm.frag" regardless of the
actual type.

Change-Id: Icf3a56bb04d88cc0443f12c2dfb99c66ee00dff0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337717
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-11-23 21:15:13 +00:00
Brian Osman
cddfce2c24 Move GL's SkSL::Compiler to the GPU (like all other backends)
This was the only backend that didn't store the compiler on the GrGpu,
and also the only one that did lazy-instantiation. Trying to standardize
this code a bit.

Change-Id: Ibdd1bcc2dc9c3756b46a4c6f0543b5bb20fe135d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337716
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-11-23 20:56:13 +00:00
Mike Reed
3d58d5aa66 Incremental removal of internal dependence on SkFilterQuality
Next CL: BitmapController to use sampling instead of quality

Bug: skia:7650
Change-Id: Ibd049cafdb967a039fee2ec3591d940931ccb059
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337406
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2020-11-23 20:48:56 +00:00
John Stiles
931da26522 Add unit test demonstrating output from Gaussian blur.
Change-Id: I1be21b428939d17bbf3a9347a64db56c7cd69eb4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/337638
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2020-11-23 20:46:54 +00:00