skia2/resources/sksl
John Stiles 6a10556775 Reject equality operators on opaque types.
ES2 disallows opaque types in expressions (other than passing them to
their associated builtin functions). We now enforce a similar
restriction on SkSL opaque types.

While I was there, I added several other cases to the invalid-shader
test to make sure that they were all caught.

I needed to reorder some code to make sure that ternary expression error
messages didn't change. Ternary expressions now check for opaque types
before checking that the left-side type and right-side type are
compatible. This is because we check for "compatible" ternary
expressions by checking if `leftSide == rightSide` would be accepted.
`shader1 == shader2` used to be considered a valid expression for the
purposes of this test, but not anymore.

Change-Id: I62a0a31feca9dadd428da7d1b48d7693c4b6434d
Bug: skia:13026
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/516802
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-03-07 15:19:46 +00:00
..
blend Remove SkBlendMode from SkSL 2021-06-16 21:01:30 +00:00
errors Add more fuzzer-discovered programs to error tests. 2022-02-11 14:42:43 +00:00
es2_conformance Mark symbols starting with gl_ as reserved words. 2021-11-01 22:43:44 +00:00
folding [sksl] Special-case unary negation on matrix types in MSL/SPIR-V 2022-03-01 20:14:46 +00:00
glsl Move backend-specific error tests out of errors/ test folder. 2022-02-08 14:18:46 +00:00
inliner In SkSL tests, don't force opaque output 2022-02-03 17:25:35 +00:00
intrinsics Add missing intrinsic tests for abs/max/min(genIType), clamp(genType) 2022-02-04 14:42:17 +00:00
metal Reland "Restrict where 'binding' and 'set' can appear" 2021-11-23 18:03:24 +00:00
runtime Reject operators =, ==, and != on void types. 2022-03-07 14:10:29 +00:00
runtime_errors Reject equality operators on opaque types. 2022-03-07 15:19:46 +00:00
shared [sksl] Special-case unary negation on matrix types in MSL/SPIR-V 2022-03-01 20:14:46 +00:00
spirv Move backend-specific error tests out of errors/ test folder. 2022-02-08 14:18:46 +00:00
workarounds Remove the "in blend modes randomly fail for all zero vec" workaround 2021-10-21 16:54:51 +00:00
README.txt
update_fuzzer.py Remove support for sksl_with_256_padding_seed_corpus. 2022-02-14 14:39:39 +00:00

This directory contains source files for testing skslc compilation.
The compiled output files are in the /tests/sksl/ directory.