SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl).

This commit is contained in:
John Kessenich
2016-02-15 20:58:50 -07:00
parent 019f08fcd8
commit 6c292d3ba7
200 changed files with 7841 additions and 5577 deletions

View File

@@ -7,12 +7,12 @@ Linked vertex stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 165
// Id's are bound by 163
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 9 11 99 101 109 121 129 163 164
EntryPoint Vertex 4 "main" 9 11 98 100 108 114 120 128
Source ESSL 310
Name 4 "main"
Name 9 "pos"
@@ -29,21 +29,19 @@ Linked vertex stage:
MemberName 45(T3) 2 "N2"
MemberName 45(T3) 3 "uv3a"
Name 47 ""
Name 79 "T2"
MemberName 79(T2) 0 "b"
MemberName 79(T2) 1 "t2m"
Name 81 ""
Name 99 "color"
Name 101 "c"
Name 109 "iout"
Name 115 "uiuin"
Name 121 "aiv2"
Name 127 "S"
MemberName 127(S) 0 "c"
MemberName 127(S) 1 "f"
Name 129 "s"
Name 163 "gl_VertexID"
Name 164 "gl_InstanceID"
Name 78 "T2"
MemberName 78(T2) 0 "b"
MemberName 78(T2) 1 "t2m"
Name 80 ""
Name 98 "color"
Name 100 "c"
Name 108 "iout"
Name 114 "uiuin"
Name 120 "aiv2"
Name 126 "S"
MemberName 126(S) 0 "c"
MemberName 126(S) 1 "f"
Name 128 "s"
Decorate 11(p) Location 3
MemberDecorate 17(Transform) 0 RowMajor
MemberDecorate 17(Transform) 0 Offset 0
@@ -56,19 +54,29 @@ Linked vertex stage:
MemberDecorate 17(Transform) 2 MatrixStride 16
MemberDecorate 17(Transform) 3 Offset 176
Decorate 17(Transform) Block
Decorate 19(tblock) DescriptorSet 0
Decorate 44 ArrayStride 16
MemberDecorate 45(T3) 0 ColMajor
MemberDecorate 45(T3) 0 Offset 0
MemberDecorate 45(T3) 0 MatrixStride 16
MemberDecorate 45(T3) 1 RowMajor
MemberDecorate 45(T3) 1 Offset 64
MemberDecorate 45(T3) 1 MatrixStride 16
MemberDecorate 45(T3) 2 ColMajor
Decorate 45(T3) GLSLShared
MemberDecorate 45(T3) 2 Offset 128
MemberDecorate 45(T3) 2 MatrixStride 16
MemberDecorate 45(T3) 3 Offset 160
Decorate 45(T3) Block
MemberDecorate 79(T2) 1 RowMajor
Decorate 79(T2) GLSLShared
Decorate 79(T2) Block
Decorate 101(c) Location 7
Decorate 109(iout) Flat
Decorate 121(aiv2) Location 9
Decorate 163(gl_VertexID) BuiltIn VertexId
Decorate 164(gl_InstanceID) BuiltIn InstanceId
Decorate 47 DescriptorSet 0
MemberDecorate 78(T2) 0 Offset 0
MemberDecorate 78(T2) 1 RowMajor
MemberDecorate 78(T2) 1 Offset 16
MemberDecorate 78(T2) 1 MatrixStride 16
Decorate 78(T2) Block
Decorate 80 DescriptorSet 0
Decorate 100(c) Location 7
Decorate 108(iout) Flat
Decorate 120(aiv2) Location 9
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -95,42 +103,40 @@ Linked vertex stage:
45(T3): TypeStruct 13 13 40 44
46: TypePointer Uniform 45(T3)
47: 46(ptr) Variable Uniform
78: TypeBool
79(T2): TypeStruct 78(bool) 13
80: TypePointer Uniform 79(T2)
81: 80(ptr) Variable Uniform
98: TypePointer Output 14(fvec3)
99(color): 98(ptr) Variable Output
100: TypePointer Input 14(fvec3)
101(c): 100(ptr) Variable Input
103: 16(int) Constant 2
104: TypePointer Uniform 15
108: TypePointer Output 16(int)
109(iout): 108(ptr) Variable Output
110: 16(int) Constant 3
111: TypePointer Uniform 16(int)
114: TypePointer UniformConstant 41(int)
115(uiuin): 114(ptr) Variable UniformConstant
119: TypeVector 16(int) 2
120: TypePointer Input 119(ivec2)
121(aiv2): 120(ptr) Variable Input
122: 41(int) Constant 1
123: TypePointer Input 16(int)
127(S): TypeStruct 14(fvec3) 6(float)
128: TypePointer Output 127(S)
129(s): 128(ptr) Variable Output
132: 41(int) Constant 0
133: TypePointer Input 6(float)
136: TypePointer Output 6(float)
78(T2): TypeStruct 41(int) 13
79: TypePointer Uniform 78(T2)
80: 79(ptr) Variable Uniform
97: TypePointer Output 14(fvec3)
98(color): 97(ptr) Variable Output
99: TypePointer Input 14(fvec3)
100(c): 99(ptr) Variable Input
102: 16(int) Constant 2
103: TypePointer Uniform 15
107: TypePointer Output 16(int)
108(iout): 107(ptr) Variable Output
109: 16(int) Constant 3
110: TypePointer Uniform 16(int)
113: TypePointer Input 41(int)
114(uiuin): 113(ptr) Variable Input
118: TypeVector 16(int) 2
119: TypePointer Input 118(ivec2)
120(aiv2): 119(ptr) Variable Input
121: 41(int) Constant 1
122: TypePointer Input 16(int)
126(S): TypeStruct 14(fvec3) 6(float)
127: TypePointer Output 126(S)
128(s): 127(ptr) Variable Output
131: 41(int) Constant 0
132: TypePointer Input 6(float)
135: TypePointer Output 6(float)
137: TypeBool
138: TypePointer Uniform 14(fvec3)
141: 6(float) Constant 1065353216
142: 14(fvec3) ConstantComposite 141 141 141
143: TypeVector 78(bool) 3
143: TypeVector 137(bool) 3
149: TypePointer Uniform 42(ivec3)
152: 41(int) Constant 5
153: 42(ivec3) ConstantComposite 152 152 152
163(gl_VertexID): 123(ptr) Variable Input
164(gl_InstanceID): 123(ptr) Variable Input
4(main): 2 Function None 3
5: Label
12: 7(fvec4) Load 11(p)
@@ -181,63 +187,63 @@ Linked vertex stage:
75: 7(fvec4) CompositeExtract 64 3
76: 7(fvec4) FAdd 74 75
77: 13 CompositeConstruct 67 70 73 76
82: 21(ptr) AccessChain 81 24
83: 13 Load 82
84: 7(fvec4) CompositeExtract 77 0
85: 7(fvec4) CompositeExtract 83 0
86: 7(fvec4) FAdd 84 85
87: 7(fvec4) CompositeExtract 77 1
88: 7(fvec4) CompositeExtract 83 1
89: 7(fvec4) FAdd 87 88
90: 7(fvec4) CompositeExtract 77 2
91: 7(fvec4) CompositeExtract 83 2
92: 7(fvec4) FAdd 90 91
93: 7(fvec4) CompositeExtract 77 3
94: 7(fvec4) CompositeExtract 83 3
95: 7(fvec4) FAdd 93 94
96: 13 CompositeConstruct 86 89 92 95
97: 7(fvec4) VectorTimesMatrix 12 96
Store 9(pos) 97
102: 14(fvec3) Load 101(c)
105: 104(ptr) AccessChain 19(tblock) 103
106: 15 Load 105
107: 14(fvec3) VectorTimesMatrix 102 106
Store 99(color) 107
112: 111(ptr) AccessChain 19(tblock) 110
113: 16(int) Load 112
116: 41(int) Load 115(uiuin)
117: 16(int) Bitcast 116
118: 16(int) IAdd 113 117
124: 123(ptr) AccessChain 121(aiv2) 122
125: 16(int) Load 124
126: 16(int) IAdd 118 125
Store 109(iout) 126
130: 14(fvec3) Load 101(c)
131: 98(ptr) AccessChain 129(s) 20
Store 131 130
134: 133(ptr) AccessChain 11(p) 132
135: 6(float) Load 134
137: 136(ptr) AccessChain 129(s) 24
Store 137 135
139: 138(ptr) AccessChain 47 103 24
81: 21(ptr) AccessChain 80 24
82: 13 Load 81
83: 7(fvec4) CompositeExtract 77 0
84: 7(fvec4) CompositeExtract 82 0
85: 7(fvec4) FAdd 83 84
86: 7(fvec4) CompositeExtract 77 1
87: 7(fvec4) CompositeExtract 82 1
88: 7(fvec4) FAdd 86 87
89: 7(fvec4) CompositeExtract 77 2
90: 7(fvec4) CompositeExtract 82 2
91: 7(fvec4) FAdd 89 90
92: 7(fvec4) CompositeExtract 77 3
93: 7(fvec4) CompositeExtract 82 3
94: 7(fvec4) FAdd 92 93
95: 13 CompositeConstruct 85 88 91 94
96: 7(fvec4) VectorTimesMatrix 12 95
Store 9(pos) 96
101: 14(fvec3) Load 100(c)
104: 103(ptr) AccessChain 19(tblock) 102
105: 15 Load 104
106: 14(fvec3) VectorTimesMatrix 101 105
Store 98(color) 106
111: 110(ptr) AccessChain 19(tblock) 109
112: 16(int) Load 111
115: 41(int) Load 114(uiuin)
116: 16(int) Bitcast 115
117: 16(int) IAdd 112 116
123: 122(ptr) AccessChain 120(aiv2) 121
124: 16(int) Load 123
125: 16(int) IAdd 117 124
Store 108(iout) 125
129: 14(fvec3) Load 100(c)
130: 97(ptr) AccessChain 128(s) 20
Store 130 129
133: 132(ptr) AccessChain 11(p) 131
134: 6(float) Load 133
136: 135(ptr) AccessChain 128(s) 24
Store 136 134
139: 138(ptr) AccessChain 47 102 24
140: 14(fvec3) Load 139
144: 143(bvec3) FOrdNotEqual 140 142
145: 78(bool) Any 144
146: 78(bool) LogicalNot 145
145: 137(bool) Any 144
146: 137(bool) LogicalNot 145
SelectionMerge 148 None
BranchConditional 146 147 148
147: Label
150: 149(ptr) AccessChain 47 110 103
150: 149(ptr) AccessChain 47 109 102
151: 42(ivec3) Load 150
154: 143(bvec3) INotEqual 151 153
155: 78(bool) Any 154
155: 137(bool) Any 154
Branch 148
148: Label
156: 78(bool) Phi 145 5 155 147
156: 137(bool) Phi 145 5 155 147
SelectionMerge 158 None
BranchConditional 156 157 158
157: Label
159: 98(ptr) AccessChain 129(s) 20
159: 97(ptr) AccessChain 128(s) 20
160: 14(fvec3) Load 159
161: 14(fvec3) CompositeConstruct 141 141 141
162: 14(fvec3) FAdd 160 161