glslang/Test/baseResults/spv.400.tesc.out
John Kessenich c51287d744 SPV: Update to spec. decisions (and issue #205) for barrier().
A barrier (ESSL/GLSL) or OpControlBarrier when in a tessellation control
shader also means doing memory synchronization for output variables.
2016-06-14 19:50:26 -06:00

178 lines
9.0 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 10000
// Generated by (magic number): 80001
// Id's are bound by 93
Capability Tessellation
Capability TessellationPointSize
Capability ClipDistance
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint TessellationControl 4 "main" 23 40 43 46 54 68 73 79 83 84 87 88 91 92
ExecutionMode 4 OutputVertices 4
Source GLSL 400
SourceExtension "GL_ARB_separate_shader_objects"
Name 4 "main"
Name 11 "a"
Name 16 "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 50 "gl_PerVertex"
MemberName 50(gl_PerVertex) 0 "gl_Position"
MemberName 50(gl_PerVertex) 1 "gl_PointSize"
MemberName 50(gl_PerVertex) 2 "gl_ClipDistance"
Name 54 "gl_out"
Name 68 "gl_TessLevelOuter"
Name 73 "gl_TessLevelInner"
Name 78 "outa"
Name 79 "patchOut"
Name 83 "inb"
Name 84 "ind"
Name 87 "ivla"
Name 88 "ivlb"
Name 91 "ovla"
Name 92 "ovlb"
MemberDecorate 19(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 19(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 19(gl_PerVertex) 2 BuiltIn ClipDistance
Decorate 19(gl_PerVertex) Block
Decorate 40(gl_PatchVerticesIn) BuiltIn PatchVertices
Decorate 43(gl_PrimitiveID) BuiltIn PrimitiveId
Decorate 46(gl_InvocationID) BuiltIn InvocationId
MemberDecorate 50(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 50(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 50(gl_PerVertex) 2 BuiltIn ClipDistance
Decorate 50(gl_PerVertex) Block
Decorate 68(gl_TessLevelOuter) Patch
Decorate 68(gl_TessLevelOuter) BuiltIn TessLevelOuter
Decorate 73(gl_TessLevelInner) Patch
Decorate 73(gl_TessLevelInner) BuiltIn TessLevelInner
Decorate 79(patchOut) Patch
Decorate 87(ivla) Location 3
Decorate 88(ivlb) Location 4
Decorate 91(ovla) Location 3
Decorate 92(ovlb) Location 4
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: 6(int) Constant 1
8: 6(int) Constant 0
9: TypeInt 32 1
10: TypePointer Function 9(int)
12: 9(int) Constant 5392
13: TypeFloat 32
14: TypeVector 13(float) 4
15: TypePointer Function 14(fvec4)
17: 6(int) Constant 3
18: TypeArray 13(float) 17
19(gl_PerVertex): TypeStruct 14(fvec4) 13(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: 9(int) Constant 1
25: 9(int) Constant 0
26: TypePointer Input 14(fvec4)
29: TypePointer Function 13(float)
31: TypePointer Input 13(float)
35: 9(int) Constant 2
39: TypePointer Input 9(int)
40(gl_PatchVerticesIn): 39(ptr) Variable Input
43(gl_PrimitiveID): 39(ptr) Variable Input
46(gl_InvocationID): 39(ptr) Variable Input
48: 6(int) Constant 2
49: TypeArray 13(float) 48
50(gl_PerVertex): TypeStruct 14(fvec4) 13(float) 49
51: 6(int) Constant 4
52: TypeArray 50(gl_PerVertex) 51
53: TypePointer Output 52
54(gl_out): 53(ptr) Variable Output
57: TypePointer Output 14(fvec4)
61: TypePointer Output 13(float)
66: TypeArray 13(float) 51
67: TypePointer Output 66
68(gl_TessLevelOuter): 67(ptr) Variable Output
69: 9(int) Constant 3
70: 13(float) Constant 1078774989
72: TypePointer Output 49
73(gl_TessLevelInner): 72(ptr) Variable Output
74: 13(float) Constant 1067869798
76: TypeArray 9(int) 51
77: TypePointer Private 76
78(outa): 77(ptr) Variable Private
79(patchOut): 57(ptr) Variable Output
80: TypeVector 13(float) 2
81: TypeArray 80(fvec2) 20
82: TypePointer Input 81
83(inb): 82(ptr) Variable Input
84(ind): 82(ptr) Variable Input
85: TypeArray 14(fvec4) 20
86: TypePointer Input 85
87(ivla): 86(ptr) Variable Input
88(ivlb): 86(ptr) Variable Input
89: TypeArray 14(fvec4) 51
90: TypePointer Output 89
91(ovla): 90(ptr) Variable Output
92(ovlb): 90(ptr) Variable Output
4(main): 2 Function None 3
5: Label
11(a): 10(ptr) Variable Function
16(p): 15(ptr) Variable Function
30(ps): 29(ptr) Variable Function
34(cd): 29(ptr) Variable Function
38(pvi): 10(ptr) Variable Function
42(pid): 10(ptr) Variable Function
45(iid): 10(ptr) Variable Function
ControlBarrier 7 7 8
Store 11(a) 12
27: 26(ptr) AccessChain 23(gl_in) 24 25
28: 14(fvec4) Load 27
Store 16(p) 28
32: 31(ptr) AccessChain 23(gl_in) 24 24
33: 13(float) Load 32
Store 30(ps) 33
36: 31(ptr) AccessChain 23(gl_in) 24 35 35
37: 13(float) Load 36
Store 34(cd) 37
41: 9(int) Load 40(gl_PatchVerticesIn)
Store 38(pvi) 41
44: 9(int) Load 43(gl_PrimitiveID)
Store 42(pid) 44
47: 9(int) Load 46(gl_InvocationID)
Store 45(iid) 47
55: 9(int) Load 46(gl_InvocationID)
56: 14(fvec4) Load 16(p)
58: 57(ptr) AccessChain 54(gl_out) 55 25
Store 58 56
59: 9(int) Load 46(gl_InvocationID)
60: 13(float) Load 30(ps)
62: 61(ptr) AccessChain 54(gl_out) 59 24
Store 62 60
63: 9(int) Load 46(gl_InvocationID)
64: 13(float) Load 34(cd)
65: 61(ptr) AccessChain 54(gl_out) 63 35 24
Store 65 64
71: 61(ptr) AccessChain 68(gl_TessLevelOuter) 69
Store 71 70
75: 61(ptr) AccessChain 73(gl_TessLevelInner) 24
Store 75 74
Return
FunctionEnd