cc473cd92f
Some paths through swizzle optimization would replace a swizzles with a constructor--e.g. `float3(1, 2, 3).y` would be replaced with `float(2)`. (Constructor::Convert was responsible for replacing this trivial constructor with the literal `2.0`.) The optimization code asserted that this replacement would succeed, but the fuzzer managed to construct a counterexample where the constructor rejected the value. Specifically, by nesting casts between int3 and float3, it found a case where Constructor::Convert returned null because the literal value was out of range for `int` types. This assertion didn't really add value so removing it was harmless. Constructor::Convert already reports an error when it fails, and null returns are handled properly throughout. Change-Id: I575d441ed90d6b696f6399941c3f6d84698794bc Bug: oss-fuzz:44045 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/499382 Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: John Stiles <johnstiles@google.com> |
||
---|---|---|
.. | ||
blend | ||
errors | ||
es2_conformance | ||
folding | ||
glsl | ||
inliner | ||
intrinsics | ||
metal | ||
runtime | ||
runtime_errors | ||
shared | ||
spirv | ||
workarounds | ||
README.txt | ||
update_fuzzer.py |
This directory contains source files for testing skslc compilation. The compiled output files are in the /tests/sksl/ directory.