hlsl.structbuffer.append.fn.frag Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:8 Function Definition: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float) 0:8 Function Parameters: 0:8 'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:8 'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count}) 0:8 'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:8 'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count}) 0:? Sequence 0:9 move second child to first child ( temp 4-component vector of float) 0:9 indirect index ( buffer 4-component vector of float) 0:9 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float) 0:9 'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:9 Constant: 0:9 0 (const uint) 0:9 AtomicAdd ( temp uint) 0:9 @count: direct index for structure ( temp uint) 0:9 'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count}) 0:9 Constant: 0:9 0 (const int) 0:9 Constant: 0:9 1 (const uint) 0:9 Constant: 0:9 1.000000 0:9 2.000000 0:9 3.000000 0:9 4.000000 0:10 Branch: Return with expression 0:10 indirect index ( buffer 4-component vector of float) 0:10 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float) 0:10 'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:10 Constant: 0:10 0 (const uint) 0:10 add ( temp uint) 0:10 AtomicAdd ( temp uint) 0:10 @count: direct index for structure ( temp uint) 0:10 'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count}) 0:10 Constant: 0:10 0 (const int) 0:10 Constant: 0:10 4294967295 (const uint) 0:10 Constant: 0:10 -1 (const int) 0:19 Function Definition: @main(u1; ( temp 4-component vector of float) 0:19 Function Parameters: 0:19 'pos' ( in uint) 0:? Sequence 0:22 Branch: Return with expression 0:22 Function Call: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float) 0:22 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:22 'sbuf_a@count' ( buffer block{layout( row_major std430) buffer uint @count}) 0:22 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:22 'sbuf_c@count' ( buffer block{layout( row_major std430) buffer uint @count}) 0:19 Function Definition: main( ( temp void) 0:19 Function Parameters: 0:? Sequence 0:19 move second child to first child ( temp uint) 0:? 'pos' ( temp uint) 0:? 'pos' (layout( location=0) flat in uint) 0:19 move second child to first child ( temp 4-component vector of float) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:19 Function Call: @main(u1; ( temp 4-component vector of float) 0:? 'pos' ( temp uint) 0:? Linker Objects 0:? 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:? 'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 0:? 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:? 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 0:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:? 'pos' (layout( location=0) flat in uint) Linked fragment stage: Shader version: 500 gl_FragCoord origin is upper left 0:? Sequence 0:8 Function Definition: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float) 0:8 Function Parameters: 0:8 'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:8 'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count}) 0:8 'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:8 'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count}) 0:? Sequence 0:9 move second child to first child ( temp 4-component vector of float) 0:9 indirect index ( buffer 4-component vector of float) 0:9 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float) 0:9 'arg_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:9 Constant: 0:9 0 (const uint) 0:9 AtomicAdd ( temp uint) 0:9 @count: direct index for structure ( temp uint) 0:9 'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count}) 0:9 Constant: 0:9 0 (const int) 0:9 Constant: 0:9 1 (const uint) 0:9 Constant: 0:9 1.000000 0:9 2.000000 0:9 3.000000 0:9 4.000000 0:10 Branch: Return with expression 0:10 indirect index ( buffer 4-component vector of float) 0:10 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float) 0:10 'arg_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:10 Constant: 0:10 0 (const uint) 0:10 add ( temp uint) 0:10 AtomicAdd ( temp uint) 0:10 @count: direct index for structure ( temp uint) 0:10 'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count}) 0:10 Constant: 0:10 0 (const int) 0:10 Constant: 0:10 4294967295 (const uint) 0:10 Constant: 0:10 -1 (const int) 0:19 Function Definition: @main(u1; ( temp 4-component vector of float) 0:19 Function Parameters: 0:19 'pos' ( in uint) 0:? Sequence 0:22 Branch: Return with expression 0:22 Function Call: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float) 0:22 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:22 'sbuf_a@count' ( buffer block{layout( row_major std430) buffer uint @count}) 0:22 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:22 'sbuf_c@count' ( buffer block{layout( row_major std430) buffer uint @count}) 0:19 Function Definition: main( ( temp void) 0:19 Function Parameters: 0:? Sequence 0:19 move second child to first child ( temp uint) 0:? 'pos' ( temp uint) 0:? 'pos' (layout( location=0) flat in uint) 0:19 move second child to first child ( temp 4-component vector of float) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:19 Function Call: @main(u1; ( temp 4-component vector of float) 0:? 'pos' ( temp uint) 0:? Linker Objects 0:? 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:? 'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 0:? 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:? 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 0:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 0:? 'pos' (layout( location=0) flat in uint) Validation failed // Module Version 10000 // Generated by (magic number): 8000a // Id's are bound by 70 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 58 61 ExecutionMode 4 OriginUpperLeft Source HLSL 500 Name 4 "main" Name 9 "" MemberName 9 0 "@data" Name 12 "" MemberName 12 0 "@count" Name 19 "Fn2(block--vf4[0]1;block--vf4[0]1;" Name 15 "arg_a" Name 16 "arg_a@count" Name 17 "arg_c" Name 18 "arg_c@count" Name 24 "@main(u1;" Name 23 "pos" Name 49 "sbuf_a" Name 50 "sbuf_a@count" Name 51 "sbuf_c" Name 52 "sbuf_c@count" Name 56 "pos" Name 58 "pos" Name 61 "@entryPointOutput" Name 62 "param" Name 65 "sbuf_a@count" MemberName 65(sbuf_a@count) 0 "@count" Name 67 "sbuf_a@count" Name 68 "sbuf_c@count" Name 69 "sbuf_unused" Decorate 8 ArrayStride 16 MemberDecorate 9 0 Offset 0 Decorate 9 BufferBlock Decorate 12 BufferBlock Decorate 49(sbuf_a) DescriptorSet 0 Decorate 49(sbuf_a) Binding 0 Decorate 50(sbuf_a@count) DescriptorSet 0 Decorate 50(sbuf_a@count) Binding 0 Decorate 51(sbuf_c) DescriptorSet 0 Decorate 51(sbuf_c) Binding 1 Decorate 52(sbuf_c@count) DescriptorSet 0 Decorate 52(sbuf_c@count) Binding 0 Decorate 58(pos) Flat Decorate 58(pos) Location 0 Decorate 61(@entryPointOutput) Location 0 MemberDecorate 65(sbuf_a@count) 0 Offset 0 Decorate 65(sbuf_a@count) BufferBlock Decorate 67(sbuf_a@count) DescriptorSet 0 Decorate 67(sbuf_a@count) Binding 0 Decorate 68(sbuf_c@count) DescriptorSet 0 Decorate 68(sbuf_c@count) Binding 0 Decorate 69(sbuf_unused) DescriptorSet 0 Decorate 69(sbuf_unused) Binding 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypeRuntimeArray 7(fvec4) 9: TypeStruct 8 10: TypePointer Uniform 9(struct) 11: TypeInt 32 0 12: TypeStruct 11(int) 13: TypePointer Uniform 12(struct) 14: TypeFunction 7(fvec4) 10(ptr) 13(ptr) 10(ptr) 13(ptr) 21: TypePointer Function 11(int) 22: TypeFunction 7(fvec4) 21(ptr) 26: TypeInt 32 1 27: 26(int) Constant 0 28: TypePointer Uniform 11(int) 30: 11(int) Constant 1 31: 11(int) Constant 0 33: 6(float) Constant 1065353216 34: 6(float) Constant 1073741824 35: 6(float) Constant 1077936128 36: 6(float) Constant 1082130432 37: 7(fvec4) ConstantComposite 33 34 35 36 38: TypePointer Uniform 7(fvec4) 41: 11(int) Constant 4294967295 43: 26(int) Constant 4294967295 49(sbuf_a): 10(ptr) Variable Uniform 50(sbuf_a@count): 13(ptr) Variable Uniform 51(sbuf_c): 10(ptr) Variable Uniform 52(sbuf_c@count): 13(ptr) Variable Uniform 57: TypePointer Input 11(int) 58(pos): 57(ptr) Variable Input 60: TypePointer Output 7(fvec4) 61(@entryPointOutput): 60(ptr) Variable Output 65(sbuf_a@count): TypeStruct 11(int) 66: TypePointer Uniform 65(sbuf_a@count) 67(sbuf_a@count): 66(ptr) Variable Uniform 68(sbuf_c@count): 66(ptr) Variable Uniform 69(sbuf_unused): 10(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label 56(pos): 21(ptr) Variable Function 62(param): 21(ptr) Variable Function 59: 11(int) Load 58(pos) Store 56(pos) 59 63: 11(int) Load 56(pos) Store 62(param) 63 64: 7(fvec4) FunctionCall 24(@main(u1;) 62(param) Store 61(@entryPointOutput) 64 Return FunctionEnd 19(Fn2(block--vf4[0]1;block--vf4[0]1;): 7(fvec4) Function None 14 15(arg_a): 10(ptr) FunctionParameter 16(arg_a@count): 13(ptr) FunctionParameter 17(arg_c): 10(ptr) FunctionParameter 18(arg_c@count): 13(ptr) FunctionParameter 20: Label 29: 28(ptr) AccessChain 16(arg_a@count) 27 32: 11(int) AtomicIAdd 29 30 31 30 39: 38(ptr) AccessChain 15(arg_a) 27 32 Store 39 37 40: 28(ptr) AccessChain 18(arg_c@count) 27 42: 11(int) AtomicIAdd 40 30 31 41 44: 11(int) IAdd 42 43 45: 38(ptr) AccessChain 17(arg_c) 27 44 46: 7(fvec4) Load 45 ReturnValue 46 FunctionEnd 24(@main(u1;): 7(fvec4) Function None 22 23(pos): 21(ptr) FunctionParameter 25: Label 53: 7(fvec4) FunctionCall 19(Fn2(block--vf4[0]1;block--vf4[0]1;) 49(sbuf_a) 50(sbuf_a@count) 51(sbuf_c) 52(sbuf_c@count) ReturnValue 53 FunctionEnd