skia2/tests/sksl/folding
John Stiles 5676c57220 Optimize away self-comparison in the constant folder.
Expressions like `value == value` or `color.a != color.a` can be
replaced by `true` or `false` on sight. The GLSL spec makes it clear
that checking for NaN is optional:

4.7.1 Range and Precision
"... NaNs are not required to be generated. Support for signaling NaNs
is not required and exceptions are never raised. Operations and built-in
functions that operate on a NaN are not required to return a NaN as the
result."

Change-Id: I2ad9f2dc505b638ea2904bef41b7a79a2b329551
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/381262
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-08 23:38:29 +00:00
..
AssignmentOps.glsl Performance experiment: disable control-flow analysis. 2021-03-08 19:41:19 +00:00
BoolFolding.glsl Performance experiment: disable control-flow analysis. 2021-03-08 19:41:19 +00:00
FloatFolding.glsl Performance experiment: disable control-flow analysis. 2021-03-08 19:41:19 +00:00
IntFoldingES2.glsl Performance experiment: disable control-flow analysis. 2021-03-08 19:41:19 +00:00
IntFoldingES3.glsl Performance experiment: disable control-flow analysis. 2021-03-08 19:41:19 +00:00
MatrixFoldingES2.glsl Performance experiment: disable control-flow analysis. 2021-03-08 19:41:19 +00:00
MatrixFoldingES3.glsl Performance experiment: disable control-flow analysis. 2021-03-08 19:41:19 +00:00
SelfAssignment.glsl Performance experiment: disable control-flow analysis. 2021-03-08 19:41:19 +00:00
ShortCircuitBoolFolding.glsl Avoid generating unused variables in the Inliner. 2021-02-25 19:18:19 +00:00
VectorScalarFolding.glsl Performance experiment: disable control-flow analysis. 2021-03-08 19:41:19 +00:00
VectorVectorFolding.glsl Optimize away self-comparison in the constant folder. 2021-03-08 23:38:29 +00:00