blob: 75edf55dee0f464e499590d8e2657dad046a4b7e [file] [log] [blame]
steve-lunarg5da1f032017-02-12 17:50:28 -07001hlsl.structbuffer.frag
2Shader version: 450
3gl_FragCoord origin is upper left
40:? Sequence
50:12 Function Definition: @main(u1; (temp 4-component vector of float)
60:12 Function Parameters:
70:12 'pos' (in uint)
80:? Sequence
90:13 Sequence
100:13 move second child to first child (temp structure{temp 3-component vector of float color, temp bool test, temp bool test2})
110:13 'mydata' (temp structure{temp 3-component vector of float color, temp bool test, temp bool test2})
120:13 indirect index (layout(binding=10 row_major std430 ) readonly buffer structure{temp 3-component vector of float color, temp bool test, temp bool test2})
130:13 sbuf: direct index for structure (layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2})
140:13 'anon@0' (layout(binding=10 row_major std430 ) readonly buffer block{layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2} sbuf})
150:13 Constant:
160:13 0 (const uint)
170:13 'pos' (in uint)
180:17 Sequence
190:17 move second child to first child (temp uint)
200:17 'size' (temp uint)
210:17 array length (temp uint)
220:17 sbuf: direct index for structure (layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2})
230:17 'anon@0' (layout(binding=10 row_major std430 ) readonly buffer block{layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2} sbuf})
240:17 Constant:
250:17 0 (const uint)
260:17 move second child to first child (temp uint)
270:17 'stride' (temp uint)
280:17 Constant:
290:17 32 (const uint)
300:19 Test condition and select (temp void)
310:19 Condition
320:19 test: direct index for structure (temp bool)
330:19 indirect index (layout(binding=10 row_major std430 ) readonly temp structure{temp 3-component vector of float color, temp bool test, temp bool test2})
340:19 sbuf: direct index for structure (layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2})
350:19 'anon@0' (layout(binding=10 row_major std430 ) readonly buffer block{layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2} sbuf})
360:19 Constant:
370:19 0 (const uint)
380:19 'pos' (in uint)
390:19 Constant:
400:19 1 (const int)
410:19 true case
420:20 Branch: Return with expression
430:? Construct vec4 (temp 4-component vector of float)
440:20 add (temp 3-component vector of float)
450:20 color: direct index for structure (temp 3-component vector of float)
460:20 indirect index (layout(binding=10 row_major std430 ) readonly temp structure{temp 3-component vector of float color, temp bool test, temp bool test2})
470:20 sbuf: direct index for structure (layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2})
480:20 'anon@0' (layout(binding=10 row_major std430 ) readonly buffer block{layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2} sbuf})
490:20 Constant:
500:20 0 (const uint)
510:20 'pos' (in uint)
520:20 Constant:
530:20 0 (const int)
540:20 indirect index (layout(row_major std430 ) readonly temp float)
550:20 sbuf2: direct index for structure (layout(row_major std430 ) readonly buffer implicitly-sized array of float)
560:20 'anon@1' (layout(row_major std430 ) readonly buffer block{layout(row_major std430 ) readonly buffer implicitly-sized array of float sbuf2})
570:20 Constant:
580:20 0 (const uint)
590:20 'pos' (in uint)
600:20 Constant:
610:20 0.000000
620:19 false case
630:22 Branch: Return with expression
640:22 Construct vec4 (temp 4-component vector of float)
650:22 add (temp float)
660:22 add (temp float)
670:22 direct index (temp float)
680:22 color: direct index for structure (temp 3-component vector of float)
690:22 'mydata' (temp structure{temp 3-component vector of float color, temp bool test, temp bool test2})
700:22 Constant:
710:22 0 (const int)
720:22 Constant:
730:22 0 (const int)
740:22 Convert uint to float (temp float)
750:22 'size' (temp uint)
760:22 Convert uint to float (temp float)
770:22 'stride' (temp uint)
780:12 Function Definition: main( (temp void)
790:12 Function Parameters:
800:? Sequence
810:12 move second child to first child (temp uint)
820:? 'pos' (temp uint)
830:? 'pos' (layout(location=0 ) in uint)
840:12 move second child to first child (temp 4-component vector of float)
850:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
860:12 Function Call: @main(u1; (temp 4-component vector of float)
870:? 'pos' (temp uint)
880:? Linker Objects
890:? 'anon@0' (layout(binding=10 row_major std430 ) readonly buffer block{layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2} sbuf})
900:? 'anon@1' (layout(row_major std430 ) readonly buffer block{layout(row_major std430 ) readonly buffer implicitly-sized array of float sbuf2})
910:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
920:? 'pos' (layout(location=0 ) in uint)
93
94
95Linked fragment stage:
96
97
98Shader version: 450
99gl_FragCoord origin is upper left
1000:? Sequence
1010:12 Function Definition: @main(u1; (temp 4-component vector of float)
1020:12 Function Parameters:
1030:12 'pos' (in uint)
1040:? Sequence
1050:13 Sequence
1060:13 move second child to first child (temp structure{temp 3-component vector of float color, temp bool test, temp bool test2})
1070:13 'mydata' (temp structure{temp 3-component vector of float color, temp bool test, temp bool test2})
1080:13 indirect index (layout(binding=10 row_major std430 ) readonly buffer structure{temp 3-component vector of float color, temp bool test, temp bool test2})
1090:13 sbuf: direct index for structure (layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2})
1100:13 'anon@0' (layout(binding=10 row_major std430 ) readonly buffer block{layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2} sbuf})
1110:13 Constant:
1120:13 0 (const uint)
1130:13 'pos' (in uint)
1140:17 Sequence
1150:17 move second child to first child (temp uint)
1160:17 'size' (temp uint)
1170:17 array length (temp uint)
1180:17 sbuf: direct index for structure (layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2})
1190:17 'anon@0' (layout(binding=10 row_major std430 ) readonly buffer block{layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2} sbuf})
1200:17 Constant:
1210:17 0 (const uint)
1220:17 move second child to first child (temp uint)
1230:17 'stride' (temp uint)
1240:17 Constant:
1250:17 32 (const uint)
1260:19 Test condition and select (temp void)
1270:19 Condition
1280:19 test: direct index for structure (temp bool)
1290:19 indirect index (layout(binding=10 row_major std430 ) readonly temp structure{temp 3-component vector of float color, temp bool test, temp bool test2})
1300:19 sbuf: direct index for structure (layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2})
1310:19 'anon@0' (layout(binding=10 row_major std430 ) readonly buffer block{layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2} sbuf})
1320:19 Constant:
1330:19 0 (const uint)
1340:19 'pos' (in uint)
1350:19 Constant:
1360:19 1 (const int)
1370:19 true case
1380:20 Branch: Return with expression
1390:? Construct vec4 (temp 4-component vector of float)
1400:20 add (temp 3-component vector of float)
1410:20 color: direct index for structure (temp 3-component vector of float)
1420:20 indirect index (layout(binding=10 row_major std430 ) readonly temp structure{temp 3-component vector of float color, temp bool test, temp bool test2})
1430:20 sbuf: direct index for structure (layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2})
1440:20 'anon@0' (layout(binding=10 row_major std430 ) readonly buffer block{layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2} sbuf})
1450:20 Constant:
1460:20 0 (const uint)
1470:20 'pos' (in uint)
1480:20 Constant:
1490:20 0 (const int)
1500:20 indirect index (layout(row_major std430 ) readonly temp float)
1510:20 sbuf2: direct index for structure (layout(row_major std430 ) readonly buffer implicitly-sized array of float)
1520:20 'anon@1' (layout(row_major std430 ) readonly buffer block{layout(row_major std430 ) readonly buffer implicitly-sized array of float sbuf2})
1530:20 Constant:
1540:20 0 (const uint)
1550:20 'pos' (in uint)
1560:20 Constant:
1570:20 0.000000
1580:19 false case
1590:22 Branch: Return with expression
1600:22 Construct vec4 (temp 4-component vector of float)
1610:22 add (temp float)
1620:22 add (temp float)
1630:22 direct index (temp float)
1640:22 color: direct index for structure (temp 3-component vector of float)
1650:22 'mydata' (temp structure{temp 3-component vector of float color, temp bool test, temp bool test2})
1660:22 Constant:
1670:22 0 (const int)
1680:22 Constant:
1690:22 0 (const int)
1700:22 Convert uint to float (temp float)
1710:22 'size' (temp uint)
1720:22 Convert uint to float (temp float)
1730:22 'stride' (temp uint)
1740:12 Function Definition: main( (temp void)
1750:12 Function Parameters:
1760:? Sequence
1770:12 move second child to first child (temp uint)
1780:? 'pos' (temp uint)
1790:? 'pos' (layout(location=0 ) in uint)
1800:12 move second child to first child (temp 4-component vector of float)
1810:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
1820:12 Function Call: @main(u1; (temp 4-component vector of float)
1830:? 'pos' (temp uint)
1840:? Linker Objects
1850:? 'anon@0' (layout(binding=10 row_major std430 ) readonly buffer block{layout(binding=10 row_major std430 ) readonly buffer implicitly-sized array of structure{temp 3-component vector of float color, temp bool test, temp bool test2} sbuf})
1860:? 'anon@1' (layout(row_major std430 ) readonly buffer block{layout(row_major std430 ) readonly buffer implicitly-sized array of float sbuf2})
1870:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
1880:? 'pos' (layout(location=0 ) in uint)
189
190// Module Version 10000
191// Generated by (magic number): 80001
192// Id's are bound by 94
193
194 Capability Shader
195 1: ExtInstImport "GLSL.std.450"
196 MemoryModel Logical GLSL450
197 EntryPoint Fragment 4 "main" 87 90
198 ExecutionMode 4 OriginUpperLeft
199 Name 4 "main"
200 Name 12 "@main(u1;"
201 Name 11 "pos"
202 Name 16 "sb_t"
203 MemberName 16(sb_t) 0 "color"
204 MemberName 16(sb_t) 1 "test"
205 MemberName 16(sb_t) 2 "test2"
206 Name 18 "mydata"
207 Name 19 "sb_t"
208 MemberName 19(sb_t) 0 "color"
209 MemberName 19(sb_t) 1 "test"
210 MemberName 19(sb_t) 2 "test2"
211 Name 21 "sbuf"
212 MemberName 21(sbuf) 0 "sbuf"
213 Name 23 ""
214 Name 40 "size"
215 Name 42 "stride"
216 Name 57 "sbuf2"
217 MemberName 57(sbuf2) 0 "sbuf2"
218 Name 59 ""
219 Name 85 "pos"
220 Name 87 "pos"
221 Name 90 "@entryPointOutput"
222 Name 91 "param"
223 MemberDecorate 19(sb_t) 0 NonWritable
224 MemberDecorate 19(sb_t) 0 Offset 0
225 MemberDecorate 19(sb_t) 1 NonWritable
226 MemberDecorate 19(sb_t) 1 Offset 12
227 MemberDecorate 19(sb_t) 2 NonWritable
228 MemberDecorate 19(sb_t) 2 Offset 16
229 Decorate 20 ArrayStride 32
230 MemberDecorate 21(sbuf) 0 NonWritable
231 MemberDecorate 21(sbuf) 0 Offset 0
232 Decorate 21(sbuf) BufferBlock
233 Decorate 23 DescriptorSet 0
234 Decorate 23 Binding 10
235 Decorate 56 ArrayStride 4
236 MemberDecorate 57(sbuf2) 0 NonWritable
237 MemberDecorate 57(sbuf2) 0 Offset 0
238 Decorate 57(sbuf2) BufferBlock
239 Decorate 59 DescriptorSet 0
240 Decorate 87(pos) Location 0
241 Decorate 90(@entryPointOutput) Location 0
242 2: TypeVoid
243 3: TypeFunction 2
244 6: TypeInt 32 0
245 7: TypePointer Function 6(int)
246 8: TypeFloat 32
247 9: TypeVector 8(float) 4
248 10: TypeFunction 9(fvec4) 7(ptr)
249 14: TypeVector 8(float) 3
250 15: TypeBool
251 16(sb_t): TypeStruct 14(fvec3) 15(bool) 15(bool)
252 17: TypePointer Function 16(sb_t)
253 19(sb_t): TypeStruct 14(fvec3) 6(int) 6(int)
254 20: TypeRuntimeArray 19(sb_t)
255 21(sbuf): TypeStruct 20
256 22: TypePointer Uniform 21(sbuf)
257 23: 22(ptr) Variable Uniform
258 24: TypeInt 32 1
259 25: 24(int) Constant 0
260 27: TypePointer Uniform 19(sb_t)
261 31: TypePointer Function 14(fvec3)
262 34: 24(int) Constant 1
263 35: TypePointer Function 15(bool)
264 38: 24(int) Constant 2
265 43: 6(int) Constant 32
266 45: TypePointer Uniform 6(int)
267 48: 6(int) Constant 0
268 53: TypePointer Uniform 14(fvec3)
269 56: TypeRuntimeArray 8(float)
270 57(sbuf2): TypeStruct 56
271 58: TypePointer Uniform 57(sbuf2)
272 59: 58(ptr) Variable Uniform
273 61: TypePointer Uniform 8(float)
274 66: 8(float) Constant 0
275 73: TypePointer Function 8(float)
276 86: TypePointer Input 6(int)
277 87(pos): 86(ptr) Variable Input
278 89: TypePointer Output 9(fvec4)
27990(@entryPointOutput): 89(ptr) Variable Output
280 4(main): 2 Function None 3
281 5: Label
282 85(pos): 7(ptr) Variable Function
283 91(param): 7(ptr) Variable Function
284 88: 6(int) Load 87(pos)
285 Store 85(pos) 88
286 92: 6(int) Load 85(pos)
287 Store 91(param) 92
288 93: 9(fvec4) FunctionCall 12(@main(u1;) 91(param)
289 Store 90(@entryPointOutput) 93
290 Return
291 FunctionEnd
292 12(@main(u1;): 9(fvec4) Function None 10
293 11(pos): 7(ptr) FunctionParameter
294 13: Label
295 18(mydata): 17(ptr) Variable Function
296 40(size): 7(ptr) Variable Function
297 42(stride): 7(ptr) Variable Function
298 26: 6(int) Load 11(pos)
299 28: 27(ptr) AccessChain 23 25 26
300 29: 19(sb_t) Load 28
301 30: 14(fvec3) CompositeExtract 29 0
302 32: 31(ptr) AccessChain 18(mydata) 25
303 Store 32 30
304 33: 6(int) CompositeExtract 29 1
305 36: 35(ptr) AccessChain 18(mydata) 34
306 Store 36 33
307 37: 6(int) CompositeExtract 29 2
308 39: 35(ptr) AccessChain 18(mydata) 38
309 Store 39 37
310 41: 24(int) ArrayLength 23 0
311 Store 40(size) 41
312 Store 42(stride) 43
313 44: 6(int) Load 11(pos)
314 46: 45(ptr) AccessChain 23 25 44 34
315 47: 6(int) Load 46
316 49: 15(bool) INotEqual 47 48
317 SelectionMerge 51 None
318 BranchConditional 49 50 72
319 50: Label
320 52: 6(int) Load 11(pos)
321 54: 53(ptr) AccessChain 23 25 52 25
322 55: 14(fvec3) Load 54
323 60: 6(int) Load 11(pos)
324 62: 61(ptr) AccessChain 59 25 60
325 63: 8(float) Load 62
326 64: 14(fvec3) CompositeConstruct 63 63 63
327 65: 14(fvec3) FAdd 55 64
328 67: 8(float) CompositeExtract 65 0
329 68: 8(float) CompositeExtract 65 1
330 69: 8(float) CompositeExtract 65 2
331 70: 9(fvec4) CompositeConstruct 67 68 69 66
332 ReturnValue 70
333 72: Label
334 74: 73(ptr) AccessChain 18(mydata) 25 48
335 75: 8(float) Load 74
336 76: 6(int) Load 40(size)
337 77: 8(float) ConvertUToF 76
338 78: 8(float) FAdd 75 77
339 79: 6(int) Load 42(stride)
340 80: 8(float) ConvertUToF 79
341 81: 8(float) FAdd 78 80
342 82: 9(fvec4) CompositeConstruct 81 81 81 81
343 ReturnValue 82
344 51: Label
345 84: 9(fvec4) Undef
346 ReturnValue 84
347 FunctionEnd