1hlsl.structbuffer.append.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 move second child to first child ( temp 4-component vector of float) 100:8 indirect index (layout( row_major std430) buffer 4-component vector of float) 110:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float) 120:8 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 130:8 Constant: 140:8 0 (const uint) 150:8 AtomicAdd ( temp uint) 160:8 @count: direct index for structure ( temp uint) 170:8 'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 180:8 Constant: 190:8 0 (const int) 200:8 Constant: 210:8 1 (const uint) 220:8 Constant: 230:8 1.000000 240:8 2.000000 250:8 3.000000 260:8 4.000000 270:10 Branch: Return with expression 280:10 indirect index (layout( row_major std430) buffer 4-component vector of float) 290:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float) 300:10 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 310:10 Constant: 320:10 0 (const uint) 330:10 add ( temp uint) 340:10 AtomicAdd ( temp uint) 350:10 @count: direct index for structure ( temp uint) 360:10 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 370:10 Constant: 380:10 0 (const int) 390:10 Constant: 400:10 4294967295 (const uint) 410:10 Constant: 420:10 -1 (const int) 430:7 Function Definition: main( ( temp void) 440:7 Function Parameters: 450:? Sequence 460:7 move second child to first child ( temp uint) 470:? 'pos' ( temp uint) 480:? 'pos' (layout( location=0) flat in uint) 490:7 move second child to first child ( temp 4-component vector of float) 500:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 510:7 Function Call: @main(u1; ( temp 4-component vector of float) 520:? 'pos' ( temp uint) 530:? Linker Objects 540:? 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 550:? 'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 560:? 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 570:? 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 580:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 590:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 600:? 'pos' (layout( location=0) flat in uint) 61 62 63Linked fragment stage: 64 65 66Shader version: 500 67gl_FragCoord origin is upper left 680:? Sequence 690:7 Function Definition: @main(u1; ( temp 4-component vector of float) 700:7 Function Parameters: 710:7 'pos' ( in uint) 720:? Sequence 730:8 move second child to first child ( temp 4-component vector of float) 740:8 indirect index (layout( row_major std430) buffer 4-component vector of float) 750:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float) 760:8 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 770:8 Constant: 780:8 0 (const uint) 790:8 AtomicAdd ( temp uint) 800:8 @count: direct index for structure ( temp uint) 810:8 'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 820:8 Constant: 830:8 0 (const int) 840:8 Constant: 850:8 1 (const uint) 860:8 Constant: 870:8 1.000000 880:8 2.000000 890:8 3.000000 900:8 4.000000 910:10 Branch: Return with expression 920:10 indirect index (layout( row_major std430) buffer 4-component vector of float) 930:10 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float) 940:10 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 950:10 Constant: 960:10 0 (const uint) 970:10 add ( temp uint) 980:10 AtomicAdd ( temp uint) 990:10 @count: direct index for structure ( temp uint) 1000:10 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 1010:10 Constant: 1020:10 0 (const int) 1030:10 Constant: 1040:10 4294967295 (const uint) 1050:10 Constant: 1060:10 -1 (const int) 1070:7 Function Definition: main( ( temp void) 1080:7 Function Parameters: 1090:? Sequence 1100:7 move second child to first child ( temp uint) 1110:? 'pos' ( temp uint) 1120:? 'pos' (layout( location=0) flat in uint) 1130:7 move second child to first child ( temp 4-component vector of float) 1140:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1150:7 Function Call: @main(u1; ( temp 4-component vector of float) 1160:? 'pos' ( temp uint) 1170:? Linker Objects 1180:? 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 1190:? 'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 1200:? 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 1210:? 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 1220:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 1230:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1240:? 'pos' (layout( location=0) flat in uint) 125 126// Module Version 10000 127// Generated by (magic number): 8000a 128// Id's are bound by 56 129 130 Capability Shader 131 1: ExtInstImport "GLSL.std.450" 132 MemoryModel Logical GLSL450 133 EntryPoint Fragment 4 "main" 48 51 134 ExecutionMode 4 OriginUpperLeft 135 Source HLSL 500 136 Name 4 "main" 137 Name 12 "@main(u1;" 138 Name 11 "pos" 139 Name 15 "sbuf_a" 140 MemberName 15(sbuf_a) 0 "@data" 141 Name 17 "sbuf_a" 142 Name 20 "sbuf_a@count" 143 MemberName 20(sbuf_a@count) 0 "@count" 144 Name 22 "sbuf_a@count" 145 Name 35 "sbuf_c" 146 Name 36 "sbuf_c@count" 147 Name 46 "pos" 148 Name 48 "pos" 149 Name 51 "@entryPointOutput" 150 Name 52 "param" 151 Name 55 "sbuf_unused" 152 Decorate 14 ArrayStride 16 153 MemberDecorate 15(sbuf_a) 0 Offset 0 154 Decorate 15(sbuf_a) BufferBlock 155 Decorate 17(sbuf_a) DescriptorSet 0 156 Decorate 17(sbuf_a) Binding 0 157 MemberDecorate 20(sbuf_a@count) 0 Offset 0 158 Decorate 20(sbuf_a@count) BufferBlock 159 Decorate 22(sbuf_a@count) DescriptorSet 0 160 Decorate 22(sbuf_a@count) Binding 1 161 Decorate 35(sbuf_c) DescriptorSet 0 162 Decorate 35(sbuf_c) Binding 2 163 Decorate 36(sbuf_c@count) DescriptorSet 0 164 Decorate 36(sbuf_c@count) Binding 3 165 Decorate 48(pos) Flat 166 Decorate 48(pos) Location 0 167 Decorate 51(@entryPointOutput) Location 0 168 Decorate 55(sbuf_unused) DescriptorSet 0 169 Decorate 55(sbuf_unused) Binding 0 170 2: TypeVoid 171 3: TypeFunction 2 172 6: TypeInt 32 0 173 7: TypePointer Function 6(int) 174 8: TypeFloat 32 175 9: TypeVector 8(float) 4 176 10: TypeFunction 9(fvec4) 7(ptr) 177 14: TypeRuntimeArray 9(fvec4) 178 15(sbuf_a): TypeStruct 14 179 16: TypePointer Uniform 15(sbuf_a) 180 17(sbuf_a): 16(ptr) Variable Uniform 181 18: TypeInt 32 1 182 19: 18(int) Constant 0 18320(sbuf_a@count): TypeStruct 6(int) 184 21: TypePointer Uniform 20(sbuf_a@count) 18522(sbuf_a@count): 21(ptr) Variable Uniform 186 23: TypePointer Uniform 6(int) 187 25: 6(int) Constant 1 188 26: 6(int) Constant 0 189 28: 8(float) Constant 1065353216 190 29: 8(float) Constant 1073741824 191 30: 8(float) Constant 1077936128 192 31: 8(float) Constant 1082130432 193 32: 9(fvec4) ConstantComposite 28 29 30 31 194 33: TypePointer Uniform 9(fvec4) 195 35(sbuf_c): 16(ptr) Variable Uniform 19636(sbuf_c@count): 21(ptr) Variable Uniform 197 38: 6(int) Constant 4294967295 198 40: 18(int) Constant 4294967295 199 47: TypePointer Input 6(int) 200 48(pos): 47(ptr) Variable Input 201 50: TypePointer Output 9(fvec4) 20251(@entryPointOutput): 50(ptr) Variable Output 203 55(sbuf_unused): 16(ptr) Variable Uniform 204 4(main): 2 Function None 3 205 5: Label 206 46(pos): 7(ptr) Variable Function 207 52(param): 7(ptr) Variable Function 208 49: 6(int) Load 48(pos) 209 Store 46(pos) 49 210 53: 6(int) Load 46(pos) 211 Store 52(param) 53 212 54: 9(fvec4) FunctionCall 12(@main(u1;) 52(param) 213 Store 51(@entryPointOutput) 54 214 Return 215 FunctionEnd 216 12(@main(u1;): 9(fvec4) Function None 10 217 11(pos): 7(ptr) FunctionParameter 218 13: Label 219 24: 23(ptr) AccessChain 22(sbuf_a@count) 19 220 27: 6(int) AtomicIAdd 24 25 26 25 221 34: 33(ptr) AccessChain 17(sbuf_a) 19 27 222 Store 34 32 223 37: 23(ptr) AccessChain 36(sbuf_c@count) 19 224 39: 6(int) AtomicIAdd 37 25 26 38 225 41: 6(int) IAdd 39 40 226 42: 33(ptr) AccessChain 35(sbuf_c) 19 41 227 43: 9(fvec4) Load 42 228 ReturnValue 43 229 FunctionEnd 230