skia2/tests/sksl/runtime
John Stiles ae5984082b Optimize SkVM selects.
The expression `!x ? y : z` can be optimized to `x ? z : y`, saving a
bit-not. SkVM now supports this optimization.

Change-Id: I06a0d2a716947de1021ba66b054b92e25568c641
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/524226
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-03-24 21:17:41 +00:00
..
AllowNarrowingConversions.skvm Add test for Runtime Effects and narrowing conversions. 2021-08-03 15:58:46 +00:00
AllowNarrowingConversions.stage Add test for Runtime Effects and narrowing conversions. 2021-08-03 15:58:46 +00:00
ArrayIndexing.skvm Emit trace_scope ops from SkVM code generation. 2021-12-15 01:05:34 +00:00
ArrayIndexing.stage Add variable slot information to SkVMDebugInfo. 2021-11-15 14:24:08 +00:00
ArrayNarrowingConversions.skvm Add unit test for array narrowing conversions. 2021-08-06 13:05:35 +00:00
ArrayNarrowingConversions.stage Add tests for array assignment with narrowing conversions. 2021-08-11 12:56:40 +00:00
Blend.skvm Add dest-color support to the Pipeline stage. 2021-06-09 22:09:21 +00:00
Blend.stage Add dest-color support to the Pipeline stage. 2021-06-09 22:09:21 +00:00
ChildEffects.skvm Update opcode canonicalization logic in SkVM. 2022-03-24 19:14:51 +00:00
ChildEffects.stage Add a test runtime effect for child effects. 2022-02-12 01:06:57 +00:00
Commutative.skvm Emit trace_scope ops from SkVM code generation. 2021-12-15 01:05:34 +00:00
Commutative.stage Add test for commutative operations in SkVM. 2021-11-18 21:16:48 +00:00
ConstPreservation.skvm Test that we propagate 'const' to the GPU backend of runtime effects 2021-03-09 23:26:00 +00:00
ConstPreservation.stage Emit prototypes in Pipeline for every defined function. 2021-09-30 21:37:26 +00:00
ConversionConstructors.skvm Optimize SkVM selects. 2022-03-24 21:17:41 +00:00
ConversionConstructors.stage Remove flexible runtime effects entirely 2021-04-29 16:02:27 +00:00
GlobalVariables.skvm Emit trace_scope ops from SkVM code generation. 2021-12-15 01:05:34 +00:00
GlobalVariables.stage Fix assertion when debug-tracing a void-return function. 2021-12-10 14:39:05 +00:00
GLSLTypeNames.skvm Add ivec GLSL type aliases to runtime effects 2021-04-12 16:55:41 +00:00
GLSLTypeNames.stage Add ivec GLSL type aliases to runtime effects 2021-04-12 16:55:41 +00:00
LargeProgram_BlocklessLoops.skvm Add program-too-large test using for loops without blocks. 2021-09-15 14:19:00 +00:00
LargeProgram_BlocklessLoops.stage Add program-too-large test using for loops without blocks. 2021-09-15 14:19:00 +00:00
LargeProgram_FlatLoop.skvm Enforce an upper bound on Runtime Effect program size. 2021-09-02 14:44:34 +00:00
LargeProgram_FlatLoop.stage Enforce an upper bound on Runtime Effect program size. 2021-09-02 14:44:34 +00:00
LargeProgram_Functions.skvm Enforce an upper bound on Runtime Effect program size. 2021-09-02 14:44:34 +00:00
LargeProgram_Functions.stage Emit prototypes in Pipeline for every defined function. 2021-09-30 21:37:26 +00:00
LargeProgram_NestedLoops.skvm Enforce an upper bound on Runtime Effect program size. 2021-09-02 14:44:34 +00:00
LargeProgram_NestedLoops.stage Enforce an upper bound on Runtime Effect program size. 2021-09-02 14:44:34 +00:00
LargeProgram_SplitLoops.skvm Enforce an upper bound on Runtime Effect program size. 2021-09-02 14:44:34 +00:00
LargeProgram_SplitLoops.stage Emit prototypes in Pipeline for every defined function. 2021-09-30 21:37:26 +00:00
LargeProgram_StackDepth.skvm Reject programs which exceed 50 stack frames during size analysis. 2021-09-03 02:41:34 +00:00
LargeProgram_StackDepth.stage Emit prototypes in Pipeline for every defined function. 2021-09-30 21:37:26 +00:00
LargeProgram_ZeroIterFor.skvm Enforce an upper bound on Runtime Effect program size. 2021-09-02 14:44:34 +00:00
LargeProgram_ZeroIterFor.stage Optimize away empty for loops. 2021-10-06 17:56:26 +00:00
LoopFloat.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
LoopFloat.stage Update LoopFloat/LoopInt tests to reduce hoisting. 2021-11-12 13:45:59 +00:00
LoopInt.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
LoopInt.stage Add workaround for LLVM crash in macOS 12 on Intel or M1. 2022-03-02 15:20:10 +00:00
MultipleCallsInOneStatement.skvm Fix debugger return-value display with repeated function calls. 2022-03-03 20:55:25 +00:00
MultipleCallsInOneStatement.stage Add test demonstrating issue with function calls. 2022-03-03 20:55:25 +00:00
PrecisionQualifiers.skvm Made SkSL type aliases into first-class objects 2022-01-05 16:20:19 +00:00
PrecisionQualifiers.stage Add variable slot information to SkVMDebugInfo. 2021-11-15 14:24:08 +00:00
QualifierOrder.skvm Emit qualifiers in the GLSL ES-required order. 2021-10-01 19:09:43 +00:00
QualifierOrder.stage Report an error if an out param is never written to. 2022-01-26 21:42:13 +00:00
RecursiveComparison_Arrays.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
RecursiveComparison_Arrays.stage Adding test files demonstrating type confusion for arrays/structs. 2021-12-03 20:54:36 +00:00
RecursiveComparison_Structs.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
RecursiveComparison_Structs.stage Adding test files demonstrating type confusion for arrays/structs. 2021-12-03 20:54:36 +00:00
RecursiveComparison_Types.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
RecursiveComparison_Types.stage Adding test files demonstrating type confusion for arrays/structs. 2021-12-03 20:54:36 +00:00
RecursiveComparison_Vectors.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
RecursiveComparison_Vectors.stage Adding test files demonstrating type confusion for arrays/structs. 2021-12-03 20:54:36 +00:00
SampleWithExplicitCoord.skvm Optimize commutative operations in SkVM. 2021-11-18 21:27:17 +00:00
SampleWithExplicitCoord.stage Convert internal SkSL to use .eval() 2021-09-03 15:54:54 +00:00
Switch.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
Switch.stage Implement switch in SkVM. 2021-09-23 19:58:55 +00:00
SwitchDefaultOnly.skvm Implement switch in SkVM. 2021-09-23 19:58:55 +00:00
SwitchDefaultOnly.stage Implement switch in SkVM. 2021-09-23 19:58:55 +00:00
SwitchWithFallthrough.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
SwitchWithFallthrough.stage Emit prototypes in Pipeline for every defined function. 2021-09-30 21:37:26 +00:00
SwitchWithLoops.skvm Optimize SkVM bit-clears. 2022-03-24 21:04:23 +00:00
SwitchWithLoops.stage Emit prototypes in Pipeline for every defined function. 2021-09-30 21:37:26 +00:00
VectorIndexing.skvm Optimize commutative operations in SkVM. 2021-11-18 21:27:17 +00:00
VectorIndexing.stage Emit prototypes in Pipeline for every defined function. 2021-09-30 21:37:26 +00:00