skia2/tests/sksl
John Stiles b4b627e62a Disallow usage of private types ($vec, etc) in non-builtin code.
This fixes a fuzzer crash in Metal.

Private types aren't meant to be used directly; we can't generate a
valid MemoryLayout for them. We will now detect them during IR
generation and report an error. (Note that unreferenced structs
currently don't have any IR representation at all, so structs have to be
used somewhere in the code to trigger the error.)

Bug: oss-fuzz:27288
Change-Id: I432f0a69fbb54cd33ff5b90a9f3d4757a9370117
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334830
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2020-11-13 21:55:50 +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 Directly compute call counts, rather than mutating state 2020-10-19 16:08:39 +00:00
shared Fix flipped array dimensions in SkSL. 2020-11-10 18:08:29 +00:00
workarounds Directly compute call counts, rather than mutating state 2020-10-19 16:08:39 +00:00