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:? Constant: 230:? 1.000000 240:? 2.000000 250:? 3.000000 260:? 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:? Constant: 870:? 1.000000 880:? 2.000000 890:? 3.000000 900:? 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): 80007 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 MemberDecorate 20(sbuf_a@count) 0 Offset 0 157 Decorate 20(sbuf_a@count) BufferBlock 158 Decorate 22(sbuf_a@count) DescriptorSet 0 159 Decorate 35(sbuf_c) DescriptorSet 0 160 Decorate 36(sbuf_c@count) DescriptorSet 0 161 Decorate 48(pos) Flat 162 Decorate 48(pos) Location 0 163 Decorate 51(@entryPointOutput) Location 0 164 Decorate 55(sbuf_unused) DescriptorSet 0 165 2: TypeVoid 166 3: TypeFunction 2 167 6: TypeInt 32 0 168 7: TypePointer Function 6(int) 169 8: TypeFloat 32 170 9: TypeVector 8(float) 4 171 10: TypeFunction 9(fvec4) 7(ptr) 172 14: TypeRuntimeArray 9(fvec4) 173 15(sbuf_a): TypeStruct 14 174 16: TypePointer Uniform 15(sbuf_a) 175 17(sbuf_a): 16(ptr) Variable Uniform 176 18: TypeInt 32 1 177 19: 18(int) Constant 0 17820(sbuf_a@count): TypeStruct 6(int) 179 21: TypePointer Uniform 20(sbuf_a@count) 18022(sbuf_a@count): 21(ptr) Variable Uniform 181 23: TypePointer Uniform 6(int) 182 25: 6(int) Constant 1 183 26: 6(int) Constant 0 184 28: 8(float) Constant 1065353216 185 29: 8(float) Constant 1073741824 186 30: 8(float) Constant 1077936128 187 31: 8(float) Constant 1082130432 188 32: 9(fvec4) ConstantComposite 28 29 30 31 189 33: TypePointer Uniform 9(fvec4) 190 35(sbuf_c): 16(ptr) Variable Uniform 19136(sbuf_c@count): 21(ptr) Variable Uniform 192 38: 6(int) Constant 4294967295 193 40: 18(int) Constant 4294967295 194 47: TypePointer Input 6(int) 195 48(pos): 47(ptr) Variable Input 196 50: TypePointer Output 9(fvec4) 19751(@entryPointOutput): 50(ptr) Variable Output 198 55(sbuf_unused): 16(ptr) Variable Uniform 199 4(main): 2 Function None 3 200 5: Label 201 46(pos): 7(ptr) Variable Function 202 52(param): 7(ptr) Variable Function 203 49: 6(int) Load 48(pos) 204 Store 46(pos) 49 205 53: 6(int) Load 46(pos) 206 Store 52(param) 53 207 54: 9(fvec4) FunctionCall 12(@main(u1;) 52(param) 208 Store 51(@entryPointOutput) 54 209 Return 210 FunctionEnd 211 12(@main(u1;): 9(fvec4) Function None 10 212 11(pos): 7(ptr) FunctionParameter 213 13: Label 214 24: 23(ptr) AccessChain 22(sbuf_a@count) 19 215 27: 6(int) AtomicIAdd 24 25 26 25 216 34: 33(ptr) AccessChain 17(sbuf_a) 19 27 217 Store 34 32 218 37: 23(ptr) AccessChain 36(sbuf_c@count) 19 219 39: 6(int) AtomicIAdd 37 25 26 38 220 41: 6(int) IAdd 39 40 221 42: 33(ptr) AccessChain 35(sbuf_c) 19 41 222 43: 9(fvec4) Load 42 223 ReturnValue 43 224 FunctionEnd 225