1hlsl.structbuffer.incdec.frag 2Shader version: 500 3gl_FragCoord origin is upper left 40:? Sequence 50:7 Function Definition: @main(u1; ( temp 4-component vector of float) 60:7 Function Parameters: 70:7 'pos' ( in uint) 80:? Sequence 90:8 Sequence 100:8 move second child to first child ( temp 4-component vector of uint) 110:8 'result' ( temp 4-component vector of uint) 120:8 Constant: 130:8 0 (const uint) 140:8 0 (const uint) 150:8 0 (const uint) 160:8 0 (const uint) 170:10 direct index (layout( row_major std430) buffer 4-component vector of uint) 180:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint) 190:10 'sbuf_rw_i' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 200:10 Constant: 210:10 0 (const uint) 220:10 Constant: 230:10 7 (const int) 240:11 direct index (layout( row_major std430) buffer 4-component vector of uint) 250:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint) 260:11 'sbuf_rw_d' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 270:11 Constant: 280:11 0 (const uint) 290:11 Constant: 300:11 7 (const int) 310:13 move second child to first child ( temp 4-component vector of uint) 320:13 direct index (layout( row_major std430) buffer 4-component vector of uint) 330:13 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint) 340:13 'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 350:13 Constant: 360:13 0 (const uint) 370:13 Constant: 380:13 5 (const int) 390:13 Constant: 400:13 2 (const uint) 410:13 2 (const uint) 420:13 2 (const uint) 430:13 2 (const uint) 440:15 Sequence 450:15 move second child to first child ( temp uint) 460:15 'c1' ( temp uint) 470:15 AtomicAdd ( temp uint) 480:15 @count: direct index for structure ( temp uint) 490:15 'sbuf_rw_i@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 500:15 Constant: 510:15 0 (const int) 520:15 Constant: 530:15 1 (const uint) 540:16 Sequence 550:16 move second child to first child ( temp uint) 560:16 'c2' ( temp uint) 570:16 add ( temp uint) 580:16 AtomicAdd ( temp uint) 590:16 @count: direct index for structure ( temp uint) 600:16 'sbuf_rw_d@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 610:16 Constant: 620:16 0 (const int) 630:16 Constant: 640:16 4294967295 (const uint) 650:16 Constant: 660:16 -1 (const int) 670:18 Branch: Return with expression 680:? Construct vec4 ( temp 4-component vector of float) 690:18 Convert uint to float ( temp float) 700:18 direct index ( temp uint) 710:18 'result' ( temp 4-component vector of uint) 720:18 Constant: 730:18 0 (const int) 740:18 Convert uint to float ( temp float) 750:18 direct index ( temp uint) 760:18 'result' ( temp 4-component vector of uint) 770:18 Constant: 780:18 1 (const int) 790:18 Convert uint to float ( temp float) 800:18 'c1' ( temp uint) 810:18 Convert uint to float ( temp float) 820:18 'c2' ( temp uint) 830:7 Function Definition: main( ( temp void) 840:7 Function Parameters: 850:? Sequence 860:7 move second child to first child ( temp uint) 870:? 'pos' ( temp uint) 880:? 'pos' (layout( location=0) flat in uint) 890:7 move second child to first child ( temp 4-component vector of float) 900:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 910:7 Function Call: @main(u1; ( temp 4-component vector of float) 920:? 'pos' ( temp uint) 930:? Linker Objects 940:? 'sbuf_rw_i' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 950:? 'sbuf_rw_i@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 960:? 'sbuf_rw_d' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 970:? 'sbuf_rw_d@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 980:? 'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 990:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1000:? 'pos' (layout( location=0) flat in uint) 101 102 103Linked fragment stage: 104 105 106Shader version: 500 107gl_FragCoord origin is upper left 1080:? Sequence 1090:7 Function Definition: @main(u1; ( temp 4-component vector of float) 1100:7 Function Parameters: 1110:7 'pos' ( in uint) 1120:? Sequence 1130:8 Sequence 1140:8 move second child to first child ( temp 4-component vector of uint) 1150:8 'result' ( temp 4-component vector of uint) 1160:8 Constant: 1170:8 0 (const uint) 1180:8 0 (const uint) 1190:8 0 (const uint) 1200:8 0 (const uint) 1210:10 direct index (layout( row_major std430) buffer 4-component vector of uint) 1220:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint) 1230:10 'sbuf_rw_i' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 1240:10 Constant: 1250:10 0 (const uint) 1260:10 Constant: 1270:10 7 (const int) 1280:11 direct index (layout( row_major std430) buffer 4-component vector of uint) 1290:11 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint) 1300:11 'sbuf_rw_d' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 1310:11 Constant: 1320:11 0 (const uint) 1330:11 Constant: 1340:11 7 (const int) 1350:13 move second child to first child ( temp 4-component vector of uint) 1360:13 direct index (layout( row_major std430) buffer 4-component vector of uint) 1370:13 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint) 1380:13 'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 1390:13 Constant: 1400:13 0 (const uint) 1410:13 Constant: 1420:13 5 (const int) 1430:13 Constant: 1440:13 2 (const uint) 1450:13 2 (const uint) 1460:13 2 (const uint) 1470:13 2 (const uint) 1480:15 Sequence 1490:15 move second child to first child ( temp uint) 1500:15 'c1' ( temp uint) 1510:15 AtomicAdd ( temp uint) 1520:15 @count: direct index for structure ( temp uint) 1530:15 'sbuf_rw_i@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 1540:15 Constant: 1550:15 0 (const int) 1560:15 Constant: 1570:15 1 (const uint) 1580:16 Sequence 1590:16 move second child to first child ( temp uint) 1600:16 'c2' ( temp uint) 1610:16 add ( temp uint) 1620:16 AtomicAdd ( temp uint) 1630:16 @count: direct index for structure ( temp uint) 1640:16 'sbuf_rw_d@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 1650:16 Constant: 1660:16 0 (const int) 1670:16 Constant: 1680:16 4294967295 (const uint) 1690:16 Constant: 1700:16 -1 (const int) 1710:18 Branch: Return with expression 1720:? Construct vec4 ( temp 4-component vector of float) 1730:18 Convert uint to float ( temp float) 1740:18 direct index ( temp uint) 1750:18 'result' ( temp 4-component vector of uint) 1760:18 Constant: 1770:18 0 (const int) 1780:18 Convert uint to float ( temp float) 1790:18 direct index ( temp uint) 1800:18 'result' ( temp 4-component vector of uint) 1810:18 Constant: 1820:18 1 (const int) 1830:18 Convert uint to float ( temp float) 1840:18 'c1' ( temp uint) 1850:18 Convert uint to float ( temp float) 1860:18 'c2' ( temp uint) 1870:7 Function Definition: main( ( temp void) 1880:7 Function Parameters: 1890:? Sequence 1900:7 move second child to first child ( temp uint) 1910:? 'pos' ( temp uint) 1920:? 'pos' (layout( location=0) flat in uint) 1930:7 move second child to first child ( temp 4-component vector of float) 1940:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1950:7 Function Call: @main(u1; ( temp 4-component vector of float) 1960:? 'pos' ( temp uint) 1970:? Linker Objects 1980:? 'sbuf_rw_i' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 1990:? 'sbuf_rw_i@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 2000:? 'sbuf_rw_d' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 2010:? 'sbuf_rw_d@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 2020:? 'sbuf_rw_nocounter' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of uint @data}) 2030:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 2040:? 'pos' (layout( location=0) flat in uint) 205 206// Module Version 10000 207// Generated by (magic number): 8000a 208// Id's are bound by 70 209 210 Capability Shader 211 1: ExtInstImport "GLSL.std.450" 212 MemoryModel Logical GLSL450 213 EntryPoint Fragment 4 "main" 63 66 214 ExecutionMode 4 OriginUpperLeft 215 Source HLSL 500 216 Name 4 "main" 217 Name 12 "@main(u1;" 218 Name 11 "pos" 219 Name 16 "result" 220 Name 20 "sbuf_rw_i" 221 MemberName 20(sbuf_rw_i) 0 "@data" 222 Name 22 "sbuf_rw_i" 223 Name 26 "sbuf_rw_d" 224 Name 27 "sbuf_rw_nocounter" 225 Name 33 "c1" 226 Name 34 "sbuf_rw_i@count" 227 MemberName 34(sbuf_rw_i@count) 0 "@count" 228 Name 36 "sbuf_rw_i@count" 229 Name 41 "c2" 230 Name 42 "sbuf_rw_d@count" 231 Name 61 "pos" 232 Name 63 "pos" 233 Name 66 "@entryPointOutput" 234 Name 67 "param" 235 Decorate 19 ArrayStride 16 236 MemberDecorate 20(sbuf_rw_i) 0 Offset 0 237 Decorate 20(sbuf_rw_i) BufferBlock 238 Decorate 22(sbuf_rw_i) DescriptorSet 0 239 Decorate 22(sbuf_rw_i) Binding 0 240 Decorate 26(sbuf_rw_d) DescriptorSet 0 241 Decorate 26(sbuf_rw_d) Binding 2 242 Decorate 27(sbuf_rw_nocounter) DescriptorSet 0 243 Decorate 27(sbuf_rw_nocounter) Binding 4 244 MemberDecorate 34(sbuf_rw_i@count) 0 Offset 0 245 Decorate 34(sbuf_rw_i@count) BufferBlock 246 Decorate 36(sbuf_rw_i@count) DescriptorSet 0 247 Decorate 36(sbuf_rw_i@count) Binding 1 248 Decorate 42(sbuf_rw_d@count) DescriptorSet 0 249 Decorate 42(sbuf_rw_d@count) Binding 3 250 Decorate 63(pos) Flat 251 Decorate 63(pos) Location 0 252 Decorate 66(@entryPointOutput) Location 0 253 2: TypeVoid 254 3: TypeFunction 2 255 6: TypeInt 32 0 256 7: TypePointer Function 6(int) 257 8: TypeFloat 32 258 9: TypeVector 8(float) 4 259 10: TypeFunction 9(fvec4) 7(ptr) 260 14: TypeVector 6(int) 4 261 15: TypePointer Function 14(ivec4) 262 17: 6(int) Constant 0 263 18: 14(ivec4) ConstantComposite 17 17 17 17 264 19: TypeRuntimeArray 14(ivec4) 265 20(sbuf_rw_i): TypeStruct 19 266 21: TypePointer Uniform 20(sbuf_rw_i) 267 22(sbuf_rw_i): 21(ptr) Variable Uniform 268 23: TypeInt 32 1 269 24: 23(int) Constant 0 270 25: 23(int) Constant 7 271 26(sbuf_rw_d): 21(ptr) Variable Uniform 27227(sbuf_rw_nocounter): 21(ptr) Variable Uniform 273 28: 23(int) Constant 5 274 29: 6(int) Constant 2 275 30: 14(ivec4) ConstantComposite 29 29 29 29 276 31: TypePointer Uniform 14(ivec4) 27734(sbuf_rw_i@count): TypeStruct 6(int) 278 35: TypePointer Uniform 34(sbuf_rw_i@count) 27936(sbuf_rw_i@count): 35(ptr) Variable Uniform 280 37: TypePointer Uniform 6(int) 281 39: 6(int) Constant 1 28242(sbuf_rw_d@count): 35(ptr) Variable Uniform 283 44: 6(int) Constant 4294967295 284 46: 23(int) Constant 4294967295 285 62: TypePointer Input 6(int) 286 63(pos): 62(ptr) Variable Input 287 65: TypePointer Output 9(fvec4) 28866(@entryPointOutput): 65(ptr) Variable Output 289 4(main): 2 Function None 3 290 5: Label 291 61(pos): 7(ptr) Variable Function 292 67(param): 7(ptr) Variable Function 293 64: 6(int) Load 63(pos) 294 Store 61(pos) 64 295 68: 6(int) Load 61(pos) 296 Store 67(param) 68 297 69: 9(fvec4) FunctionCall 12(@main(u1;) 67(param) 298 Store 66(@entryPointOutput) 69 299 Return 300 FunctionEnd 301 12(@main(u1;): 9(fvec4) Function None 10 302 11(pos): 7(ptr) FunctionParameter 303 13: Label 304 16(result): 15(ptr) Variable Function 305 33(c1): 7(ptr) Variable Function 306 41(c2): 7(ptr) Variable Function 307 Store 16(result) 18 308 32: 31(ptr) AccessChain 27(sbuf_rw_nocounter) 24 28 309 Store 32 30 310 38: 37(ptr) AccessChain 36(sbuf_rw_i@count) 24 311 40: 6(int) AtomicIAdd 38 39 17 39 312 Store 33(c1) 40 313 43: 37(ptr) AccessChain 42(sbuf_rw_d@count) 24 314 45: 6(int) AtomicIAdd 43 39 17 44 315 47: 6(int) IAdd 45 46 316 Store 41(c2) 47 317 48: 7(ptr) AccessChain 16(result) 17 318 49: 6(int) Load 48 319 50: 8(float) ConvertUToF 49 320 51: 7(ptr) AccessChain 16(result) 39 321 52: 6(int) Load 51 322 53: 8(float) ConvertUToF 52 323 54: 6(int) Load 33(c1) 324 55: 8(float) ConvertUToF 54 325 56: 6(int) Load 41(c2) 326 57: 8(float) ConvertUToF 56 327 58: 9(fvec4) CompositeConstruct 50 53 55 57 328 ReturnValue 58 329 FunctionEnd 330