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

@@ -194,7 +194,7 @@ gl_FragCoord origin is upper left
12: Label
Branch 13
13: Label
LoopMerge 15 16 None
LoopMerge 15 16 Unroll
Branch 14
14: Label
Branch 16
@@ -203,7 +203,7 @@ gl_FragCoord origin is upper left
15: Label
Branch 19
19: Label
LoopMerge 21 22 None
LoopMerge 21 22 Unroll
Branch 20
20: Label
Branch 22