blob: 60422d66e30c6a0e13f8afed20c137cabb13fa2f (
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
|
spv.meshShaderRedeclBuiltins.mesh
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 129
Capability ClipDistance
Capability CullDistance
Capability ShaderViewportMaskNV
Capability MeshShadingNV
Extension "SPV_NV_mesh_shader"
Extension "SPV_NV_viewport_array2"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint MeshNV 4 "main" 11 17 28 81 122 127
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 24 "gl_MeshPerVertexNV"
MemberName 24(gl_MeshPerVertexNV) 0 "gl_Position"
MemberName 24(gl_MeshPerVertexNV) 1 "gl_PointSize"
MemberName 24(gl_MeshPerVertexNV) 2 "gl_ClipDistance"
MemberName 24(gl_MeshPerVertexNV) 3 "gl_CullDistance"
Name 28 "gl_MeshVerticesNV"
Name 77 "gl_MeshPerPrimitiveNV"
MemberName 77(gl_MeshPerPrimitiveNV) 0 "gl_PrimitiveID"
MemberName 77(gl_MeshPerPrimitiveNV) 1 "gl_Layer"
MemberName 77(gl_MeshPerPrimitiveNV) 2 "gl_ViewportIndex"
MemberName 77(gl_MeshPerPrimitiveNV) 3 "gl_ViewportMask"
Name 81 "gl_MeshPrimitivesNV"
Name 122 "gl_PrimitiveIndicesNV"
Name 127 "gl_PrimitiveCountNV"
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
MemberDecorate 24(gl_MeshPerVertexNV) 0 BuiltIn Position
MemberDecorate 24(gl_MeshPerVertexNV) 1 BuiltIn PointSize
MemberDecorate 24(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance
MemberDecorate 24(gl_MeshPerVertexNV) 3 BuiltIn CullDistance
Decorate 24(gl_MeshPerVertexNV) Block
MemberDecorate 77(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV
MemberDecorate 77(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId
MemberDecorate 77(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV
MemberDecorate 77(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer
MemberDecorate 77(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV
MemberDecorate 77(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex
MemberDecorate 77(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV
MemberDecorate 77(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV
Decorate 77(gl_MeshPerPrimitiveNV) Block
Decorate 122(gl_PrimitiveIndicesNV) BuiltIn PrimitiveIndicesNV
Decorate 127(gl_PrimitiveCountNV) BuiltIn PrimitiveCountNV
Decorate 128 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(gl_MeshPerVertexNV): TypeStruct 21(fvec4) 20(float) 23 23
25: 6(int) Constant 81
26: TypeArray 24(gl_MeshPerVertexNV) 25
27: TypePointer Output 26
28(gl_MeshVerticesNV): 27(ptr) Variable Output
30: TypeInt 32 1
31: 30(int) Constant 0
32: 20(float) Constant 1065353216
33: 21(fvec4) ConstantComposite 32 32 32 32
34: TypePointer Output 21(fvec4)
37: 30(int) Constant 1
38: 20(float) Constant 1073741824
39: TypePointer Output 20(float)
42: 30(int) Constant 2
43: 30(int) Constant 3
44: 20(float) Constant 1077936128
47: 20(float) Constant 1082130432
49: 6(int) Constant 1
50: 6(int) Constant 264
51: 6(int) Constant 2
76: TypeArray 30(int) 49
77(gl_MeshPerPrimitiveNV): TypeStruct 30(int) 30(int) 30(int) 76
78: 6(int) Constant 32
79: TypeArray 77(gl_MeshPerPrimitiveNV) 78
80: TypePointer Output 79
81(gl_MeshPrimitivesNV): 80(ptr) Variable Output
83: 30(int) Constant 6
84: TypePointer Output 30(int)
87: 30(int) Constant 7
90: 30(int) Constant 8
93: 30(int) Constant 9
119: 6(int) Constant 96
120: TypeArray 6(int) 119
121: TypePointer Output 120
122(gl_PrimitiveIndicesNV): 121(ptr) Variable Output
123: TypePointer Output 6(int)
125: 30(int) Constant 95
127(gl_PrimitiveCountNV): 123(ptr) Variable Output
128: 9(ivec3) ConstantComposite 78 49 49
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
29: 6(int) Load 8(iid)
35: 34(ptr) AccessChain 28(gl_MeshVerticesNV) 29 31
Store 35 33
36: 6(int) Load 8(iid)
40: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 36 37
Store 40 38
41: 6(int) Load 8(iid)
45: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 41 42 43
Store 45 44
46: 6(int) Load 8(iid)
48: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 46 43 42
Store 48 47
MemoryBarrier 49 50
ControlBarrier 51 51 50
52: 6(int) Load 8(iid)
53: 6(int) IAdd 52 49
54: 6(int) Load 8(iid)
55: 34(ptr) AccessChain 28(gl_MeshVerticesNV) 54 31
56: 21(fvec4) Load 55
57: 34(ptr) AccessChain 28(gl_MeshVerticesNV) 53 31
Store 57 56
58: 6(int) Load 8(iid)
59: 6(int) IAdd 58 49
60: 6(int) Load 8(iid)
61: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 60 37
62: 20(float) Load 61
63: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 59 37
Store 63 62
64: 6(int) Load 8(iid)
65: 6(int) IAdd 64 49
66: 6(int) Load 8(iid)
67: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 66 42 43
68: 20(float) Load 67
69: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 65 42 43
Store 69 68
70: 6(int) Load 8(iid)
71: 6(int) IAdd 70 49
72: 6(int) Load 8(iid)
73: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 72 43 42
74: 20(float) Load 73
75: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 71 43 42
Store 75 74
MemoryBarrier 49 50
ControlBarrier 51 51 50
82: 6(int) Load 8(iid)
85: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 82 31
Store 85 83
86: 6(int) Load 8(iid)
88: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 86 37
Store 88 87
89: 6(int) Load 8(iid)
91: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 89 42
Store 91 90
92: 6(int) Load 8(iid)
94: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 92 43 31
Store 94 93
MemoryBarrier 49 50
ControlBarrier 51 51 50
95: 6(int) Load 8(iid)
96: 6(int) IAdd 95 49
97: 6(int) Load 8(iid)
98: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 97 31
99: 30(int) Load 98
100: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 96 31
Store 100 99
101: 6(int) Load 8(iid)
102: 6(int) IAdd 101 49
103: 6(int) Load 8(iid)
104: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 103 37
105: 30(int) Load 104
106: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 102 37
Store 106 105
107: 6(int) Load 8(iid)
108: 6(int) IAdd 107 49
109: 6(int) Load 8(iid)
110: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 109 42
111: 30(int) Load 110
112: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 108 42
Store 112 111
113: 6(int) Load 8(iid)
114: 6(int) IAdd 113 49
115: 6(int) Load 8(iid)
116: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 115 43 31
117: 30(int) Load 116
118: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 114 43 31
Store 118 117
MemoryBarrier 49 50
ControlBarrier 51 51 50
124: 123(ptr) AccessChain 122(gl_PrimitiveIndicesNV) 31
Store 124 49
126: 123(ptr) AccessChain 122(gl_PrimitiveIndicesNV) 125
Store 126 51
Store 127(gl_PrimitiveCountNV) 119
Return
FunctionEnd
|