skia2/tests/sksl
John Stiles 36f53ec7e1 Disallow constructors of ES3 types in ES2 code.
The fuzzer found that we constructed TypeReferences without first
checking for disallowed tyoes. (In fact, TypeReference creation had no
error checking at all; it didn't even have Convert/Make functions.)

Added proper Convert/Make to TypeReference, and used those calls to
report errors or cause assertions if trying to make a TypeReference to a
type that the program did not support.

(While tracking down this bug, I added strict-ES2 type assertions to our
constructor IR nodes as well. This helped pinpoint the error and seem
reasonable to leave in, just in case.)

Change-Id: I896b68ae9d3d9e1f30d7eba9fa594617ab851c74
Bug: oss-fuzz:39540
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/455498
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-10-04 15:02:24 +00:00
..
blend Revert "Add RelaxedPrecision decoration to function-call temp vars." 2021-09-08 17:06:07 +00:00
errors Fixed unsupported type errors in pure DSL 2021-10-04 14:32:19 +00:00
folding Remove 0/x arithmetic simplification. 2021-08-24 19:18:41 +00:00
glsl Report an error if sk_LastFragColor is referenced without fbFetchSupport 2021-09-15 15:41:49 +00:00
inliner Fix inliner bug discovered by fuzzer. 2021-09-07 13:29:37 +00:00
intrinsics Fix incorrect assertion discovered by fuzzer. 2021-10-04 13:41:56 +00:00
metal Reenable DSLParser 2021-09-16 15:28:19 +00:00
runtime Emit qualifiers in the GLSL ES-required order. 2021-10-01 19:09:43 +00:00
runtime_errors Disallow constructors of ES3 types in ES2 code. 2021-10-04 15:02:24 +00:00
shared Emit qualifiers in the GLSL ES-required order. 2021-10-01 19:09:43 +00:00
spirv Fix parsing error with SPIR-V negating a uint. 2021-08-25 17:52:50 +00:00
workarounds Reland "Don't key progams/pipelines on origin."" 2021-07-07 14:50:10 +00:00
README.txt Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00

This directory contains skslc-compiled output from matching source files
in the /resources/sksl/ directory.