mirror of
https://github.com/RPCS3/glslang.git
synced 2025-01-01 16:08:23 +00:00
e770b3e6cf
Structured control-flow rules allow leaving the middle of a construct through a return, but not through a jump to a block that does a return. Addresses issue #58.
179 lines
9.1 KiB
Plaintext
Executable File
179 lines
9.1 KiB
Plaintext
Executable File
spv.400.tesc
|
|
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
|
|
|
|
|
|
Linked tessellation control stage:
|
|
|
|
|
|
// Module Version 99
|
|
// Generated by (magic number): 51a00bb
|
|
// Id's are bound by 90
|
|
|
|
Source GLSL 400
|
|
SourceExtension "GL_ARB_separate_shader_objects"
|
|
Capability Tessellation
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint TessellationControl 4 "main"
|
|
ExecutionMode 4 OutputVertices 4
|
|
Name 4 "main"
|
|
Name 12 "a"
|
|
Name 17 "p"
|
|
Name 19 "gl_PerVertex"
|
|
MemberName 19(gl_PerVertex) 0 "gl_Position"
|
|
MemberName 19(gl_PerVertex) 1 "gl_PointSize"
|
|
MemberName 19(gl_PerVertex) 2 "gl_ClipDistance"
|
|
Name 23 "gl_in"
|
|
Name 30 "ps"
|
|
Name 34 "cd"
|
|
Name 38 "pvi"
|
|
Name 40 "gl_PatchVerticesIn"
|
|
Name 42 "pid"
|
|
Name 43 "gl_PrimitiveID"
|
|
Name 45 "iid"
|
|
Name 46 "gl_InvocationID"
|
|
Name 48 "gl_PerVertex"
|
|
MemberName 48(gl_PerVertex) 0 "gl_Position"
|
|
MemberName 48(gl_PerVertex) 1 "gl_PointSize"
|
|
MemberName 48(gl_PerVertex) 2 "gl_ClipDistance"
|
|
Name 52 "gl_out"
|
|
Name 63 "gl_TessLevelOuter"
|
|
Name 70 "gl_TessLevelInner"
|
|
Name 75 "outa"
|
|
Name 76 "patchOut"
|
|
Name 80 "inb"
|
|
Name 81 "ind"
|
|
Name 84 "ivla"
|
|
Name 85 "ivlb"
|
|
Name 88 "ovla"
|
|
Name 89 "ovlb"
|
|
Decorate 19(gl_PerVertex) Block
|
|
Decorate 40(gl_PatchVerticesIn) BuiltIn PatchVertices
|
|
Decorate 43(gl_PrimitiveID) BuiltIn PrimitiveId
|
|
Decorate 46(gl_InvocationID) BuiltIn InvocationId
|
|
MemberDecorate 48(gl_PerVertex) 0 BuiltIn Position
|
|
MemberDecorate 48(gl_PerVertex) 1 BuiltIn PointSize
|
|
MemberDecorate 48(gl_PerVertex) 2 BuiltIn ClipDistance
|
|
Decorate 48(gl_PerVertex) Block
|
|
Decorate 63(gl_TessLevelOuter) Patch
|
|
Decorate 63(gl_TessLevelOuter) BuiltIn TessLevelOuter
|
|
Decorate 70(gl_TessLevelInner) Patch
|
|
Decorate 70(gl_TessLevelInner) BuiltIn TessLevelInner
|
|
Decorate 75(outa) NoStaticUse
|
|
Decorate 76(patchOut) Patch
|
|
Decorate 76(patchOut) NoStaticUse
|
|
Decorate 80(inb) NoStaticUse
|
|
Decorate 81(ind) NoStaticUse
|
|
Decorate 84(ivla) Location 3
|
|
Decorate 84(ivla) NoStaticUse
|
|
Decorate 85(ivlb) Location 4
|
|
Decorate 85(ivlb) NoStaticUse
|
|
Decorate 88(ovla) Location 3
|
|
Decorate 88(ovla) NoStaticUse
|
|
Decorate 89(ovlb) Location 4
|
|
Decorate 89(ovlb) NoStaticUse
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 0
|
|
7: 6(int) Constant 1
|
|
8: 6(int) Constant 1023
|
|
9: 6(int) Constant 0
|
|
10: TypeInt 32 1
|
|
11: TypePointer Function 10(int)
|
|
13: 10(int) Constant 5392
|
|
14: TypeFloat 32
|
|
15: TypeVector 14(float) 4
|
|
16: TypePointer Function 15(fvec4)
|
|
18: TypeArray 14(float) 7
|
|
19(gl_PerVertex): TypeStruct 15(fvec4) 14(float) 18
|
|
20: 6(int) Constant 32
|
|
21: TypeArray 19(gl_PerVertex) 20
|
|
22: TypePointer Input 21
|
|
23(gl_in): 22(ptr) Variable Input
|
|
24: 10(int) Constant 1
|
|
25: 10(int) Constant 0
|
|
26: TypePointer Input 15(fvec4)
|
|
29: TypePointer Function 14(float)
|
|
31: TypePointer Input 14(float)
|
|
35: 10(int) Constant 2
|
|
39: TypePointer Input 10(int)
|
|
40(gl_PatchVerticesIn): 39(ptr) Variable Input
|
|
43(gl_PrimitiveID): 39(ptr) Variable Input
|
|
46(gl_InvocationID): 39(ptr) Variable Input
|
|
48(gl_PerVertex): TypeStruct 15(fvec4) 14(float) 18
|
|
49: 6(int) Constant 4
|
|
50: TypeArray 48(gl_PerVertex) 49
|
|
51: TypePointer Output 50
|
|
52(gl_out): 51(ptr) Variable Output
|
|
54: TypePointer Output 15(fvec4)
|
|
57: TypePointer Output 14(float)
|
|
61: TypeArray 14(float) 49
|
|
62: TypePointer Output 61
|
|
63(gl_TessLevelOuter): 62(ptr) Variable Output
|
|
64: 10(int) Constant 3
|
|
65: 14(float) Constant 1078774989
|
|
67: 6(int) Constant 2
|
|
68: TypeArray 14(float) 67
|
|
69: TypePointer Output 68
|
|
70(gl_TessLevelInner): 69(ptr) Variable Output
|
|
71: 14(float) Constant 1067869798
|
|
73: TypeArray 10(int) 49
|
|
74: TypePointer PrivateGlobal 73
|
|
75(outa): 74(ptr) Variable PrivateGlobal
|
|
76(patchOut): 54(ptr) Variable Output
|
|
77: TypeVector 14(float) 2
|
|
78: TypeArray 77(fvec2) 20
|
|
79: TypePointer Input 78
|
|
80(inb): 79(ptr) Variable Input
|
|
81(ind): 79(ptr) Variable Input
|
|
82: TypeArray 15(fvec4) 20
|
|
83: TypePointer Input 82
|
|
84(ivla): 83(ptr) Variable Input
|
|
85(ivlb): 83(ptr) Variable Input
|
|
86: TypeArray 15(fvec4) 49
|
|
87: TypePointer Output 86
|
|
88(ovla): 87(ptr) Variable Output
|
|
89(ovlb): 87(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
12(a): 11(ptr) Variable Function
|
|
17(p): 16(ptr) Variable Function
|
|
30(ps): 29(ptr) Variable Function
|
|
34(cd): 29(ptr) Variable Function
|
|
38(pvi): 11(ptr) Variable Function
|
|
42(pid): 11(ptr) Variable Function
|
|
45(iid): 11(ptr) Variable Function
|
|
MemoryBarrier 7 8
|
|
ControlBarrier 7 7 9
|
|
Store 12(a) 13
|
|
27: 26(ptr) AccessChain 23(gl_in) 24 25
|
|
28: 15(fvec4) Load 27
|
|
Store 17(p) 28
|
|
32: 31(ptr) AccessChain 23(gl_in) 24 24
|
|
33: 14(float) Load 32
|
|
Store 30(ps) 33
|
|
36: 31(ptr) AccessChain 23(gl_in) 24 35 35
|
|
37: 14(float) Load 36
|
|
Store 34(cd) 37
|
|
41: 10(int) Load 40(gl_PatchVerticesIn)
|
|
Store 38(pvi) 41
|
|
44: 10(int) Load 43(gl_PrimitiveID)
|
|
Store 42(pid) 44
|
|
47: 10(int) Load 46(gl_InvocationID)
|
|
Store 45(iid) 47
|
|
53: 15(fvec4) Load 17(p)
|
|
55: 54(ptr) AccessChain 52(gl_out) 24 25
|
|
Store 55 53
|
|
56: 14(float) Load 30(ps)
|
|
58: 57(ptr) AccessChain 52(gl_out) 24 24
|
|
Store 58 56
|
|
59: 14(float) Load 34(cd)
|
|
60: 57(ptr) AccessChain 52(gl_out) 24 35 24
|
|
Store 60 59
|
|
66: 57(ptr) AccessChain 63(gl_TessLevelOuter) 64
|
|
Store 66 65
|
|
72: 57(ptr) AccessChain 70(gl_TessLevelInner) 24
|
|
Store 72 71
|
|
Return
|
|
FunctionEnd
|