blob: a331a471d4b6af646b2a44c36f2c018e0918928c (
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.ext.meshShaderRedeclBuiltins.mesh
// Module Version 10400
// Generated by (magic number): 8000b
// Id's are bound by 128
Capability ClipDistance
Capability CullDistance
Capability FragmentShadingRateKHR
Capability MeshShadingEXT
Extension "SPV_EXT_mesh_shader"
Extension "SPV_KHR_fragment_shading_rate"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint MeshEXT 4 "main" 11 17 29 81 122
ExecutionMode 4 LocalSize 32 1 1
ExecutionMode 4 OutputVertices 81
ExecutionMode 4 OutputPrimitivesNV 32
ExecutionMode 4 OutputPoints
Source GLSL 460
SourceExtension "GL_EXT_mesh_shader"
Name 4 "main"
Name 8 "iid"
Name 11 "gl_LocalInvocationID"
Name 16 "gid"
Name 17 "gl_WorkGroupID"
Name 26 "gl_MeshPerVertexEXT"
MemberName 26(gl_MeshPerVertexEXT) 0 "gl_Position"
MemberName 26(gl_MeshPerVertexEXT) 1 "gl_PointSize"
MemberName 26(gl_MeshPerVertexEXT) 2 "gl_ClipDistance"
MemberName 26(gl_MeshPerVertexEXT) 3 "gl_CullDistance"
Name 29 "gl_MeshVerticesEXT"
Name 78 "gl_MeshPerPrimitiveEXT"
MemberName 78(gl_MeshPerPrimitiveEXT) 0 "gl_PrimitiveID"
MemberName 78(gl_MeshPerPrimitiveEXT) 1 "gl_Layer"
MemberName 78(gl_MeshPerPrimitiveEXT) 2 "gl_ViewportIndex"
MemberName 78(gl_MeshPerPrimitiveEXT) 3 "gl_CullPrimitiveEXT"
MemberName 78(gl_MeshPerPrimitiveEXT) 4 "gl_PrimitiveShadingRateEXT"
Name 81 "gl_MeshPrimitivesEXT"
Name 122 "gl_PrimitivePointIndicesEXT"
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
MemberDecorate 26(gl_MeshPerVertexEXT) 0 BuiltIn Position
MemberDecorate 26(gl_MeshPerVertexEXT) 1 BuiltIn PointSize
MemberDecorate 26(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance
MemberDecorate 26(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance
Decorate 26(gl_MeshPerVertexEXT) Block
MemberDecorate 78(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV
MemberDecorate 78(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId
MemberDecorate 78(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV
MemberDecorate 78(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer
MemberDecorate 78(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV
MemberDecorate 78(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex
MemberDecorate 78(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV
MemberDecorate 78(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT
MemberDecorate 78(gl_MeshPerPrimitiveEXT) 4 PerPrimitiveNV
MemberDecorate 78(gl_MeshPerPrimitiveEXT) 4 BuiltIn PrimitiveShadingRateKHR
Decorate 78(gl_MeshPerPrimitiveEXT) Block
Decorate 122(gl_PrimitivePointIndicesEXT) BuiltIn PrimitivePointIndicesEXT
Decorate 127 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: 6(int) Constant 81
21: 6(int) Constant 32
22: TypeFloat 32
23: TypeVector 22(float) 4
24: 6(int) Constant 4
25: TypeArray 22(float) 24
26(gl_MeshPerVertexEXT): TypeStruct 23(fvec4) 22(float) 25 25
27: TypeArray 26(gl_MeshPerVertexEXT) 20
28: TypePointer Output 27
29(gl_MeshVerticesEXT): 28(ptr) Variable Output
31: TypeInt 32 1
32: 31(int) Constant 0
33: 22(float) Constant 1065353216
34: 23(fvec4) ConstantComposite 33 33 33 33
35: TypePointer Output 23(fvec4)
38: 31(int) Constant 1
39: 22(float) Constant 1073741824
40: TypePointer Output 22(float)
43: 31(int) Constant 2
44: 31(int) Constant 3
45: 22(float) Constant 1077936128
48: 22(float) Constant 1082130432
50: 6(int) Constant 1
51: 6(int) Constant 264
52: 6(int) Constant 2
77: TypeBool
78(gl_MeshPerPrimitiveEXT): TypeStruct 31(int) 31(int) 31(int) 77(bool) 31(int)
79: TypeArray 78(gl_MeshPerPrimitiveEXT) 21
80: TypePointer Output 79
81(gl_MeshPrimitivesEXT): 80(ptr) Variable Output
83: 31(int) Constant 6
84: TypePointer Output 31(int)
87: 31(int) Constant 7
90: 31(int) Constant 8
93: 77(bool) ConstantFalse
94: TypePointer Output 77(bool)
120: TypeArray 6(int) 21
121: TypePointer Output 120
122(gl_PrimitivePointIndicesEXT): 121(ptr) Variable Output
123: TypePointer Output 6(int)
125: 31(int) Constant 31
127: 9(ivec3) ConstantComposite 21 50 50
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
SetMeshOutputsEXT 20 21
30: 6(int) Load 8(iid)
36: 35(ptr) AccessChain 29(gl_MeshVerticesEXT) 30 32
Store 36 34
37: 6(int) Load 8(iid)
41: 40(ptr) AccessChain 29(gl_MeshVerticesEXT) 37 38
Store 41 39
42: 6(int) Load 8(iid)
46: 40(ptr) AccessChain 29(gl_MeshVerticesEXT) 42 43 44
Store 46 45
47: 6(int) Load 8(iid)
49: 40(ptr) AccessChain 29(gl_MeshVerticesEXT) 47 44 43
Store 49 48
MemoryBarrier 50 51
ControlBarrier 52 52 51
53: 6(int) Load 8(iid)
54: 6(int) IAdd 53 50
55: 6(int) Load 8(iid)
56: 35(ptr) AccessChain 29(gl_MeshVerticesEXT) 55 32
57: 23(fvec4) Load 56
58: 35(ptr) AccessChain 29(gl_MeshVerticesEXT) 54 32
Store 58 57
59: 6(int) Load 8(iid)
60: 6(int) IAdd 59 50
61: 6(int) Load 8(iid)
62: 40(ptr) AccessChain 29(gl_MeshVerticesEXT) 61 38
63: 22(float) Load 62
64: 40(ptr) AccessChain 29(gl_MeshVerticesEXT) 60 38
Store 64 63
65: 6(int) Load 8(iid)
66: 6(int) IAdd 65 50
67: 6(int) Load 8(iid)
68: 40(ptr) AccessChain 29(gl_MeshVerticesEXT) 67 43 44
69: 22(float) Load 68
70: 40(ptr) AccessChain 29(gl_MeshVerticesEXT) 66 43 44
Store 70 69
71: 6(int) Load 8(iid)
72: 6(int) IAdd 71 50
73: 6(int) Load 8(iid)
74: 40(ptr) AccessChain 29(gl_MeshVerticesEXT) 73 44 43
75: 22(float) Load 74
76: 40(ptr) AccessChain 29(gl_MeshVerticesEXT) 72 44 43
Store 76 75
MemoryBarrier 50 51
ControlBarrier 52 52 51
82: 6(int) Load 8(iid)
85: 84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 82 32
Store 85 83
86: 6(int) Load 8(iid)
88: 84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 86 38
Store 88 87
89: 6(int) Load 8(iid)
91: 84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 89 43
Store 91 90
92: 6(int) Load 8(iid)
95: 94(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 92 44
Store 95 93
MemoryBarrier 50 51
ControlBarrier 52 52 51
96: 6(int) Load 8(iid)
97: 6(int) IAdd 96 50
98: 6(int) Load 8(iid)
99: 84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 98 32
100: 31(int) Load 99
101: 84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 97 32
Store 101 100
102: 6(int) Load 8(iid)
103: 6(int) IAdd 102 50
104: 6(int) Load 8(iid)
105: 84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 104 38
106: 31(int) Load 105
107: 84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 103 38
Store 107 106
108: 6(int) Load 8(iid)
109: 6(int) IAdd 108 50
110: 6(int) Load 8(iid)
111: 84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 110 43
112: 31(int) Load 111
113: 84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 109 43
Store 113 112
114: 6(int) Load 8(iid)
115: 6(int) IAdd 114 50
116: 6(int) Load 8(iid)
117: 94(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 116 44
118: 77(bool) Load 117
119: 94(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 115 44
Store 119 118
MemoryBarrier 50 51
ControlBarrier 52 52 51
124: 123(ptr) AccessChain 122(gl_PrimitivePointIndicesEXT) 32
Store 124 50
126: 123(ptr) AccessChain 122(gl_PrimitivePointIndicesEXT) 125
Store 126 52
Return
FunctionEnd
|