glslang -> SPV: improved support for do-while/continue. Contributed by David Neto (dneto@google.com).

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31205 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich
2015-05-15 18:44:16 +00:00
parent 93dfbe1309
commit 593a3f7f6b
15 changed files with 473 additions and 20 deletions

View File

@@ -0,0 +1,62 @@
spv.do-simple.vert
Linked vertex stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 26
Source GLSL 300
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4
Name 4 "main"
Name 9 "i"
Name 24 "gl_VertexID"
Name 25 "gl_InstanceID"
Decorate 9(i) PrecisionHigh
Decorate 24(gl_VertexID) PrecisionHigh
Decorate 24(gl_VertexID) BuiltIn VertexId
Decorate 24(gl_VertexID) NoStaticUse
Decorate 25(gl_InstanceID) PrecisionHigh
Decorate 25(gl_InstanceID) BuiltIn InstanceId
Decorate 25(gl_InstanceID) NoStaticUse
2: TypeVoid
3: TypeFunction 2
7: TypeInt 32 1
8: TypePointer Function 7(int)
10: 7(int) Constant 0
16: 7(int) Constant 1
19: 7(int) Constant 10
20: TypeBool
23: TypePointer Input 7(int)
24(gl_VertexID): 23(ptr) Variable Input
25(gl_InstanceID): 23(ptr) Variable Input
4(main): 2 Function None 3
5: Label
9(i): 8(ptr) Variable Function
Store 9(i) 10
Branch 11
11: Label
LoopMerge 12 None
Branch 13
13: Label
15: 7(int) Load 9(i)
17: 7(int) IAdd 15 16
Store 9(i) 17
Branch 14
14: Label
18: 7(int) Load 9(i)
21: 20(bool) SLessThan 18 19
BranchConditional 21 22 12
22: Label
Branch 11
12: Label
Branch 6
6: Label
Return
FunctionEnd