1spv.meshTaskShader.task
2// Module Version 10000
3// Generated by (magic number): 8000a
4// Id's are bound by 116
5
6                              Capability StorageImageWriteWithoutFormat
7                              Capability MeshShadingNV
8                              Extension  "SPV_NV_mesh_shader"
9               1:             ExtInstImport  "GLSL.std.450"
10                              MemoryModel Logical GLSL450
11                              EntryPoint TaskNV 4  "main" 11 17 24 25 90 113
12                              ExecutionMode 4 LocalSize 32 1 1
13                              Source GLSL 450
14                              SourceExtension  "GL_NV_mesh_shader"
15                              Name 4  "main"
16                              Name 8  "iid"
17                              Name 11  "gl_LocalInvocationID"
18                              Name 16  "gid"
19                              Name 17  "gl_WorkGroupID"
20                              Name 20  "viewID"
21                              Name 24  "gl_MeshViewIndicesNV"
22                              Name 25  "gl_MeshViewCountNV"
23                              Name 30  "i"
24                              Name 44  "mem"
25                              Name 47  "block0"
26                              MemberName 47(block0) 0  "uni_value"
27                              Name 49  ""
28                              Name 65  "uni_image"
29                              Name 88  "Task"
30                              MemberName 88(Task) 0  "dummy"
31                              MemberName 88(Task) 1  "submesh"
32                              MemberName 88(Task) 2  "viewID"
33                              Name 90  "mytask"
34                              Name 113  "gl_TaskCountNV"
35                              Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
36                              Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
37                              Decorate 24(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV
38                              Decorate 25(gl_MeshViewCountNV) BuiltIn MeshViewCountNV
39                              MemberDecorate 47(block0) 0 Offset 0
40                              Decorate 47(block0) Block
41                              Decorate 49 DescriptorSet 0
42                              Decorate 49 Binding 1
43                              Decorate 65(uni_image) DescriptorSet 0
44                              Decorate 65(uni_image) Binding 0
45                              Decorate 65(uni_image) NonReadable
46                              Decorate 87 ArrayStride 8
47                              MemberDecorate 88(Task) 0 PerTaskNV
48                              MemberDecorate 88(Task) 0 Offset 0
49                              MemberDecorate 88(Task) 1 PerTaskNV
50                              MemberDecorate 88(Task) 1 Offset 8
51                              MemberDecorate 88(Task) 2 PerTaskNV
52                              MemberDecorate 88(Task) 2 Offset 32
53                              Decorate 88(Task) Block
54                              Decorate 90(mytask) Location 0
55                              Decorate 113(gl_TaskCountNV) BuiltIn TaskCountNV
56                              Decorate 115 BuiltIn WorkgroupSize
57               2:             TypeVoid
58               3:             TypeFunction 2
59               6:             TypeInt 32 0
60               7:             TypePointer Function 6(int)
61               9:             TypeVector 6(int) 3
62              10:             TypePointer Input 9(ivec3)
6311(gl_LocalInvocationID):     10(ptr) Variable Input
64              12:      6(int) Constant 0
65              13:             TypePointer Input 6(int)
6617(gl_WorkGroupID):     10(ptr) Variable Input
67              21:      6(int) Constant 4
68              22:             TypeArray 6(int) 21
69              23:             TypePointer Input 22
7024(gl_MeshViewIndicesNV):     23(ptr) Variable Input
7125(gl_MeshViewCountNV):     13(ptr) Variable Input
72              37:      6(int) Constant 10
73              38:             TypeBool
74              40:             TypeFloat 32
75              41:             TypeVector 40(float) 4
76              42:             TypeArray 41(fvec4) 37
77              43:             TypePointer Workgroup 42
78         44(mem):     43(ptr) Variable Workgroup
79      47(block0):             TypeStruct 6(int)
80              48:             TypePointer Uniform 47(block0)
81              49:     48(ptr) Variable Uniform
82              50:             TypeInt 32 1
83              51:     50(int) Constant 0
84              52:             TypePointer Uniform 6(int)
85              58:             TypePointer Workgroup 41(fvec4)
86              61:     50(int) Constant 1
87              63:             TypeImage 40(float) 2D nonsampled format:Unknown
88              64:             TypePointer UniformConstant 63
89   65(uni_image):     64(ptr) Variable UniformConstant
90              69:             TypeVector 50(int) 2
91              79:      6(int) Constant 1
92              83:      6(int) Constant 264
93              84:      6(int) Constant 2
94              85:             TypeVector 40(float) 2
95              86:      6(int) Constant 3
96              87:             TypeArray 85(fvec2) 86
97        88(Task):             TypeStruct 85(fvec2) 87 6(int)
98              89:             TypePointer Output 88(Task)
99      90(mytask):     89(ptr) Variable Output
100              91:   40(float) Constant 1106247680
101              92:   40(float) Constant 1106771968
102              93:   85(fvec2) ConstantComposite 91 92
103              94:             TypePointer Output 85(fvec2)
104              96:   40(float) Constant 1107296256
105              97:   40(float) Constant 1107558400
106              98:   85(fvec2) ConstantComposite 96 97
107             100:   40(float) Constant 1107820544
108             101:   40(float) Constant 1108082688
109             102:   85(fvec2) ConstantComposite 100 101
110             104:     50(int) Constant 2
111             111:             TypePointer Output 6(int)
112113(gl_TaskCountNV):    111(ptr) Variable Output
113             114:      6(int) Constant 32
114             115:    9(ivec3) ConstantComposite 114 79 79
115         4(main):           2 Function None 3
116               5:             Label
117          8(iid):      7(ptr) Variable Function
118         16(gid):      7(ptr) Variable Function
119      20(viewID):      7(ptr) Variable Function
120           30(i):      7(ptr) Variable Function
121              14:     13(ptr) AccessChain 11(gl_LocalInvocationID) 12
122              15:      6(int) Load 14
123                              Store 8(iid) 15
124              18:     13(ptr) AccessChain 17(gl_WorkGroupID) 12
125              19:      6(int) Load 18
126                              Store 16(gid) 19
127              26:      6(int) Load 25(gl_MeshViewCountNV)
128              27:      6(int) UMod 26 21
129              28:     13(ptr) AccessChain 24(gl_MeshViewIndicesNV) 27
130              29:      6(int) Load 28
131                              Store 20(viewID) 29
132                              Store 30(i) 12
133                              Branch 31
134              31:             Label
135                              LoopMerge 33 34 None
136                              Branch 35
137              35:             Label
138              36:      6(int) Load 30(i)
139              39:    38(bool) ULessThan 36 37
140                              BranchConditional 39 32 33
141              32:               Label
142              45:      6(int)   Load 30(i)
143              46:      6(int)   Load 30(i)
144              53:     52(ptr)   AccessChain 49 51
145              54:      6(int)   Load 53
146              55:      6(int)   IAdd 46 54
147              56:   40(float)   ConvertUToF 55
148              57:   41(fvec4)   CompositeConstruct 56 56 56 56
149              59:     58(ptr)   AccessChain 44(mem) 45
150                                Store 59 57
151                                Branch 34
152              34:               Label
153              60:      6(int)   Load 30(i)
154              62:      6(int)   IAdd 60 61
155                                Store 30(i) 62
156                                Branch 31
157              33:             Label
158              66:          63 Load 65(uni_image)
159              67:      6(int) Load 8(iid)
160              68:     50(int) Bitcast 67
161              70:   69(ivec2) CompositeConstruct 68 68
162              71:      6(int) Load 16(gid)
163              72:     58(ptr) AccessChain 44(mem) 71
164              73:   41(fvec4) Load 72
165                              ImageWrite 66 70 73
166              74:          63 Load 65(uni_image)
167              75:      6(int) Load 8(iid)
168              76:     50(int) Bitcast 75
169              77:   69(ivec2) CompositeConstruct 76 76
170              78:      6(int) Load 16(gid)
171              80:      6(int) IAdd 78 79
172              81:     58(ptr) AccessChain 44(mem) 80
173              82:   41(fvec4) Load 81
174                              ImageWrite 74 77 82
175                              MemoryBarrier 79 83
176                              ControlBarrier 84 84 83
177              95:     94(ptr) AccessChain 90(mytask) 51
178                              Store 95 93
179              99:     94(ptr) AccessChain 90(mytask) 61 51
180                              Store 99 98
181             103:     94(ptr) AccessChain 90(mytask) 61 61
182                              Store 103 102
183             105:      6(int) Load 16(gid)
184             106:      6(int) UMod 105 84
185             107:     94(ptr) AccessChain 90(mytask) 61 106
186             108:   85(fvec2) Load 107
187             109:     94(ptr) AccessChain 90(mytask) 61 104
188                              Store 109 108
189             110:      6(int) Load 20(viewID)
190             112:    111(ptr) AccessChain 90(mytask) 104
191                              Store 112 110
192                              MemoryBarrier 79 83
193                              ControlBarrier 84 84 83
194                              Store 113(gl_TaskCountNV) 86
195                              Return
196                              FunctionEnd
197