1 hlsl.structbuffer.byte.frag
3 gl_FragCoord origin is upper left
5 0:5 Function Definition: @main(u1; ( temp 4-component vector of float)
6 0:5 Function Parameters:
10 0:7 move second child to first child ( temp uint)
11 0:7 'size' ( temp uint)
12 0:7 array length ( temp uint)
13 0:7 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
14 0:7 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
17 0:12 Branch: Return with expression
18 0:11 add ( temp 4-component vector of float)
19 0:10 add ( temp 4-component vector of float)
20 0:9 add ( temp 4-component vector of float)
21 0:9 Convert uint to float ( temp float)
22 0:9 indirect index (layout( row_major std430) buffer uint)
23 0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
24 0:9 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
27 0:9 right-shift ( temp int)
31 0:? Construct vec4 ( temp 4-component vector of float)
32 0:? Convert uint to float ( temp 2-component vector of float)
34 0:10 move second child to first child ( temp int)
35 0:10 'byteAddrTemp' ( temp int)
36 0:10 right-shift ( temp int)
43 0:? Construct vec2 ( temp 2-component vector of uint)
44 0:10 indirect index ( temp float)
45 0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
46 0:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
49 0:10 'byteAddrTemp' ( temp int)
50 0:10 indirect index ( temp float)
51 0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
52 0:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
56 0:10 'byteAddrTemp' ( temp int)
63 0:? Construct vec4 ( temp 4-component vector of float)
64 0:? Convert uint to float ( temp 3-component vector of float)
66 0:11 move second child to first child ( temp int)
67 0:11 'byteAddrTemp' ( temp int)
68 0:11 right-shift ( temp int)
75 0:? Construct vec3 ( temp 3-component vector of uint)
76 0:11 indirect index ( temp float)
77 0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
78 0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
81 0:11 'byteAddrTemp' ( temp int)
82 0:11 indirect index ( temp float)
83 0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
84 0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
88 0:11 'byteAddrTemp' ( temp int)
91 0:11 indirect index ( temp float)
92 0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
93 0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
97 0:11 'byteAddrTemp' ( temp int)
102 0:? Convert uint to float ( temp 4-component vector of float)
104 0:12 move second child to first child ( temp int)
105 0:12 'byteAddrTemp' ( temp int)
106 0:12 right-shift ( temp int)
107 0:12 add ( temp uint)
108 0:12 'pos' ( in uint)
113 0:? Construct vec4 ( temp 4-component vector of uint)
114 0:12 indirect index ( temp float)
115 0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
116 0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
119 0:12 'byteAddrTemp' ( temp int)
120 0:12 indirect index ( temp float)
121 0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
122 0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
126 0:12 'byteAddrTemp' ( temp int)
129 0:12 indirect index ( temp float)
130 0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
131 0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
135 0:12 'byteAddrTemp' ( temp int)
138 0:12 indirect index ( temp float)
139 0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
140 0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
144 0:12 'byteAddrTemp' ( temp int)
147 0:5 Function Definition: main( ( temp void)
148 0:5 Function Parameters:
150 0:5 move second child to first child ( temp uint)
151 0:? 'pos' ( temp uint)
152 0:? 'pos' (layout( location=0) in uint)
153 0:5 move second child to first child ( temp 4-component vector of float)
154 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
155 0:5 Function Call: @main(u1; ( temp 4-component vector of float)
156 0:? 'pos' ( temp uint)
158 0:? 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
159 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
160 0:? 'pos' (layout( location=0) in uint)
163 Linked fragment stage:
167 gl_FragCoord origin is upper left
169 0:5 Function Definition: @main(u1; ( temp 4-component vector of float)
170 0:5 Function Parameters:
174 0:7 move second child to first child ( temp uint)
175 0:7 'size' ( temp uint)
176 0:7 array length ( temp uint)
177 0:7 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
178 0:7 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
181 0:12 Branch: Return with expression
182 0:11 add ( temp 4-component vector of float)
183 0:10 add ( temp 4-component vector of float)
184 0:9 add ( temp 4-component vector of float)
185 0:9 Convert uint to float ( temp float)
186 0:9 indirect index (layout( row_major std430) buffer uint)
187 0:9 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
188 0:9 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
191 0:9 right-shift ( temp int)
195 0:? Construct vec4 ( temp 4-component vector of float)
196 0:? Convert uint to float ( temp 2-component vector of float)
198 0:10 move second child to first child ( temp int)
199 0:10 'byteAddrTemp' ( temp int)
200 0:10 right-shift ( temp int)
201 0:10 add ( temp uint)
202 0:10 'pos' ( in uint)
207 0:? Construct vec2 ( temp 2-component vector of uint)
208 0:10 indirect index ( temp float)
209 0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
210 0:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
213 0:10 'byteAddrTemp' ( temp int)
214 0:10 indirect index ( temp float)
215 0:10 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
216 0:10 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
220 0:10 'byteAddrTemp' ( temp int)
227 0:? Construct vec4 ( temp 4-component vector of float)
228 0:? Convert uint to float ( temp 3-component vector of float)
230 0:11 move second child to first child ( temp int)
231 0:11 'byteAddrTemp' ( temp int)
232 0:11 right-shift ( temp int)
233 0:11 add ( temp uint)
234 0:11 'pos' ( in uint)
239 0:? Construct vec3 ( temp 3-component vector of uint)
240 0:11 indirect index ( temp float)
241 0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
242 0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
245 0:11 'byteAddrTemp' ( temp int)
246 0:11 indirect index ( temp float)
247 0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
248 0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
252 0:11 'byteAddrTemp' ( temp int)
255 0:11 indirect index ( temp float)
256 0:11 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
257 0:11 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
261 0:11 'byteAddrTemp' ( temp int)
266 0:? Convert uint to float ( temp 4-component vector of float)
268 0:12 move second child to first child ( temp int)
269 0:12 'byteAddrTemp' ( temp int)
270 0:12 right-shift ( temp int)
271 0:12 add ( temp uint)
272 0:12 'pos' ( in uint)
277 0:? Construct vec4 ( temp 4-component vector of uint)
278 0:12 indirect index ( temp float)
279 0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
280 0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
283 0:12 'byteAddrTemp' ( temp int)
284 0:12 indirect index ( temp float)
285 0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
286 0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
290 0:12 'byteAddrTemp' ( temp int)
293 0:12 indirect index ( temp float)
294 0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
295 0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
299 0:12 'byteAddrTemp' ( temp int)
302 0:12 indirect index ( temp float)
303 0:12 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
304 0:12 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
308 0:12 'byteAddrTemp' ( temp int)
311 0:5 Function Definition: main( ( temp void)
312 0:5 Function Parameters:
314 0:5 move second child to first child ( temp uint)
315 0:? 'pos' ( temp uint)
316 0:? 'pos' (layout( location=0) in uint)
317 0:5 move second child to first child ( temp 4-component vector of float)
318 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
319 0:5 Function Call: @main(u1; ( temp 4-component vector of float)
320 0:? 'pos' ( temp uint)
322 0:? 'sbuf' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
323 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
324 0:? 'pos' (layout( location=0) in uint)
326 // Module Version 10000
327 // Generated by (magic number): 80001
328 // Id's are bound by 114
331 1: ExtInstImport "GLSL.std.450"
332 MemoryModel Logical GLSL450
333 EntryPoint Fragment 4 "main" 107 110
334 ExecutionMode 4 OriginUpperLeft
340 MemberName 16(sbuf) 0 "@data"
342 Name 30 "byteAddrTemp"
343 Name 53 "byteAddrTemp"
344 Name 78 "byteAddrTemp"
347 Name 110 "@entryPointOutput"
349 Decorate 15 ArrayStride 4
350 MemberDecorate 16(sbuf) 0 NonWritable
351 MemberDecorate 16(sbuf) 0 Offset 0
352 Decorate 16(sbuf) BufferBlock
353 Decorate 18(sbuf) DescriptorSet 0
354 Decorate 107(pos) Location 0
355 Decorate 110(@entryPointOutput) Location 0
359 7: TypePointer Function 6(int)
361 9: TypeVector 8(float) 4
362 10: TypeFunction 9(fvec4) 7(ptr)
363 15: TypeRuntimeArray 6(int)
364 16(sbuf): TypeStruct 15
365 17: TypePointer Uniform 16(sbuf)
366 18(sbuf): 17(ptr) Variable Uniform
368 21: 19(int) Constant 0
369 23: 19(int) Constant 2
370 25: TypePointer Uniform 6(int)
371 29: TypePointer Function 19(int)
372 32: 6(int) Constant 4
373 39: 19(int) Constant 1
374 43: TypeVector 6(int) 2
375 45: TypeVector 8(float) 2
376 47: 8(float) Constant 0
377 55: 6(int) Constant 8
378 69: TypeVector 6(int) 3
379 71: TypeVector 8(float) 3
380 80: 6(int) Constant 12
381 95: 19(int) Constant 3
382 99: TypeVector 6(int) 4
383 106: TypePointer Input 6(int)
384 107(pos): 106(ptr) Variable Input
385 109: TypePointer Output 9(fvec4)
386 110(@entryPointOutput): 109(ptr) Variable Output
387 4(main): 2 Function None 3
389 105(pos): 7(ptr) Variable Function
390 111(param): 7(ptr) Variable Function
391 108: 6(int) Load 107(pos)
393 112: 6(int) Load 105(pos)
395 113: 9(fvec4) FunctionCall 12(@main(u1;) 111(param)
396 Store 110(@entryPointOutput) 113
399 12(@main(u1;): 9(fvec4) Function None 10
400 11(pos): 7(ptr) FunctionParameter
402 14(size): 7(ptr) Variable Function
403 30(byteAddrTemp): 29(ptr) Variable Function
404 53(byteAddrTemp): 29(ptr) Variable Function
405 78(byteAddrTemp): 29(ptr) Variable Function
406 20: 19(int) ArrayLength 18(sbuf) 0
408 22: 6(int) Load 11(pos)
409 24: 19(int) ShiftRightLogical 22 23
410 26: 25(ptr) AccessChain 18(sbuf) 21 24
412 28: 8(float) ConvertUToF 27
413 31: 6(int) Load 11(pos)
414 33: 6(int) IAdd 31 32
415 34: 19(int) ShiftRightLogical 33 23
416 Store 30(byteAddrTemp) 34
417 35: 19(int) Load 30(byteAddrTemp)
418 36: 25(ptr) AccessChain 18(sbuf) 21 35
420 38: 19(int) Load 30(byteAddrTemp)
421 40: 19(int) IAdd 38 39
422 41: 25(ptr) AccessChain 18(sbuf) 21 40
424 44: 43(ivec2) CompositeConstruct 37 42
425 46: 45(fvec2) ConvertUToF 44
426 48: 8(float) CompositeExtract 46 0
427 49: 8(float) CompositeExtract 46 1
428 50: 9(fvec4) CompositeConstruct 48 49 47 47
429 51: 9(fvec4) CompositeConstruct 28 28 28 28
430 52: 9(fvec4) FAdd 51 50
431 54: 6(int) Load 11(pos)
432 56: 6(int) IAdd 54 55
433 57: 19(int) ShiftRightLogical 56 23
434 Store 53(byteAddrTemp) 57
435 58: 19(int) Load 53(byteAddrTemp)
436 59: 25(ptr) AccessChain 18(sbuf) 21 58
438 61: 19(int) Load 53(byteAddrTemp)
439 62: 19(int) IAdd 61 39
440 63: 25(ptr) AccessChain 18(sbuf) 21 62
442 65: 19(int) Load 53(byteAddrTemp)
443 66: 19(int) IAdd 65 23
444 67: 25(ptr) AccessChain 18(sbuf) 21 66
446 70: 69(ivec3) CompositeConstruct 60 64 68
447 72: 71(fvec3) ConvertUToF 70
448 73: 8(float) CompositeExtract 72 0
449 74: 8(float) CompositeExtract 72 1
450 75: 8(float) CompositeExtract 72 2
451 76: 9(fvec4) CompositeConstruct 73 74 75 47
452 77: 9(fvec4) FAdd 52 76
453 79: 6(int) Load 11(pos)
454 81: 6(int) IAdd 79 80
455 82: 19(int) ShiftRightLogical 81 23
456 Store 78(byteAddrTemp) 82
457 83: 19(int) Load 78(byteAddrTemp)
458 84: 25(ptr) AccessChain 18(sbuf) 21 83
460 86: 19(int) Load 78(byteAddrTemp)
461 87: 19(int) IAdd 86 39
462 88: 25(ptr) AccessChain 18(sbuf) 21 87
464 90: 19(int) Load 78(byteAddrTemp)
465 91: 19(int) IAdd 90 23
466 92: 25(ptr) AccessChain 18(sbuf) 21 91
468 94: 19(int) Load 78(byteAddrTemp)
469 96: 19(int) IAdd 94 95
470 97: 25(ptr) AccessChain 18(sbuf) 21 96
472 100: 99(ivec4) CompositeConstruct 85 89 93 98
473 101: 9(fvec4) ConvertUToF 100
474 102: 9(fvec4) FAdd 77 101