skia2/tests/sksl
John Stiles 0023c0c827 Detect unsupported types for MemoryLayout and report errors.
Previously, MemoryLayout would ABORT if it encountered any types that
we can't layout in memory (e.g. opaque types like samplers). Instead of
an abort, this case is now detected cleanly and an error is reported
identifying the offending type.

This should unwedge the fuzzer, which appears to be very
enthusiatically generating interface blocks with nonsense types inside.

(Note that code generators which don't actually try to compute a memory
layout--that is, GLSL--will still accept these types. This should still
be caught and reported as an error, since it's still illegal in GLSL,
but that's for a future CL.)

Change-Id: I88a9649bcd8c75dadc8cca679f3c5e94570742bc
Bug: skia:10956, oss-fuzz:27525
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/335196
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-16 19:14:48 +00:00
..
blend Directly compute call counts, rather than mutating state 2020-10-19 16:08:39 +00:00
errors Disallow usage of private types ($vec, etc) in non-builtin code. 2020-11-13 21:55:50 +00:00
fp Fix bad FP codegen when sample() calls are inlined. 2020-11-03 19:54:45 +00:00
glsl Add golden outputs for the Metal backend. 2020-09-25 17:46:43 +00:00
inliner Stop the inliner after it has inlined 2500 statements in a program. 2020-11-13 23:02:11 +00:00
metal Detect unsupported types for MemoryLayout and report errors. 2020-11-16 19:14:48 +00:00
shared Convert remaining Metal tests to golden outputs. 2020-11-16 16:32:56 +00:00
workarounds Directly compute call counts, rather than mutating state 2020-10-19 16:08:39 +00:00