skia2/tests/sksl
John Stiles 04ca41acf3 Fix switch optimization pass.
The optimizer now properly recognizes all types of exits from a switch
statement. Break, continue and return are all potential exits and need
to be considered when determining the exit path from the switch.

Previously, dead code elimination was hiding the effects of this bug
from us, but it meant that an optimized switch had the potential to
generate lots of worthless IR nodes which then needed to be detected and
eliminated by the CFG. In particular, this affected the enum form of
blend, causing a catastrophic amount of extra work to be done.

Change-Id: If857e38cadfc016884624ea4db25a273ad3dce5b
Bug: skia:11352
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372958
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-23 15:38:24 +00:00
..
blend Use guarded_divide in more blend functions 2021-02-10 21:59:26 +00:00
errors Fix switch optimization pass. 2021-02-23 15:38:24 +00:00
folding Fix alpha channel in SelfAssignment test. 2021-02-11 14:41:15 +00:00
fp Add bool2/bool3/bool4 to GrSLType. 2021-02-02 00:25:29 +00:00
glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
inliner Fix switch optimization pass. 2021-02-23 15:38:24 +00:00
intrinsics Migrate convertSwizzle to Swizzle::Make. 2021-02-19 21:26:58 +00:00
metal Allow repeated params in Metal out-params helper. 2021-02-16 15:45:45 +00:00
runtime Support global variables in pipeline stage generator 2021-02-18 00:54:49 +00:00
runtime_errors Runtime Effects: Disallow all operators on arrays or arrays-in-structs 2021-02-17 18:05:04 +00:00
shared Fix switch optimization pass. 2021-02-23 15:38:24 +00:00
spirv Improve memory layout handling in SPIRV generator 2021-01-22 22:16:48 +00:00
workarounds Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +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.