Hans-Kristian Arntzen
f0c50a618d
Fix parsing time explosion for huge shaders.
...
Need to prune already walked blocks.
2017-07-25 18:22:15 +02:00
Hans-Kristian Arntzen
bf5c07532c
Run format_all.sh.
2017-03-25 16:28:44 +01:00
Hans-Kristian Arntzen
b2c2e6483b
Analyze parameter preservation for functions.
...
This is kinda tricky, because if we only conditionally write to a
function parameter variable it is implicitly preserved in SPIR-V, so we must force
an in qualifier on the parameter to get the same behavior in GLSL.
2017-03-25 16:25:30 +01:00
Hans-Kristian Arntzen
18c37bcdab
Update license headers for 2017.
2017-01-28 09:00:40 +01:00
Hans-Kristian Arntzen
4f07a32c29
Begin implementing for loop initializer propagation.
2016-12-15 17:44:47 +01:00
Hans-Kristian Arntzen
5ff11cc689
Handle more corner cases with the CFG traversal.
2016-11-18 16:45:11 +01:00
Hans-Kristian Arntzen
0c9683cd85
Distinguish between cross edges and back edges.
...
Handle the weird opcodes CopyMemory/CopyObject.
2016-11-18 09:59:54 +01:00
Hans-Kristian Arntzen
edbe867b74
Improve handling of dead blocks.
...
All tests pass now.
Still need to handle OpFunction, atomics, OpPhi, etc ...
2016-11-17 22:15:07 +01:00
Hans-Kristian Arntzen
dad4a34072
Start adding CFG analysis.
...
Not complete yet, but partly working ...
2016-11-17 16:58:05 +01:00