HLSL: implement [unroll] and [loop] attributes

This adds infrastructure suitable for any front end to create SPIR-V loop
control flags.  The only current front end doing so is HLSL.

[unroll] turns into spv::LoopControlUnrollMask
[loop] turns into spv::LoopControlDontUnrollMask
no specification means spv::LoopControlMaskNone
This commit is contained in:
steve-lunarg
2017-05-02 20:14:50 -06:00
parent de1cc06c1d
commit f1709e7146
17 changed files with 334 additions and 17 deletions

View File

@@ -132,7 +132,7 @@ local_size = (4, 6, 8)
Store 13(x) 14
Branch 15
15: Label
LoopMerge 17 18 None
LoopMerge 17 18 Unroll
Branch 19
19: Label
20: 11(int) Load 13(x)