skia2/resources/sksl
John Stiles 353e2c65c9 Prevent comma operator constant-folding or constant-expression-usage.
OpenGL docs specifically insist that the sequence (comma) operator
should not be treated as a constant-expression so that attempts to
declare multidimensional arrays with a comma will fail:
http://screen/vJEpAe9yNmbzZTm

(See "12.43 Sequence operator and constant expressions" in the OpenGL
ES3 documentation or read skia:13311 for details.)

In practice, we don't get much benefit from optimizing away unused
comma-expressions; it improves some synthetic tests, but realistically
this will not help Skia in any real-world scenario. The constant folder
no longer attempts this optimization, and comma-expressions are now
rejected in a constant-expression context.

Change-Id: Ic5dea6ff90e36614b548c1ce89a444e81da944ae
Bug: skia:13311
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/539565
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-05-11 22:52:24 +00:00
..
blend Remove SkBlendMode from SkSL 2021-06-16 21:01:30 +00:00
errors Prevent comma operator constant-folding or constant-expression-usage. 2022-05-11 22:52:24 +00:00
es2_conformance Mark symbols starting with gl_ as reserved words. 2021-11-01 22:43:44 +00:00
folding Optimize away same-value ternaries. 2022-04-07 19:37:00 +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 SkSL: Add unit tests for new ForceNoRTFlip code-gen option 2022-04-15 12:59:07 +00:00
metal Reland "Restrict where 'binding' and 'set' can appear" 2021-11-23 18:03:24 +00:00
runtime Move runtime effect uniform type checking into the compiler 2022-04-22 20:54:26 +00:00
runtime_errors Move recursion tests into general /errors/ directory. 2022-04-28 21:25:41 +00:00
shared Disable no-op arithmetic simplification when optimization is off. 2022-05-11 14:39:42 +00:00
spirv Use OpConstantComposite when vectorizing in SPIR-V. 2022-04-07 18:28:18 +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 Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
update_fuzzer.py Fix update-fuzzer script to allow non-UTF8 data. 2022-04-18 12:10:05 +00:00

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