Commit Graph

131 Commits

Author SHA1 Message Date
Jim Van Verth
f17e4008a8 Ignore more pixel mismatches in mtltestprecompile.
Change-Id: I31322f1e04430379d88ca1ed45e52a37b667fee3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447437
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-09 22:13:14 +00:00
Robert Phillips
171ff2fdd5 Patch TextureBindingsResetTest to match CommandBuffer expectations
Bug: skia:10412
Bug: skia:12437
Change-Id: I93077bbd2ed40252966305df1b93ceb813218828
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446181
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-09 18:54:03 +00:00
John Stiles
8e5fca1e36 Disable SkSL LoopFloat test on Mac Intel GPUs.
Change-Id: I291dedc14041647c32fcc95f0b96cdd91cafc3d8
Bug: skia:12426
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/445969
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>
2021-09-07 15:02:10 +00:00
Greg Daniel
16749b4461 Disable TSAN bot from running vkdmsaa.
There looks to be a leak in the Nvidia driver for the P400 bots on linux.
This leak eventually causes the TSAN bot to go OOM and crash. It is not
clear yet if the leak is triggerred by using dmsaa or dmsaa just adds
enough new work to push us over memory limits. For now we just disable
the TSAN bot from using dmsaa as we investigate.

Bug: skia:11809
Change-Id: I1e5b5cbae98fdcd7a37d54c4e18814cda7e5dd93
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443516
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-08-30 16:00:12 +00:00
Greg Daniel
3be00e96e5 Enable support for vulkan dmsaa in caps.
Bug: skia:11809
Change-Id: Idef350926e3a8245ab626afeb0c69c7c748d55f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/442280
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2021-08-29 18:56:14 +00:00
John Stiles
6483d76f13 Narrow down some Adreno opt-outs to GLSL only.
Several failing Adreno tests pass in Vulkan but fail in GLSL.
(Unfortunately, some tests do fail across the board.) We can increase
our scope of testing by limiting our test disables to only the backends
where failures actually occur.

Change-Id: I9374cb98a7062db58a5470d0ed2bd02105f02f04
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/441888
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>
2021-08-26 18:39:19 +00:00
John Stiles
dec5ff2286 Reland "Add ES3 intrinsics isinf/isnan to public SkSL ES3."
This reverts commit 9155b338bb.

Reason for revert: disable test for GLSL + Adreno 6xx

Original change's description:
> Revert "Add ES3 intrinsics isinf/isnan to public SkSL ES3."
>
> This reverts commit e43714f490.
>
> Reason for revert: Several Pixel (Adreno) devices failing the test
>
> Original change's description:
> > Add ES3 intrinsics isinf/isnan to public SkSL ES3.
> >
> > The ES3 spec doesn't mandate that `isnan` actually has to do anything,
> > so the Isnan test is not enabled. (It doesn't work on my personal
> > machine unless I make the NaN detectable at compile-time.)
> >
> > We do not support these functions in constant-expressions, as we
> > currently avoid optimizing anything into a non-finite value; we leave
> > expressions alone if we calculate a NaN/inf result for their value.
> >
> > Change-Id: Ibfdfb47b6e6134165c8780db570de04a916d2bfa
> > Bug: skia:12022
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/441581
> > Auto-Submit: John Stiles <johnstiles@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: John Stiles <johnstiles@google.com>
>
> TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com
>
> Change-Id: I89899ed391aa870350d0452bab4a0fb75bd7be38
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:12022
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/441716
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

Bug: skia:12022, skia:12377
Change-Id: Ib149dbc1138feb3ee2bf6f7e31e9e8a9414560bc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/441884
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-08-25 19:01:22 +00:00
Brian Salomon
ad326ae032 Ignore motion mark svg slight pixel mismatches in mtltestprecompile
Change-Id: Ia5a11580a793226253e2e294f6c43aa76fa97e8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/441882
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-08-25 18:36:22 +00:00
Jim Van Verth
87b5ae6ba2 Disable a few more mtltestprecompile images to avoid flaking.
Change-Id: Icf60ae8fe7042ead63e70947f4a12f50d65bf43a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439337
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-08-13 21:49:48 +00:00
John Stiles
4e2494870d Allow derivatives in Runtime Effects when ES3 restrictions are off.
We can now add functions to sksl_public.sksl with an $es3 prefix. These
will be allowed in a Runtime Effect when strict-ES2 mode is disabled.
Note that the CPU backend still doesn't have support for these calls,
and will fail ungracefully (assertion, nonsense result) if these
intrinsics are used.

The testing here is limited, due to an unrelated bug in SPIR-V
(skia:12340)

Change-Id: I9c911bc2b77f5051e80844607e7fd08ad386ee56
Bug: skia:12202, skia:12340
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/439058
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-08-13 16:45:17 +00:00
Brian Osman
ec07af1279 Switch bots to use new style color-space configs in DM
Change-Id: I5698ccf6cc923f92fe2e4bc52fb74fe10b881612
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/438757
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-08-12 13:27:39 +00:00
John Stiles
4da47e381a Disable SkSL array-cast test on Adreno.
This is testing the same basic functionality as ArrayComparison, and
triggers the same Adreno bug.

Change-Id: Iad8c1d5e467529242101d4425417f8eb6779527a
Bug: skia:12332
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/438477
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-08-11 13:35:59 +00:00
John Stiles
33221e17f9 Disable SkSL array-comparison test on Adreno.
Another case where rarely-used features simply don't work on Adreno.

Change-Id: I0921d366d4a8ec3b34ea4117f97e786df99c76c9
Bug: skia:12332
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/438277
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-08-10 19:51:54 +00:00
Corentin Wallez
ff9ee67872 Roll dawn, tint, spirv-headers and spirv-tools
Also does some evolutions of Dawn's API and suppresses
runtime_intrinsics_matrix when using Dawn because Tint doesn't implement
a SPIR-V -> WGSL MatrixInverse polyfill yet.

Roll third_party/externals/dawn/ 170ea75f2..d59ba7c18 (121 commits; 1 trivial rolls)
https://dawn.googlesource.com/dawn.git/+log/170ea75f2ad2..d59ba7c18b29

Roll third_party/externals/spirv-headers/ bcf55210f..cf653e4ca (25 commits)
bcf55210f1..cf653e4ca4

Roll third_party/externals/spirv-tools/ dc72924cb..11cd875ed (89 commits)
dc72924cb3..11cd875ed8

Roll third_party/externals/tint/ ea1a4680d..cc6d5b464 (185 commits)
https://dawn.googlesource.com/tint/+log/ea1a4680d490..cc6d5b464dcb

Created with:
  roll-dep third_party/externals/dawn third_party/externals/spirv-headers third_party/externals/spirv-tools third_party/externals/tint

Bug: tint:1045
Change-Id: I40b18282538910cf9528096d2c6114465fbe5266
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431958
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Stephen White <senorblanco@google.com>
2021-07-29 13:02:43 +00:00
Chris Dalton
c3176002bc Lift the tessellation atlas into its own path renderer
Creates a new path renderer, GrAtlasPathRenderer, that handles all the
atlasing. Managing the atlas in its own path renderer gives us more
control over when atlasing happens in the chain, will allow us to more
easily use the atlas in kCoverage mode, and makes the clipping code
cleaner.

Bug: skia:12258
Change-Id: Ie0b669974936c23895c8ab794e2d97206ed140f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431896
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-07-23 23:02:58 +00:00
Brian Osman
64565aed51 Skip more flaky tests in the mtltestprecompile config
Change-Id: I24f6e6570339cb071cb1a4faf916bd549835ec8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/431936
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-07-23 18:21:15 +00:00
Chris Dalton
fe49b2c6f4 Run dmsaa on ANGLE es2 bots
Bug: chromium:1220246
Change-Id: I0e9db2e403455ccc5d75acc714aa8201db285afc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/429678
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-07-19 16:05:39 +00:00
Chris Dalton
7c79a871c0 Run dmsaa on ANGLE es3 bots
Bug: skia:11396
Change-Id: I4d8253e61e6458b21b4e851e0b77d220394ea65d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/429040
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-07-17 04:18:32 +00:00
Chris Dalton
24f6879422 Run dmsaa on all supported Mac and SwiftShader bots
Bug: skia:11396
Change-Id: I02b733d348c0e1fafb3d05eb14d06d15faf86b07
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/429057
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-07-15 22:11:45 +00:00
Tyler Denniston
f8b7c1ac5f Pass CTM to path effects (experimental)
Add an overload to SkPathEffect that can be used when the CTM is known
at the callsite. GPU callsites are not handled here, that will be
tackled in a separate CL.

Path effects must implement the filterPath virtual that accepts the CTM,
although they are not obligated to use it. If a path effect does
use the CTM, the output geometry must be in the original coordinate
space, not device space.

Bug: skia:11957
Change-Id: I01615985599fe2736de954bb10dac881b0554ae7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420239
Commit-Queue: Tyler Denniston <tdenniston@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-07-13 18:42:55 +00:00
John Stiles
ba1b2e1798 Disable SkSLMatrixToVectorCast test on Adreno 4/5/6xx.
The `ivec4(mat2)` case appears to throw Adreno 600 for a loop.

Change-Id: If703e6ae28a2214a00e54f5816563729b6f94d8d
Bug: skia:12192
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426957
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-07-12 15:52:51 +00:00
John Stiles
ac69e12664 Disable SkSLMatrixToVectorCast test on Adreno 330.
I say vector-matrix conversions were a bad idea all along, and the
Adreno 330 agrees with me.

Change-Id: I5355940b38d19141ee756141882d1e45160bce75
Bug: skia:12192
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426936
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-07-12 14:07:49 +00:00
John Stiles
5a825da698 Reland "Add tests for matrix-vector conversions."
This reverts commit f009db5b85.

Reason for revert: test disabled on Win10 + Intel 4400/6100

Original change's description:
> Revert "Add tests for matrix-vector conversions."
>
> This reverts commit a89781215a.
>
> Reason for revert: breakage on Windows
>
> Original change's description:
> > Add tests for matrix-vector conversions.
> >
> > GLSL supports casting vec4 into mat2 and vice versa, so SkSL should have
> > equivalent support. Adding tests as a starting point.
> >
> > Change-Id: If8bcbf99afcec94d948d5da9e6205cb4a232af18
> > Bug: skia:12067
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425837
> > Auto-Submit: John Stiles <johnstiles@google.com>
> > Commit-Queue: Brian Osman <brianosman@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
>
> TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com
>
> Change-Id: I2563041f538b1b20074385f1b61af5fc506ffad5
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:12067
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426057
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

Bug: skia:12067
Change-Id: I1379914ee39ce340f09b11b3754820db9c645378
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426058
Reviewed-by: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-07-08 23:28:22 +00:00
Chris Dalton
7a0541e03d Run cmdbuffer_es2_dmsaa on the bots
Bug: skia:11396
Change-Id: I793cbce7efab5330a8c4eb41ce2cf425b29aeb15
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/425616
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-07-08 17:31:47 +00:00
Joe Gregorio
3c227305ac Add Spin513 bots to the tree.
Bug: skia:11876
Change-Id: I78b705f781e43216716aabf975a41d7350c795db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420123
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2021-07-01 21:30:19 +00:00
Chris Dalton
c04503d1b2 Run gldmsaa on the AppleM1 bot
Bug: skia:11396
Change-Id: I2a4e6f6508ccbb7a7365bb567d77cc4a95c0bc4d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415117
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-29 16:37:46 +00:00
Chris Dalton
141cfdfe98 Remove the "DMSAA" bots
DMSAA is complete enough now that we can just add gldmsaa configs to the
normal test bots.

Bug: skia:11396
Change-Id: I4f65777388e2e4ddbe10271dd419a71e8fa7820b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421376
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-06-28 23:22:01 +00:00
Chris Dalton
e0f4de6f23 Add a cmdbuffer_es3 config
Adds the ability to create an es3 command buffer context, but does not
yet begin testing it because libcommand_buffer_gles2.dylib needs to be
updated first to respect the EGL_CONTEXT_CLIENT_VERSION attrib. Adds a
version check on the context as well to verify we actually get an es3
context when we ask for one.

Bug: chromium:1220246
Change-Id: I996f482d8ad831b81f873e1bfd2f0526e5f1e73e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419616
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-06-28 18:30:56 +00:00
Chris Dalton
c5a65cb22d Don't enable --hwtess on DMSAA bots
The GpuTess bot is enough to keep this codepath tested.

Bug: skia:10419
Change-Id: I596e141ea3af26375443f0717d6b9413beb5959b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/421216
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-24 15:41:29 +00:00
Chris Dalton
e4c64f2282 Don't disable correctness workarounds for SwiftShader
SwiftShader also has bugs that we need to work around.

Bug: b/188239650
Bug: skia:11965
Change-Id: I1a933e5f7e5167e3d466a455b0375758255799d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419138
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-06-17 16:51:13 +00:00
Chris Dalton
ad5b44720f Improve hw tessellation coverage on "GpuTess" dm bots
Enable hardware tessellation as much as possible with --alwaysHwTess.
Use --maxTessellationSegments 16 to verify the chopping logic.

Bug: skia:10419
Change-Id: I1a37a6a8700ad16197251a753d40b0d3aaeecb8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412296
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-25 21:13:06 +00:00
John Stiles
b639792f71 Re-enable all matrix-related tests on Adreno.
Our matrix-comparison workaround should allow these tests to pass now.

Change-Id: I6e78be361f06ec5741c5d38444ace6f82fc497e2
Bug: skia:11308
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411303
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-05-24 17:18:04 +00:00
John Stiles
f061c59792 Rewrite matrix comparisons to work around Adreno bug.
Change-Id: I2f245892e12416decd4f0aee491f16fb4040ffca
Bug: skia:11308
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411036
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-05-24 13:42:19 +00:00
John Stiles
25be58e24b Reland "Eliminate unreachable code during optimization."
This is a reland of c6260f9742

Problematic DeadReturn.sksl test cases have been moved to DeadReturnES3.

Original change's description:
> Eliminate unreachable code during optimization.
>
> The Adreno 5xx and 6xx previously failed the SkSLStaticSwitchInline
> test; the driver struggled to interpret code with multiple return
> statements in a row. We now detect unreachable statements and eliminate
> them.
>
> Change-Id: I344d632f2488ca65b0635b37bebffe6e4fb607c5
> Bug: skia:12012
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410256
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Bug: skia:12012
Change-Id: I748e8761cbc71c811b5ad8fe49186f980261d8b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410793
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>
2021-05-20 20:02:15 +00:00
Brian Salomon
e72fd09ce1 Revert "Eliminate unreachable code during optimization."
This reverts commit c6260f9742.

Reason for revert: Nexus 7 is grumpy, fails SkSLDeadReturn_GPU
https://ci.chromium.org/raw/build/logs.chromium.org/skia/539fff50ff093c11/+/annotations


Original change's description:
> Eliminate unreachable code during optimization.
>
> The Adreno 5xx and 6xx previously failed the SkSLStaticSwitchInline
> test; the driver struggled to interpret code with multiple return
> statements in a row. We now detect unreachable statements and eliminate
> them.
>
> Change-Id: I344d632f2488ca65b0635b37bebffe6e4fb607c5
> Bug: skia:12012
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410256
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

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

Change-Id: Ia3db1f1b28417e479e2d71a4a6ed94a007e47cf9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:12012
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410780
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-05-20 13:00:36 +00:00
John Stiles
c6260f9742 Eliminate unreachable code during optimization.
The Adreno 5xx and 6xx previously failed the SkSLStaticSwitchInline
test; the driver struggled to interpret code with multiple return
statements in a row. We now detect unreachable statements and eliminate
them.

Change-Id: I344d632f2488ca65b0635b37bebffe6e4fb607c5
Bug: skia:12012
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410256
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-19 23:03:23 +00:00
Jim Van Verth
42bee2d3d2 Enable all Direct3D tests
Bug: skia:9935
Change-Id: I6b2adb8b5055a98af0b4063e563d1cfac81fa4a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410319
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-05-19 16:08:59 +00:00
Brian Salomon
a65c295c1c Exclude a few more tests from mtltestprecompile
These produce slightly different results run to run

Bug: skia:11392
Change-Id: I64adf62132f7432114dcebfad604becf95553be0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410136
Auto-Submit: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-05-19 13:28:35 +00:00
John Stiles
2fed9f62d2 Disable SkSLStaticSwitchInline_GPU on Adreno.
This appears to be a driver bug with improperly handling dead code.

Change-Id: I4925c1d2b8ed008ba3da6ceda0eed61d08b671ca
Bug: skia:12012
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/409497
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-05-17 22:30:40 +00:00
John Stiles
191b4e2a00 Enable proper testing of matrix-scalar ops.
Now that the various Metal and SPIR-V bugs have been shaken out, we can
enable these tests. Knock on wood.

Change-Id: If4b4e302cfdd91464aaf00bc9639989de5e49aac
Bug: skia:11985
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/408640
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-05-17 17:36:22 +00:00
John Stiles
ab3e6394a0 Re-enable the nonsquare matrix test.
The mat4x2 portion of the test no longer checks its results, as there
are bugs in the Intel and Radeon GPU drivers that prevent mat4x2s
from being constructed properly.

The SkSL optimizer ends up eliminating the 4x2 matrix entirely because
it is unused by the rest of the code, as well at the 4x4 matrix which is
calculated from the 4x2. At this point, I'm OK with this.

Change-Id: If1464f9e4938b0a37b2ec180c686972389d94e83
Bug: skia:12003
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/408900
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-05-17 13:27:48 +00:00
John Stiles
259553c942 Perform basic pass-fail checks in MatricesNonsquare.
Previously, it was structured like Matrices.sksl and had no verification
of its results. Now it double-checks that its outputs match our
expectations. The test is still quite simple for now, however.

Change-Id: Iaa45fe58beb497a63801833f8ba5a493a61139d9
Bug: skia:11985, skia:12003
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/408646
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-14 19:39:43 +00:00
John Stiles
465da15b16 Reland "The Matrices test now verifies its results."
This reverts commit 90508f02dc.

Reason for revert: avoiding driver bugs this time

Original change's description:
> Revert "The Matrices test now verifies its results."
>
> This reverts commit 86121f6c0e.
>
> Reason for revert: tree sad
>
> Original change's description:
> > The Matrices test now verifies its results.
> >
> > Previously, this test did a bunch of matrix math but never actually
> > checked its results for correctness.
> >
> > Change-Id: I353be58049286266c2d561b0939b3874d2684403
> > Bug: skia:11985
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/407360
> > 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,ethannicholas@google.com,johnstiles@google.com
>
> Change-Id: I1335f01c14ee955426e02efaa3c30421cd41aa34
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:11985
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/407617
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>

Bug: skia:11985
Change-Id: I214375d74977f324973da72c440d7ff5ff179016
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/408157
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-05-13 17:25:53 +00:00
Chris Dalton
9ad1e6d80a Disable MSAA on Pixel5
This fixes a driver crash.

Bug: skia:11152
Change-Id: I0e59a7ae521511d15933e2182ecd1d0acbe33bde
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/403916
Auto-Submit: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-05 20:34:16 +00:00
John Stiles
e4c4322da6 Disable StructsInFunctions test on Adreno.
This test still fails on Adreno 330, even after tweaking it.

Change-Id: I0ba66420c07931d7b3acb5dac5d2760a7369a62d
Bug: skia:11929
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/402780
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-04-30 13:02:00 +00:00
John Stiles
3934647d22 Reland "Implement operator== and != for Metal structs and arrays."
This is a reland of 830c69ca66

Original change's description:
> Implement operator== and != for Metal structs and arrays.
>
> GLSL/SkSL assumes that == and != on struct/array types should work.
> We need to emit equality and inequality operators whenever we find code
> that compares a struct or array.
>
> Structs and arrays can be arbitrarily nested, and either type can
> contain a matrix. All of these things need custom equality operators in
> Metal. Therefore, we need to recursively generate comparison operators
> when any of these types are encountered.
>
> For arrays we get lucky, and we can cover all possible array types and
> sizes with a single templated operator== method. Structs and matrices
> have no such luck, and are generated separately on a per-type basis.
>
> For each of these types, operator== is implemented as an equality check
> on each field, and operator!= is implemented in terms of operator==.
> Equality and inequality are always emitted together. (Previously, matrix
> equality and inequality were emitted and implemented independently, but
> this is no longer the case.)
>
> Change-Id: I69ee01c0a390d7db6bcb2253ed6336ab20cc4d1d
> Bug: skia:11908, skia:11924
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/402016
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

Bug: skia:11908, skia:11924, skia:11929
Change-Id: I6336b6125e9774c1ca73e3d497e3466f11f6f25f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/402559
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-04-29 22:55:58 +00:00
Chris Dalton
d7872aca1d Don't test hw tessellation on dmsaa android
It looks like there are gold issues with hw tessellation on android.

TBR=bsalomon@google.com

Change-Id: I625d244f9d90f7ee6589aa610f7d45117cbaeed9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400528
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-04-24 04:30:34 +00:00
Joe Gregorio
796501e451 Remove pixelbook devices.
Our only Debian9 builder left after this is for flutter.

Bug: skia:11876
Change-Id: I34cef8f31dac83347f2af1955dfde5346decc7a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399472
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2021-04-23 17:09:53 +00:00
John Stiles
4680db675f Disable switch test on Adreno to work around GLSL driver bugs.
The Adreno driver seems to have a bug involving switch statements that
use fallthrough and/or have early returns.

Change-Id: I4a0e36dda5d30621e4c7119cdf9de0f478bc9d8d
Bug: skia:11891
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400396
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-04-23 15:01:03 +00:00
John Stiles
956802335d Reland "Reland "Implement statements and expressions in DSL C++ code generator.""
This is a reland of c412688798

This CL lands the code changes but not the dm test, which is causing
link errors. Tests will be relanded as a separate CL, at
http://review.skia.org/400097

Original change's description:
> Reland "Implement statements and expressions in DSL C++ code generator."
>
> This is a reland of 16cbfb41df
>
> Tests now rely on `shaderDerivativeSupport` and `integerSupport` as
> proxies to indicate ES3 support. The SwitchStatement test has been
> adjusted to hopefully confuse fewer compilers.
>
> Original change's description:
> > Implement statements and expressions in DSL C++ code generator.
> >
> > This CL removes the bulk of the existing C++ code generator, especially
> > all the complex format-string assembly code. It has been replaced with
> > actual DSL code generation. Simple IR can now be successfully translated
> > to a working DSL fragment processor.
> >
> > This CL also adds a simple test harness which is patterned after the
> > existing SkSLTest; it renders a pixel, reads it back, and fails the test
> > if the result isn't solid green (RGBA=0101).
> >
> > This CL doesn't implement every feature. Some obvious gaps include:
> > - Sampling from children
> > - Uniforms/inputs of any kind
> > - Function calls of any kind
> >
> > Change-Id: Ib80c23fe1ba4453f7c3cb43b65f93c5ea0deb709
> > Bug: skia:11854
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/396757
> > Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: John Stiles <johnstiles@google.com>
>
> Bug: skia:11854, skia:11891
> Change-Id: I91363e31f34611d15ae350b52d6fc459feeace9c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399076
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>

Bug: skia:11854
Bug: skia:11891
Change-Id: Ib1f08256c84d1da2130e0b61356f72435dc0a5a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399740
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-04-22 20:01:33 +00:00