skia2/tests/sksl/folding
Arman Uguray e70f2e0e0f [sksl][test] Add more folding tests for side-effecting expressions
Moved the MatrixFoldingES2.sksl test case for matrix construction with
side-effects into a new PreserveSideEffects.sksl test and added new test
cases for various vector and matrix types and constructors. The new test
is written such that none of its contents should be folded away.

Note: This test does not pass on NVIDIA GPUs when using OpenGL as
discussed in skia:13035. Notably, NONE of the increments are executed on
those GPUs as ALL increment expressions seemingly get subjected to
constant-folding. The test is disabled on NVIDIA GPU bots.

This also means that the remaining MatrixFoldingES2.sksl tests now work
on NVIDIA GPUs when using OpenGL (with the exception of Tegra3 + OpenGL
ES).

Bug: skia:13035, skia:11919
Change-Id: I561bb62fe2b6b814ba80fbc492d3885bbcd6b65b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518278
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Arman Uguray <armansito@google.com>
2022-03-10 18:06:12 +00:00
..
ArrayFolding.glsl Improve index-folding of arrays and matrices. 2021-11-11 18:59:04 +00:00
ArraySizeFolding.glsl Add test for vector constant folding. 2022-01-12 17:23:20 +00:00
AssignmentOps.glsl Performance experiment: disable control-flow analysis. 2021-03-08 19:41:19 +00:00
BoolFolding.glsl Improve constant folding for boolean vectors. 2021-08-24 18:12:12 +00:00
CastFolding.glsl Fold casts of known values at compile time. 2021-05-07 22:04:48 +00:00
FloatFolding.glsl Remove 0/x arithmetic simplification. 2021-08-24 19:18:41 +00:00
IntFoldingES2.glsl Remove 0/x arithmetic simplification. 2021-08-24 19:18:41 +00:00
IntFoldingES3.glsl Revert "Inline functions of the form 'return (expr)' only." 2021-03-15 22:08:48 +00:00
MatrixFoldingES2.glsl [sksl][test] Add more folding tests for side-effecting expressions 2022-03-10 18:06:12 +00:00
MatrixFoldingES3.glsl Add support for constant folding of matrix-times-matrix. 2022-02-08 14:35:45 +00:00
Negation.glsl [sksl] Special-case unary negation on matrix types in MSL/SPIR-V 2022-03-01 20:14:46 +00:00
PreserveSideEffects.glsl [sksl][test] Add more folding tests for side-effecting expressions 2022-03-10 18:06:12 +00:00
SelfAssignment.glsl Performance experiment: disable control-flow analysis. 2021-03-08 19:41:19 +00:00
ShortCircuitBoolFolding.glsl Remove usage of sqrt() as an optimization barrier in tests. 2021-05-24 17:18:54 +00:00
SwitchCaseFolding.glsl Simplify control flow in switch test to unbreak iOS. 2022-01-13 14:49:06 +00:00
SwizzleFolding.glsl Reland "Optimize away swizzles of constant variables." 2021-04-30 13:12:18 +00:00
VectorScalarFolding.glsl Remove 0/x arithmetic simplification. 2021-08-24 19:18:41 +00:00
VectorVectorFolding.glsl Remove 0/x arithmetic simplification. 2021-08-24 19:18:41 +00:00