
This implements a new nonunifom analysis suggested by @jbolz. This change generates nonUniform decorations that were previously missing and avoids generation of incorrect decorations. Most notably, it now generates decorations for nonuniform functions and out params. It avoids generating decorations for lvalues which themselves are not nonuniform.
506 lines
27 KiB
Plaintext
506 lines
27 KiB
Plaintext
spv.nonuniform.frag
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000a
|
|
// Id's are bound by 289
|
|
|
|
Capability Shader
|
|
Capability InputAttachment
|
|
Capability SampledBuffer
|
|
Capability ImageBuffer
|
|
Capability ShaderNonUniformEXT
|
|
Capability RuntimeDescriptorArrayEXT
|
|
Capability InputAttachmentArrayDynamicIndexingEXT
|
|
Capability UniformTexelBufferArrayDynamicIndexingEXT
|
|
Capability StorageTexelBufferArrayDynamicIndexingEXT
|
|
Capability UniformBufferArrayNonUniformIndexingEXT
|
|
Capability SampledImageArrayNonUniformIndexingEXT
|
|
Capability StorageBufferArrayNonUniformIndexingEXT
|
|
Capability StorageImageArrayNonUniformIndexingEXT
|
|
Capability InputAttachmentArrayNonUniformIndexingEXT
|
|
Capability UniformTexelBufferArrayNonUniformIndexingEXT
|
|
Capability StorageTexelBufferArrayNonUniformIndexingEXT
|
|
Extension "SPV_EXT_descriptor_indexing"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 41 98 188
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source GLSL 450
|
|
SourceExtension "GL_EXT_nonuniform_qualifier"
|
|
Name 4 "main"
|
|
Name 11 "foo(i1;i1;"
|
|
Name 9 "nupi"
|
|
Name 10 "f"
|
|
Name 16 "a"
|
|
Name 17 "nu_li"
|
|
Name 18 "param"
|
|
Name 20 "param"
|
|
Name 30 "nu_li2"
|
|
Name 38 "b"
|
|
Name 41 "nu_inv4"
|
|
Name 47 "nu_gf"
|
|
Name 53 "inputAttachmentDyn"
|
|
Name 54 "dyn_i"
|
|
Name 70 "uniformTexelBufferDyn"
|
|
Name 84 "storageTexelBufferDyn"
|
|
Name 93 "uname"
|
|
MemberName 93(uname) 0 "a"
|
|
Name 96 "uniformBuffer"
|
|
Name 98 "nu_ii"
|
|
Name 105 "bname"
|
|
MemberName 105(bname) 0 "b"
|
|
Name 108 "storageBuffer"
|
|
Name 118 "sampledImage"
|
|
Name 133 "storageImage"
|
|
Name 145 "inputAttachment"
|
|
Name 155 "uniformTexelBuffer"
|
|
Name 166 "storageTexelBuffer"
|
|
Name 177 "uniformTexArr"
|
|
Name 184 "uniformSampler"
|
|
Name 188 "inTexcoord"
|
|
Name 207 "v"
|
|
Name 222 "uv"
|
|
Name 232 "m"
|
|
Name 240 "S"
|
|
MemberName 240(S) 0 "a"
|
|
Name 242 "s"
|
|
Name 252 "arr"
|
|
Name 259 "um"
|
|
Name 268 "US"
|
|
MemberName 268(US) 0 "a"
|
|
Name 270 "us"
|
|
Name 278 "uarr"
|
|
Decorate 13 DecorationNonUniformEXT
|
|
Decorate 19 DecorationNonUniformEXT
|
|
Decorate 21 DecorationNonUniformEXT
|
|
Decorate 22 DecorationNonUniformEXT
|
|
Decorate 24 DecorationNonUniformEXT
|
|
Decorate 28 DecorationNonUniformEXT
|
|
Decorate 29 DecorationNonUniformEXT
|
|
Decorate 34 DecorationNonUniformEXT
|
|
Decorate 35 DecorationNonUniformEXT
|
|
Decorate 41(nu_inv4) Location 0
|
|
Decorate 46 DecorationNonUniformEXT
|
|
Decorate 48 DecorationNonUniformEXT
|
|
Decorate 49 DecorationNonUniformEXT
|
|
Decorate 53(inputAttachmentDyn) DescriptorSet 0
|
|
Decorate 53(inputAttachmentDyn) Binding 0
|
|
Decorate 53(inputAttachmentDyn) InputAttachmentIndex 0
|
|
Decorate 70(uniformTexelBufferDyn) DescriptorSet 0
|
|
Decorate 70(uniformTexelBufferDyn) Binding 1
|
|
Decorate 84(storageTexelBufferDyn) DescriptorSet 0
|
|
Decorate 84(storageTexelBufferDyn) Binding 2
|
|
MemberDecorate 93(uname) 0 Offset 0
|
|
Decorate 93(uname) Block
|
|
Decorate 96(uniformBuffer) DescriptorSet 0
|
|
Decorate 96(uniformBuffer) Binding 3
|
|
Decorate 98(nu_ii) Flat
|
|
Decorate 98(nu_ii) Location 1
|
|
Decorate 99 DecorationNonUniformEXT
|
|
Decorate 101 DecorationNonUniformEXT
|
|
Decorate 102 DecorationNonUniformEXT
|
|
Decorate 104 DecorationNonUniformEXT
|
|
MemberDecorate 105(bname) 0 Offset 0
|
|
Decorate 105(bname) BufferBlock
|
|
Decorate 108(storageBuffer) DescriptorSet 0
|
|
Decorate 108(storageBuffer) Binding 4
|
|
Decorate 109 DecorationNonUniformEXT
|
|
Decorate 110 DecorationNonUniformEXT
|
|
Decorate 111 DecorationNonUniformEXT
|
|
Decorate 113 DecorationNonUniformEXT
|
|
Decorate 118(sampledImage) DescriptorSet 0
|
|
Decorate 118(sampledImage) Binding 5
|
|
Decorate 119 DecorationNonUniformEXT
|
|
Decorate 121 DecorationNonUniformEXT
|
|
Decorate 122 DecorationNonUniformEXT
|
|
Decorate 133(storageImage) DescriptorSet 0
|
|
Decorate 133(storageImage) Binding 6
|
|
Decorate 134 DecorationNonUniformEXT
|
|
Decorate 136 DecorationNonUniformEXT
|
|
Decorate 137 DecorationNonUniformEXT
|
|
Decorate 145(inputAttachment) DescriptorSet 0
|
|
Decorate 145(inputAttachment) Binding 7
|
|
Decorate 145(inputAttachment) InputAttachmentIndex 1
|
|
Decorate 146 DecorationNonUniformEXT
|
|
Decorate 147 DecorationNonUniformEXT
|
|
Decorate 148 DecorationNonUniformEXT
|
|
Decorate 155(uniformTexelBuffer) DescriptorSet 0
|
|
Decorate 155(uniformTexelBuffer) Binding 8
|
|
Decorate 156 DecorationNonUniformEXT
|
|
Decorate 157 DecorationNonUniformEXT
|
|
Decorate 158 DecorationNonUniformEXT
|
|
Decorate 159 DecorationNonUniformEXT
|
|
Decorate 166(storageTexelBuffer) DescriptorSet 0
|
|
Decorate 166(storageTexelBuffer) Binding 9
|
|
Decorate 167 DecorationNonUniformEXT
|
|
Decorate 168 DecorationNonUniformEXT
|
|
Decorate 169 DecorationNonUniformEXT
|
|
Decorate 177(uniformTexArr) DescriptorSet 0
|
|
Decorate 177(uniformTexArr) Binding 10
|
|
Decorate 178 DecorationNonUniformEXT
|
|
Decorate 180 DecorationNonUniformEXT
|
|
Decorate 181 DecorationNonUniformEXT
|
|
Decorate 184(uniformSampler) DescriptorSet 0
|
|
Decorate 184(uniformSampler) Binding 11
|
|
Decorate 188(inTexcoord) Location 2
|
|
Decorate 194 DecorationNonUniformEXT
|
|
Decorate 195 DecorationNonUniformEXT
|
|
Decorate 196 DecorationNonUniformEXT
|
|
Decorate 199 DecorationNonUniformEXT
|
|
Decorate 210 DecorationNonUniformEXT
|
|
Decorate 211 DecorationNonUniformEXT
|
|
Decorate 212 DecorationNonUniformEXT
|
|
Decorate 214 DecorationNonUniformEXT
|
|
Decorate 217 DecorationNonUniformEXT
|
|
Decorate 218 DecorationNonUniformEXT
|
|
Decorate 219 DecorationNonUniformEXT
|
|
Decorate 221 DecorationNonUniformEXT
|
|
Decorate 223 DecorationNonUniformEXT
|
|
Decorate 224 DecorationNonUniformEXT
|
|
Decorate 225 DecorationNonUniformEXT
|
|
Decorate 226 DecorationNonUniformEXT
|
|
Decorate 227 DecorationNonUniformEXT
|
|
Decorate 229 DecorationNonUniformEXT
|
|
Decorate 234 DecorationNonUniformEXT
|
|
Decorate 244 DecorationNonUniformEXT
|
|
Decorate 245 DecorationNonUniformEXT
|
|
Decorate 246 DecorationNonUniformEXT
|
|
Decorate 248 DecorationNonUniformEXT
|
|
Decorate 254 DecorationNonUniformEXT
|
|
Decorate 255 DecorationNonUniformEXT
|
|
Decorate 256 DecorationNonUniformEXT
|
|
Decorate 258 DecorationNonUniformEXT
|
|
Decorate 260 DecorationNonUniformEXT
|
|
Decorate 261 DecorationNonUniformEXT
|
|
Decorate 262 DecorationNonUniformEXT
|
|
Decorate 271 DecorationNonUniformEXT
|
|
Decorate 272 DecorationNonUniformEXT
|
|
Decorate 273 DecorationNonUniformEXT
|
|
Decorate 274 DecorationNonUniformEXT
|
|
Decorate 275 DecorationNonUniformEXT
|
|
Decorate 277 DecorationNonUniformEXT
|
|
Decorate 279 DecorationNonUniformEXT
|
|
Decorate 280 DecorationNonUniformEXT
|
|
Decorate 281 DecorationNonUniformEXT
|
|
Decorate 282 DecorationNonUniformEXT
|
|
Decorate 283 DecorationNonUniformEXT
|
|
Decorate 285 DecorationNonUniformEXT
|
|
Decorate 286 DecorationNonUniformEXT
|
|
Decorate 288 DecorationNonUniformEXT
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 1
|
|
7: TypePointer Function 6(int)
|
|
8: TypeFunction 6(int) 7(ptr) 7(ptr)
|
|
26: 6(int) Constant 2
|
|
36: TypeFloat 32
|
|
37: TypePointer Function 36(float)
|
|
39: TypeVector 36(float) 4
|
|
40: TypePointer Input 39(fvec4)
|
|
41(nu_inv4): 40(ptr) Variable Input
|
|
42: TypeInt 32 0
|
|
43: 42(int) Constant 0
|
|
44: TypePointer Input 36(float)
|
|
50: TypeImage 36(float) SubpassData nonsampled format:Unknown
|
|
51: TypeRuntimeArray 50
|
|
52: TypePointer UniformConstant 51
|
|
53(inputAttachmentDyn): 52(ptr) Variable UniformConstant
|
|
56: TypePointer UniformConstant 50
|
|
59: 6(int) Constant 0
|
|
60: TypeVector 6(int) 2
|
|
61: 60(ivec2) ConstantComposite 59 59
|
|
66: TypeImage 36(float) Buffer sampled format:Unknown
|
|
67: TypeSampledImage 66
|
|
68: TypeRuntimeArray 67
|
|
69: TypePointer UniformConstant 68
|
|
70(uniformTexelBufferDyn): 69(ptr) Variable UniformConstant
|
|
72: TypePointer UniformConstant 67
|
|
75: 6(int) Constant 1
|
|
81: TypeImage 36(float) Buffer nonsampled format:R32f
|
|
82: TypeRuntimeArray 81
|
|
83: TypePointer UniformConstant 82
|
|
84(storageTexelBufferDyn): 83(ptr) Variable UniformConstant
|
|
86: TypePointer UniformConstant 81
|
|
93(uname): TypeStruct 36(float)
|
|
94: TypeRuntimeArray 93(uname)
|
|
95: TypePointer Uniform 94
|
|
96(uniformBuffer): 95(ptr) Variable Uniform
|
|
97: TypePointer Input 6(int)
|
|
98(nu_ii): 97(ptr) Variable Input
|
|
100: TypePointer Uniform 36(float)
|
|
105(bname): TypeStruct 36(float)
|
|
106: TypeRuntimeArray 105(bname)
|
|
107: TypePointer Uniform 106
|
|
108(storageBuffer): 107(ptr) Variable Uniform
|
|
114: TypeImage 36(float) 2D sampled format:Unknown
|
|
115: TypeSampledImage 114
|
|
116: TypeRuntimeArray 115
|
|
117: TypePointer UniformConstant 116
|
|
118(sampledImage): 117(ptr) Variable UniformConstant
|
|
120: TypePointer UniformConstant 115
|
|
123: TypeVector 36(float) 2
|
|
124: 36(float) Constant 1056964608
|
|
125: 123(fvec2) ConstantComposite 124 124
|
|
130: TypeImage 36(float) 2D nonsampled format:R32f
|
|
131: TypeRuntimeArray 130
|
|
132: TypePointer UniformConstant 131
|
|
133(storageImage): 132(ptr) Variable UniformConstant
|
|
135: TypePointer UniformConstant 130
|
|
138: 60(ivec2) ConstantComposite 75 75
|
|
143: TypeRuntimeArray 50
|
|
144: TypePointer UniformConstant 143
|
|
145(inputAttachment): 144(ptr) Variable UniformConstant
|
|
153: TypeRuntimeArray 67
|
|
154: TypePointer UniformConstant 153
|
|
155(uniformTexelBuffer): 154(ptr) Variable UniformConstant
|
|
164: TypeRuntimeArray 81
|
|
165: TypePointer UniformConstant 164
|
|
166(storageTexelBuffer): 165(ptr) Variable UniformConstant
|
|
174: 42(int) Constant 8
|
|
175: TypeArray 114 174
|
|
176: TypePointer UniformConstant 175
|
|
177(uniformTexArr): 176(ptr) Variable UniformConstant
|
|
179: TypePointer UniformConstant 114
|
|
182: TypeSampler
|
|
183: TypePointer UniformConstant 182
|
|
184(uniformSampler): 183(ptr) Variable UniformConstant
|
|
187: TypePointer Input 123(fvec2)
|
|
188(inTexcoord): 187(ptr) Variable Input
|
|
205: TypeVector 6(int) 4
|
|
206: TypePointer Function 205(ivec4)
|
|
208: 42(int) Constant 1
|
|
215: 42(int) Constant 2
|
|
230: TypeMatrix 39(fvec4) 4
|
|
231: TypePointer Function 230
|
|
240(S): TypeStruct 6(int)
|
|
241: TypePointer Function 240(S)
|
|
249: 42(int) Constant 10
|
|
250: TypeArray 6(int) 249
|
|
251: TypePointer Function 250
|
|
268(US): TypeStruct 250
|
|
269: TypePointer Function 268(US)
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
16(a): 7(ptr) Variable Function
|
|
17(nu_li): 7(ptr) Variable Function
|
|
18(param): 7(ptr) Variable Function
|
|
20(param): 7(ptr) Variable Function
|
|
30(nu_li2): 7(ptr) Variable Function
|
|
38(b): 37(ptr) Variable Function
|
|
47(nu_gf): 37(ptr) Variable Function
|
|
54(dyn_i): 7(ptr) Variable Function
|
|
207(v): 206(ptr) Variable Function
|
|
222(uv): 206(ptr) Variable Function
|
|
232(m): 231(ptr) Variable Function
|
|
242(s): 241(ptr) Variable Function
|
|
252(arr): 251(ptr) Variable Function
|
|
259(um): 231(ptr) Variable Function
|
|
270(us): 269(ptr) Variable Function
|
|
278(uarr): 251(ptr) Variable Function
|
|
19: 6(int) Load 17(nu_li)
|
|
Store 18(param) 19
|
|
21: 6(int) FunctionCall 11(foo(i1;i1;) 18(param) 20(param)
|
|
22: 6(int) Load 20(param)
|
|
Store 17(nu_li) 22
|
|
Store 16(a) 21
|
|
23: 6(int) Load 16(a)
|
|
24: 6(int) CopyObject 23
|
|
25: 6(int) Load 16(a)
|
|
27: 6(int) IMul 25 26
|
|
28: 6(int) CopyObject 27
|
|
29: 6(int) IAdd 24 28
|
|
Store 17(nu_li) 29
|
|
31: 6(int) Load 16(a)
|
|
32: 6(int) Load 16(a)
|
|
33: 6(int) IMul 32 26
|
|
34: 6(int) CopyObject 33
|
|
35: 6(int) IAdd 31 34
|
|
Store 30(nu_li2) 35
|
|
45: 44(ptr) AccessChain 41(nu_inv4) 43
|
|
46: 36(float) Load 45
|
|
48: 36(float) Load 47(nu_gf)
|
|
49: 36(float) FMul 46 48
|
|
Store 38(b) 49
|
|
55: 6(int) Load 54(dyn_i)
|
|
57: 56(ptr) AccessChain 53(inputAttachmentDyn) 55
|
|
58: 50 Load 57
|
|
62: 39(fvec4) ImageRead 58 61
|
|
63: 36(float) CompositeExtract 62 0
|
|
64: 36(float) Load 38(b)
|
|
65: 36(float) FAdd 64 63
|
|
Store 38(b) 65
|
|
71: 6(int) Load 54(dyn_i)
|
|
73: 72(ptr) AccessChain 70(uniformTexelBufferDyn) 71
|
|
74: 67 Load 73
|
|
76: 66 Image 74
|
|
77: 39(fvec4) ImageFetch 76 75
|
|
78: 36(float) CompositeExtract 77 0
|
|
79: 36(float) Load 38(b)
|
|
80: 36(float) FAdd 79 78
|
|
Store 38(b) 80
|
|
85: 6(int) Load 54(dyn_i)
|
|
87: 86(ptr) AccessChain 84(storageTexelBufferDyn) 85
|
|
88: 81 Load 87
|
|
89: 39(fvec4) ImageRead 88 75
|
|
90: 36(float) CompositeExtract 89 0
|
|
91: 36(float) Load 38(b)
|
|
92: 36(float) FAdd 91 90
|
|
Store 38(b) 92
|
|
99: 6(int) Load 98(nu_ii)
|
|
101: 100(ptr) AccessChain 96(uniformBuffer) 99 59
|
|
102: 36(float) Load 101
|
|
103: 36(float) Load 38(b)
|
|
104: 36(float) FAdd 103 102
|
|
Store 38(b) 104
|
|
109: 6(int) Load 98(nu_ii)
|
|
110: 100(ptr) AccessChain 108(storageBuffer) 109 59
|
|
111: 36(float) Load 110
|
|
112: 36(float) Load 38(b)
|
|
113: 36(float) FAdd 112 111
|
|
Store 38(b) 113
|
|
119: 6(int) Load 98(nu_ii)
|
|
121: 120(ptr) AccessChain 118(sampledImage) 119
|
|
122: 115 Load 121
|
|
126: 39(fvec4) ImageSampleImplicitLod 122 125
|
|
127: 36(float) CompositeExtract 126 0
|
|
128: 36(float) Load 38(b)
|
|
129: 36(float) FAdd 128 127
|
|
Store 38(b) 129
|
|
134: 6(int) Load 98(nu_ii)
|
|
136: 135(ptr) AccessChain 133(storageImage) 134
|
|
137: 130 Load 136
|
|
139: 39(fvec4) ImageRead 137 138
|
|
140: 36(float) CompositeExtract 139 0
|
|
141: 36(float) Load 38(b)
|
|
142: 36(float) FAdd 141 140
|
|
Store 38(b) 142
|
|
146: 6(int) Load 98(nu_ii)
|
|
147: 56(ptr) AccessChain 145(inputAttachment) 146
|
|
148: 50 Load 147
|
|
149: 39(fvec4) ImageRead 148 61
|
|
150: 36(float) CompositeExtract 149 0
|
|
151: 36(float) Load 38(b)
|
|
152: 36(float) FAdd 151 150
|
|
Store 38(b) 152
|
|
156: 6(int) Load 98(nu_ii)
|
|
157: 72(ptr) AccessChain 155(uniformTexelBuffer) 156
|
|
158: 67 Load 157
|
|
159: 66 Image 158
|
|
160: 39(fvec4) ImageFetch 159 75
|
|
161: 36(float) CompositeExtract 160 0
|
|
162: 36(float) Load 38(b)
|
|
163: 36(float) FAdd 162 161
|
|
Store 38(b) 163
|
|
167: 6(int) Load 98(nu_ii)
|
|
168: 86(ptr) AccessChain 166(storageTexelBuffer) 167
|
|
169: 81 Load 168
|
|
170: 39(fvec4) ImageRead 169 75
|
|
171: 36(float) CompositeExtract 170 0
|
|
172: 36(float) Load 38(b)
|
|
173: 36(float) FAdd 172 171
|
|
Store 38(b) 173
|
|
178: 6(int) Load 98(nu_ii)
|
|
180: 179(ptr) AccessChain 177(uniformTexArr) 178
|
|
181: 114 Load 180
|
|
185: 182 Load 184(uniformSampler)
|
|
186: 115 SampledImage 181 185
|
|
189: 123(fvec2) Load 188(inTexcoord)
|
|
190: 39(fvec4) ImageSampleImplicitLod 186 189
|
|
191: 36(float) CompositeExtract 190 0
|
|
192: 36(float) Load 38(b)
|
|
193: 36(float) FAdd 192 191
|
|
Store 38(b) 193
|
|
194: 6(int) Load 98(nu_ii)
|
|
195: 179(ptr) AccessChain 177(uniformTexArr) 194
|
|
196: 114 Load 195
|
|
197: 182 Load 184(uniformSampler)
|
|
198: 115 SampledImage 196 197
|
|
199: 115 CopyObject 198
|
|
200: 123(fvec2) Load 188(inTexcoord)
|
|
201: 39(fvec4) ImageSampleImplicitLod 199 200
|
|
202: 36(float) CompositeExtract 201 0
|
|
203: 36(float) Load 38(b)
|
|
204: 36(float) FAdd 203 202
|
|
Store 38(b) 204
|
|
209: 7(ptr) AccessChain 207(v) 208
|
|
210: 6(int) Load 209
|
|
211: 100(ptr) AccessChain 96(uniformBuffer) 210 59
|
|
212: 36(float) Load 211
|
|
213: 36(float) Load 38(b)
|
|
214: 36(float) FAdd 213 212
|
|
Store 38(b) 214
|
|
216: 7(ptr) AccessChain 207(v) 215
|
|
217: 6(int) Load 216
|
|
218: 100(ptr) AccessChain 96(uniformBuffer) 217 59
|
|
219: 36(float) Load 218
|
|
220: 36(float) Load 38(b)
|
|
221: 36(float) FAdd 220 219
|
|
Store 38(b) 221
|
|
223: 6(int) Load 98(nu_ii)
|
|
224: 7(ptr) AccessChain 222(uv) 223
|
|
225: 6(int) Load 224
|
|
226: 100(ptr) AccessChain 96(uniformBuffer) 225 59
|
|
227: 36(float) Load 226
|
|
228: 36(float) Load 38(b)
|
|
229: 36(float) FAdd 228 227
|
|
Store 38(b) 229
|
|
233: 37(ptr) AccessChain 232(m) 26 215
|
|
234: 36(float) Load 233
|
|
235: 6(int) ConvertFToS 234
|
|
236: 100(ptr) AccessChain 96(uniformBuffer) 235 59
|
|
237: 36(float) Load 236
|
|
238: 36(float) Load 38(b)
|
|
239: 36(float) FAdd 238 237
|
|
Store 38(b) 239
|
|
243: 7(ptr) AccessChain 242(s) 59
|
|
244: 6(int) Load 243
|
|
245: 100(ptr) AccessChain 96(uniformBuffer) 244 59
|
|
246: 36(float) Load 245
|
|
247: 36(float) Load 38(b)
|
|
248: 36(float) FAdd 247 246
|
|
Store 38(b) 248
|
|
253: 7(ptr) AccessChain 252(arr) 26
|
|
254: 6(int) Load 253
|
|
255: 100(ptr) AccessChain 96(uniformBuffer) 254 59
|
|
256: 36(float) Load 255
|
|
257: 36(float) Load 38(b)
|
|
258: 36(float) FAdd 257 256
|
|
Store 38(b) 258
|
|
260: 6(int) Load 98(nu_ii)
|
|
261: 37(ptr) AccessChain 259(um) 260 215
|
|
262: 36(float) Load 261
|
|
263: 6(int) ConvertFToS 262
|
|
264: 100(ptr) AccessChain 96(uniformBuffer) 263 59
|
|
265: 36(float) Load 264
|
|
266: 36(float) Load 38(b)
|
|
267: 36(float) FAdd 266 265
|
|
Store 38(b) 267
|
|
271: 6(int) Load 98(nu_ii)
|
|
272: 7(ptr) AccessChain 270(us) 59 271
|
|
273: 6(int) Load 272
|
|
274: 100(ptr) AccessChain 96(uniformBuffer) 273 59
|
|
275: 36(float) Load 274
|
|
276: 36(float) Load 38(b)
|
|
277: 36(float) FAdd 276 275
|
|
Store 38(b) 277
|
|
279: 6(int) Load 98(nu_ii)
|
|
280: 7(ptr) AccessChain 278(uarr) 279
|
|
281: 6(int) Load 280
|
|
282: 100(ptr) AccessChain 96(uniformBuffer) 281 59
|
|
283: 36(float) Load 282
|
|
284: 36(float) Load 38(b)
|
|
285: 36(float) FAdd 284 283
|
|
Store 38(b) 285
|
|
286: 6(int) Load 98(nu_ii)
|
|
287: 36(float) Load 38(b)
|
|
288: 100(ptr) AccessChain 108(storageBuffer) 286 59
|
|
Store 288 287
|
|
Return
|
|
FunctionEnd
|
|
11(foo(i1;i1;): 6(int) Function None 8
|
|
9(nupi): 7(ptr) FunctionParameter
|
|
10(f): 7(ptr) FunctionParameter
|
|
12: Label
|
|
13: 6(int) Load 9(nupi)
|
|
ReturnValue 13
|
|
FunctionEnd
|