blob: 9fed1915a765999c9178b33efcd209b85bc6fdf6 (
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
|
spv.meshTaskShader.task
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 116
Capability StorageImageWriteWithoutFormat
Capability MeshShadingNV
Extension "SPV_NV_mesh_shader"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint TaskNV 4 "main" 11 17 24 25 90 113
ExecutionMode 4 LocalSize 32 1 1
Source GLSL 450
SourceExtension "GL_NV_mesh_shader"
Name 4 "main"
Name 8 "iid"
Name 11 "gl_LocalInvocationID"
Name 16 "gid"
Name 17 "gl_WorkGroupID"
Name 20 "viewID"
Name 24 "gl_MeshViewIndicesNV"
Name 25 "gl_MeshViewCountNV"
Name 30 "i"
Name 44 "mem"
Name 47 "block0"
MemberName 47(block0) 0 "uni_value"
Name 49 ""
Name 65 "uni_image"
Name 88 "Task"
MemberName 88(Task) 0 "dummy"
MemberName 88(Task) 1 "submesh"
MemberName 88(Task) 2 "viewID"
Name 90 "mytask"
Name 113 "gl_TaskCountNV"
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
Decorate 24(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV
Decorate 25(gl_MeshViewCountNV) BuiltIn MeshViewCountNV
MemberDecorate 47(block0) 0 Offset 0
Decorate 47(block0) Block
Decorate 49 DescriptorSet 0
Decorate 49 Binding 1
Decorate 65(uni_image) DescriptorSet 0
Decorate 65(uni_image) Binding 0
Decorate 65(uni_image) NonReadable
Decorate 87 ArrayStride 8
MemberDecorate 88(Task) 0 PerTaskNV
MemberDecorate 88(Task) 0 Offset 0
MemberDecorate 88(Task) 1 PerTaskNV
MemberDecorate 88(Task) 1 Offset 8
MemberDecorate 88(Task) 2 PerTaskNV
MemberDecorate 88(Task) 2 Offset 32
Decorate 88(Task) Block
Decorate 90(mytask) Location 0
Decorate 113(gl_TaskCountNV) BuiltIn TaskCountNV
Decorate 115 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
21: 6(int) Constant 4
22: TypeArray 6(int) 21
23: TypePointer Input 22
24(gl_MeshViewIndicesNV): 23(ptr) Variable Input
25(gl_MeshViewCountNV): 13(ptr) Variable Input
37: 6(int) Constant 10
38: TypeBool
40: TypeFloat 32
41: TypeVector 40(float) 4
42: TypeArray 41(fvec4) 37
43: TypePointer Workgroup 42
44(mem): 43(ptr) Variable Workgroup
47(block0): TypeStruct 6(int)
48: TypePointer Uniform 47(block0)
49: 48(ptr) Variable Uniform
50: TypeInt 32 1
51: 50(int) Constant 0
52: TypePointer Uniform 6(int)
58: TypePointer Workgroup 41(fvec4)
61: 50(int) Constant 1
63: TypeImage 40(float) 2D nonsampled format:Unknown
64: TypePointer UniformConstant 63
65(uni_image): 64(ptr) Variable UniformConstant
69: TypeVector 50(int) 2
79: 6(int) Constant 1
83: 6(int) Constant 264
84: 6(int) Constant 2
85: TypeVector 40(float) 2
86: 6(int) Constant 3
87: TypeArray 85(fvec2) 86
88(Task): TypeStruct 85(fvec2) 87 6(int)
89: TypePointer Output 88(Task)
90(mytask): 89(ptr) Variable Output
91: 40(float) Constant 1106247680
92: 40(float) Constant 1106771968
93: 85(fvec2) ConstantComposite 91 92
94: TypePointer Output 85(fvec2)
96: 40(float) Constant 1107296256
97: 40(float) Constant 1107558400
98: 85(fvec2) ConstantComposite 96 97
100: 40(float) Constant 1107820544
101: 40(float) Constant 1108082688
102: 85(fvec2) ConstantComposite 100 101
104: 50(int) Constant 2
111: TypePointer Output 6(int)
113(gl_TaskCountNV): 111(ptr) Variable Output
114: 6(int) Constant 32
115: 9(ivec3) ConstantComposite 114 79 79
4(main): 2 Function None 3
5: Label
8(iid): 7(ptr) Variable Function
16(gid): 7(ptr) Variable Function
20(viewID): 7(ptr) Variable Function
30(i): 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
26: 6(int) Load 25(gl_MeshViewCountNV)
27: 6(int) UMod 26 21
28: 13(ptr) AccessChain 24(gl_MeshViewIndicesNV) 27
29: 6(int) Load 28
Store 20(viewID) 29
Store 30(i) 12
Branch 31
31: Label
LoopMerge 33 34 None
Branch 35
35: Label
36: 6(int) Load 30(i)
39: 38(bool) ULessThan 36 37
BranchConditional 39 32 33
32: Label
45: 6(int) Load 30(i)
46: 6(int) Load 30(i)
53: 52(ptr) AccessChain 49 51
54: 6(int) Load 53
55: 6(int) IAdd 46 54
56: 40(float) ConvertUToF 55
57: 41(fvec4) CompositeConstruct 56 56 56 56
59: 58(ptr) AccessChain 44(mem) 45
Store 59 57
Branch 34
34: Label
60: 6(int) Load 30(i)
62: 6(int) IAdd 60 61
Store 30(i) 62
Branch 31
33: Label
66: 63 Load 65(uni_image)
67: 6(int) Load 8(iid)
68: 50(int) Bitcast 67
70: 69(ivec2) CompositeConstruct 68 68
71: 6(int) Load 16(gid)
72: 58(ptr) AccessChain 44(mem) 71
73: 41(fvec4) Load 72
ImageWrite 66 70 73
74: 63 Load 65(uni_image)
75: 6(int) Load 8(iid)
76: 50(int) Bitcast 75
77: 69(ivec2) CompositeConstruct 76 76
78: 6(int) Load 16(gid)
80: 6(int) IAdd 78 79
81: 58(ptr) AccessChain 44(mem) 80
82: 41(fvec4) Load 81
ImageWrite 74 77 82
MemoryBarrier 79 83
ControlBarrier 84 84 83
95: 94(ptr) AccessChain 90(mytask) 51
Store 95 93
99: 94(ptr) AccessChain 90(mytask) 61 51
Store 99 98
103: 94(ptr) AccessChain 90(mytask) 61 61
Store 103 102
105: 6(int) Load 16(gid)
106: 6(int) UMod 105 84
107: 94(ptr) AccessChain 90(mytask) 61 106
108: 85(fvec2) Load 107
109: 94(ptr) AccessChain 90(mytask) 61 104
Store 109 108
110: 6(int) Load 20(viewID)
112: 111(ptr) AccessChain 90(mytask) 104
Store 112 110
MemoryBarrier 79 83
ControlBarrier 84 84 83
Store 113(gl_TaskCountNV) 86
Return
FunctionEnd
|