skia2/tests/sksl
John Stiles f10eff363b Fix misdetection of dead global variables.
A global variable should be considered "dead" if it's never written and
never read. The previous code checked if it was never written OR never
read, which is not the same.

This would generate GLSL/Metal that didn't compile. In SPIR-V, it would
SkASSERT, then crash, during codegen. The fuzzer was able to detect the
SPIR-V issue, but it was wrong in all three cases.

Change-Id: Id59a2499eb5baa3839b93826bfbc24191bfd490b
Bug: oss-fuzz:32005
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385280
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-03-16 16:02:03 +00:00
..
blend Revert "Only include header once in combined MSL shader." 2021-03-16 14:44:25 +00:00
errors Force global initializers to be constant expressions 2021-03-15 16:54:05 +00:00
folding Revert "Inline functions of the form 'return (expr)' only." 2021-03-15 22:08:48 +00:00
fp Add new style key information to several core effects 2021-03-04 14:49:07 +00:00
glsl Remove specific blend mode layout qualifiers 2021-02-23 15:45:55 +00:00
inliner Revert "Inline functions of the form 'return (expr)' only." 2021-03-15 22:08:48 +00:00
intrinsics Revert "Only include header once in combined MSL shader." 2021-03-16 14:44:25 +00:00
metal Revert "Only include header once in combined MSL shader." 2021-03-16 14:44:25 +00:00
runtime Revert "Inline functions of the form 'return (expr)' only." 2021-03-15 22:08:48 +00:00
runtime_errors Optimize away no-op arithmetic in ConstantFolder. 2021-03-06 01:33:35 +00:00
shared Fix misdetection of dead global variables. 2021-03-16 16:02:03 +00:00
spirv Revert "Refactored SPIR-V RelaxedPrecision handling" 2021-03-15 21:24:47 +00:00
workarounds Remove extraneous line-breaks in generated GLSL/Metal code. 2021-03-12 18:39:57 +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.