skia2/tests/sksl
John Stiles cb40008b43 Implement switch in SkVM.
SkVM implements switches as a pseudo-loop; breaks are handled with the
condition mask just like a for loop. Fallthrough is handled via a
scratch Value in a temporary slot. `writeStore` neeeded to be refactored
to support writing into slot(s) without an associated Variable.

At IR generation time, SwitchStatements are now emitted without error
even in strict-ES2 mode. The GLSL code generator currently reports these
as an error in strict-ES2 mode, but this will be fixed in a followup
coming shortly (the switch will be rewritten as ifs inside a one-shot
loop, similar to our IR-rewrite strategy).

Change-Id: I5507257246c42a35d2f46b4b9a89492a5ffeff9b
Bug: skia:12450
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/451421
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-09-23 19:58:55 +00:00
..
blend Revert "Add RelaxedPrecision decoration to function-call temp vars." 2021-09-08 17:06:07 +00:00
errors Disallow continue inside a switch. 2021-09-21 19:26:40 +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 Disallow matrix ctors which overflow a column. 2021-09-16 22:14:49 +00:00
metal Reenable DSLParser 2021-09-16 15:28:19 +00:00
runtime Implement switch in SkVM. 2021-09-23 19:58:55 +00:00
runtime_errors Implement switch in SkVM. 2021-09-23 19:58:55 +00:00
shared Fix SwitchWithFallthrough test on iOS. 2021-09-21 20:15:32 +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.