blob: f6b0f05cdfccb4e677bf4aa53f10a0851f9ab3dd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
|
spv.meshShaderBuiltins.mesh
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 148
Capability ClipDistance
Capability CullDistance
Capability DrawParameters
Capability ShaderViewportMaskNV
Capability MeshShadingNV
Extension "SPV_KHR_shader_draw_parameters"
Extension "SPV_NV_mesh_shader"
Extension "SPV_NV_viewport_array2"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint MeshNV 4 "main" 11 17 34 88 129 142 146
ExecutionMode 4 LocalSize 32 1 1
ExecutionMode 4 OutputVertices 81
ExecutionMode 4 OutputPrimitivesNV 32
ExecutionMode 4 OutputTrianglesNV
Source GLSL 460
SourceExtension "GL_NV_mesh_shader"
Name 4 "main"
Name 8 "iid"
Name 11 "gl_LocalInvocationID"
Name 16 "gid"
Name 17 "gl_WorkGroupID"
Name 30 "gl_MeshPerVertexNV"
MemberName 30(gl_MeshPerVertexNV) 0 "gl_Position"
MemberName 30(gl_MeshPerVertexNV) 1 "gl_PointSize"
MemberName 30(gl_MeshPerVertexNV) 2 "gl_ClipDistance"
MemberName 30(gl_MeshPerVertexNV) 3 "gl_CullDistance"
MemberName 30(gl_MeshPerVertexNV) 4 "gl_PositionPerViewNV"
MemberName 30(gl_MeshPerVertexNV) 5 "gl_ClipDistancePerViewNV"
MemberName 30(gl_MeshPerVertexNV) 6 "gl_CullDistancePerViewNV"
Name 34 "gl_MeshVerticesNV"
Name 84 "gl_MeshPerPrimitiveNV"
MemberName 84(gl_MeshPerPrimitiveNV) 0 "gl_PrimitiveID"
MemberName 84(gl_MeshPerPrimitiveNV) 1 "gl_Layer"
MemberName 84(gl_MeshPerPrimitiveNV) 2 "gl_ViewportIndex"
MemberName 84(gl_MeshPerPrimitiveNV) 3 "gl_ViewportMask"
MemberName 84(gl_MeshPerPrimitiveNV) 4 "gl_LayerPerViewNV"
MemberName 84(gl_MeshPerPrimitiveNV) 5 "gl_ViewportMaskPerViewNV"
Name 88 "gl_MeshPrimitivesNV"
Name 129 "gl_PrimitiveIndicesNV"
Name 142 "gl_DrawID"
Name 146 "gl_PrimitiveCountNV"
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
MemberDecorate 30(gl_MeshPerVertexNV) 0 BuiltIn Position
MemberDecorate 30(gl_MeshPerVertexNV) 1 BuiltIn PointSize
MemberDecorate 30(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance
MemberDecorate 30(gl_MeshPerVertexNV) 3 BuiltIn CullDistance
MemberDecorate 30(gl_MeshPerVertexNV) 4 PerViewNV
MemberDecorate 30(gl_MeshPerVertexNV) 4 BuiltIn PositionPerViewNV
MemberDecorate 30(gl_MeshPerVertexNV) 5 PerViewNV
MemberDecorate 30(gl_MeshPerVertexNV) 5 BuiltIn ClipDistancePerViewNV
MemberDecorate 30(gl_MeshPerVertexNV) 6 PerViewNV
MemberDecorate 30(gl_MeshPerVertexNV) 6 BuiltIn CullDistancePerViewNV
Decorate 30(gl_MeshPerVertexNV) Block
MemberDecorate 84(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId
MemberDecorate 84(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer
MemberDecorate 84(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex
MemberDecorate 84(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 PerPrimitiveNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 PerViewNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 PerPrimitiveNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 PerViewNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV
Decorate 84(gl_MeshPerPrimitiveNV) Block
Decorate 129(gl_PrimitiveIndicesNV) BuiltIn PrimitiveIndicesNV
Decorate 142(gl_DrawID) BuiltIn DrawIndex
Decorate 146(gl_PrimitiveCountNV) BuiltIn PrimitiveCountNV
Decorate 147 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypePointer Function 6(int)
9: TypeVector 6(int) 3
10: TypePointer Input 9(ivec3)
11(gl_LocalInvocationID): 10(ptr) Variable Input
12: 6(int) Constant 0
13: TypePointer Input 6(int)
17(gl_WorkGroupID): 10(ptr) Variable Input
20: TypeFloat 32
21: TypeVector 20(float) 4
22: 6(int) Constant 4
23: TypeArray 20(float) 22
24: 6(int) Constant 3
25: TypeArray 20(float) 24
26: TypeArray 21(fvec4) 22
27: 6(int) Constant 1
28: TypeArray 20(float) 27
29: TypeArray 28 22
30(gl_MeshPerVertexNV): TypeStruct 21(fvec4) 20(float) 23 25 26 29 29
31: 6(int) Constant 81
32: TypeArray 30(gl_MeshPerVertexNV) 31
33: TypePointer Output 32
34(gl_MeshVerticesNV): 33(ptr) Variable Output
36: TypeInt 32 1
37: 36(int) Constant 0
38: 20(float) Constant 1065353216
39: 21(fvec4) ConstantComposite 38 38 38 38
40: TypePointer Output 21(fvec4)
43: 36(int) Constant 1
44: 20(float) Constant 1073741824
45: TypePointer Output 20(float)
48: 36(int) Constant 2
49: 36(int) Constant 3
50: 20(float) Constant 1077936128
53: 20(float) Constant 1082130432
55: 6(int) Constant 264
56: 6(int) Constant 2
81: TypeArray 36(int) 27
82: TypeArray 36(int) 22
83: TypeArray 81 22
84(gl_MeshPerPrimitiveNV): TypeStruct 36(int) 36(int) 36(int) 81 82 83
85: 6(int) Constant 32
86: TypeArray 84(gl_MeshPerPrimitiveNV) 85
87: TypePointer Output 86
88(gl_MeshPrimitivesNV): 87(ptr) Variable Output
90: 36(int) Constant 6
91: TypePointer Output 36(int)
94: 36(int) Constant 7
97: 36(int) Constant 8
100: 36(int) Constant 9
126: 6(int) Constant 96
127: TypeArray 6(int) 126
128: TypePointer Output 127
129(gl_PrimitiveIndicesNV): 128(ptr) Variable Output
130: 6(int) Constant 257
131: TypePointer Output 6(int)
133: 36(int) Constant 95
141: TypePointer Input 36(int)
142(gl_DrawID): 141(ptr) Variable Input
145: 6(int) Constant 16909060
146(gl_PrimitiveCountNV): 131(ptr) Variable Output
147: 9(ivec3) ConstantComposite 85 27 27
4(main): 2 Function None 3
5: Label
8(iid): 7(ptr) Variable Function
16(gid): 7(ptr) Variable Function
14: 13(ptr) AccessChain 11(gl_LocalInvocationID) 12
15: 6(int) Load 14
Store 8(iid) 15
18: 13(ptr) AccessChain 17(gl_WorkGroupID) 12
19: 6(int) Load 18
Store 16(gid) 19
35: 6(int) Load 8(iid)
41: 40(ptr) AccessChain 34(gl_MeshVerticesNV) 35 37
Store 41 39
42: 6(int) Load 8(iid)
46: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 42 43
Store 46 44
47: 6(int) Load 8(iid)
51: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 47 48 49
Store 51 50
52: 6(int) Load 8(iid)
54: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 52 49 48
Store 54 53
MemoryBarrier 27 55
ControlBarrier 56 56 55
57: 6(int) Load 8(iid)
58: 6(int) IAdd 57 27
59: 6(int) Load 8(iid)
60: 40(ptr) AccessChain 34(gl_MeshVerticesNV) 59 37
61: 21(fvec4) Load 60
62: 40(ptr) AccessChain 34(gl_MeshVerticesNV) 58 37
Store 62 61
63: 6(int) Load 8(iid)
64: 6(int) IAdd 63 27
65: 6(int) Load 8(iid)
66: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 65 43
67: 20(float) Load 66
68: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 64 43
Store 68 67
69: 6(int) Load 8(iid)
70: 6(int) IAdd 69 27
71: 6(int) Load 8(iid)
72: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 71 48 49
73: 20(float) Load 72
74: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 70 48 49
Store 74 73
75: 6(int) Load 8(iid)
76: 6(int) IAdd 75 27
77: 6(int) Load 8(iid)
78: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 77 49 48
79: 20(float) Load 78
80: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 76 49 48
Store 80 79
MemoryBarrier 27 55
ControlBarrier 56 56 55
89: 6(int) Load 8(iid)
92: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 89 37
Store 92 90
93: 6(int) Load 8(iid)
95: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 93 43
Store 95 94
96: 6(int) Load 8(iid)
98: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 96 48
Store 98 97
99: 6(int) Load 8(iid)
101: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 99 49 37
Store 101 100
MemoryBarrier 27 55
ControlBarrier 56 56 55
102: 6(int) Load 8(iid)
103: 6(int) IAdd 102 27
104: 6(int) Load 8(iid)
105: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 104 37
106: 36(int) Load 105
107: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 103 37
Store 107 106
108: 6(int) Load 8(iid)
109: 6(int) IAdd 108 27
110: 6(int) Load 8(iid)
111: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 110 43
112: 36(int) Load 111
113: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 109 43
Store 113 112
114: 6(int) Load 8(iid)
115: 6(int) IAdd 114 27
116: 6(int) Load 8(iid)
117: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 116 48
118: 36(int) Load 117
119: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 115 48
Store 119 118
120: 6(int) Load 8(iid)
121: 6(int) IAdd 120 27
122: 6(int) Load 8(iid)
123: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 122 49 37
124: 36(int) Load 123
125: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 121 49 37
Store 125 124
MemoryBarrier 27 55
ControlBarrier 56 56 55
132: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 37
Store 132 130
134: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 133
Store 134 56
135: 6(int) Load 16(gid)
136: 6(int) Load 16(gid)
137: 6(int) ISub 136 27
138: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 137
139: 6(int) Load 138
140: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 135
Store 140 139
143: 36(int) Load 142(gl_DrawID)
144: 6(int) Bitcast 143
145: 144 WritePackedPrimitiveIndices4x8NV
Store 146(gl_PrimitiveCountNV) 126
MemoryBarrier 27 55
ControlBarrier 56 56 55
Return
FunctionEnd
|