skia2/tests/sksl
John Stiles db253e24a2 Do not optimize away intrinsics with non-finite results.
Previously, we would treat double values outside [-FLT_MAX, FLT_MAX]
as finite. In practice, this introduces many hazards; any place in the
code which handled the double value as a float would silently convert
the value to infinity. This includes high-traffic calls like
Literal::MakeFloat.

Note that the if checks are structured in a slightly awkward way to
ensure that NaNs are treated as non-finite.

The original buggy behavior can be seen at http://review.skia.org/556078

Change-Id: Ic126afe57c3d6c7aa3edf9c8f7e339abc5f77739
Bug: oss-fuzz:48592
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/556080
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-07-06 20:37:29 +00:00
..
blend Add ReducedBlendModeInfo to shared code. 2022-04-22 17:18:31 +00:00
compute Added threadgroup modifier to compute shaders 2022-06-29 18:06:28 +00:00
errors Do not optimize away intrinsics with non-finite results. 2022-07-06 20:37:29 +00:00
folding Optimize away equality checks for structs with known values. 2022-06-06 20:59:15 +00:00
glsl Added range highlighting to SkSL error reports 2022-04-07 13:29:48 +00:00
inliner Optimize away field accesses to known structs. 2022-06-06 20:38:43 +00:00
intrinsics Optimize away self comparisons in SPIR-V. 2022-04-19 16:10:03 +00:00
metal Fix assertion failure with 'uniform texture2D' 2022-06-30 14:48:48 +00:00
runtime Add #version directive to SkSL 2022-05-17 15:42:31 +00:00
runtime_errors Further reduce the size of DSLType. 2022-06-02 14:02:29 +00:00
shared [sksl][spirv] Prevent unreachable blocks in loops 2022-07-06 18:50:38 +00:00
spirv Eliminate redundant loads following stores. 2022-04-18 14:57:48 +00:00
wgsl Fix WGSL pipeline stage attributes 2022-06-10 18:08:51 +00:00
workarounds [sksl] Disallow boolean uniforms 2022-06-01 18:07:08 +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.