skia2/resources/sksl
John Stiles 28181e70ce Optimize away intrinsics any() and all() when their inputs are known.
If every argument passed to any() or all() is a compile-time constant,
we now detect this and optimize away the function call entirely.

Future CLs will perform a similar optimization on other intrinsic calls
which can be detected and eliminated at compile time, like lessThan().

Change-Id: Ie55aff538b1ccaf2b3bcf9a69573a85f081b7ade
Bug: skia:10835
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/404417
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-06 12:43:57 +00:00
..
blend Change sksl tests to avoid SPIR-V validation errors 2021-03-16 13:39:53 +00:00
dslfp Honor static statements in DSL C++ codegen. 2021-04-30 18:40:08 +00:00
errors Simplify for init-stmts at the IR level. 2021-04-20 14:38:36 +00:00
folding Optimize away intrinsics any() and all() when their inputs are known. 2021-05-06 12:43:57 +00:00
fp Remove sample-with-matrix from SkSL 2021-04-28 15:44:35 +00:00
glsl Remove specific blend mode layout qualifiers 2021-02-23 15:45:55 +00:00
inliner Loosen ES3 restrictions in Runtime Effects for debugging. 2021-04-28 19:59:36 +00:00
intrinsics Reland "Add coords parameter to all .sksl test files used as runtime effects" 2021-04-27 20:47:31 +00:00
metal Allow repeated params in Metal out-params helper. 2021-02-16 15:45:45 +00:00
runtime Optimize compound constructors containing constant vars. 2021-05-05 16:42:56 +00:00
runtime_errors Remove flexible runtime effects entirely 2021-04-29 16:02:27 +00:00
shared Reland "Implement operator== and != for Metal structs and arrays." 2021-04-29 22:55:58 +00:00
spirv Revert "Fixed a number of spots where we should have been using RelaxedPrecision" 2021-03-12 18:48:57 +00:00
workarounds Add caps bit for RewriteMatrixVectorMultiply. 2021-03-23 22:40:02 +00:00
README.txt Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00

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