1hlsl.structbuffer.append.fn.frag 2Shader version: 500 3gl_FragCoord origin is upper left 40:? Sequence 50:8 Function Definition: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float) 60:8 Function Parameters: 70: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}) 80:8 'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count}) 90: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}) 100:8 'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count}) 110:? Sequence 120:9 move second child to first child ( temp 4-component vector of float) 130:9 indirect index ( buffer 4-component vector of float) 140:9 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float) 150: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}) 160:9 Constant: 170:9 0 (const uint) 180:9 AtomicAdd ( temp uint) 190:9 @count: direct index for structure ( temp uint) 200:9 'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count}) 210:9 Constant: 220:9 0 (const int) 230:9 Constant: 240:9 1 (const uint) 250:? Constant: 260:? 1.000000 270:? 2.000000 280:? 3.000000 290:? 4.000000 300:10 Branch: Return with expression 310:10 indirect index ( buffer 4-component vector of float) 320:10 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float) 330: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}) 340:10 Constant: 350:10 0 (const uint) 360:10 add ( temp uint) 370:10 AtomicAdd ( temp uint) 380:10 @count: direct index for structure ( temp uint) 390:10 'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count}) 400:10 Constant: 410:10 0 (const int) 420:10 Constant: 430:10 4294967295 (const uint) 440:10 Constant: 450:10 -1 (const int) 460:19 Function Definition: @main(u1; ( temp 4-component vector of float) 470:19 Function Parameters: 480:19 'pos' ( in uint) 490:? Sequence 500:22 Branch: Return with expression 510:22 Function Call: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float) 520: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}) 530:22 'sbuf_a@count' ( buffer block{layout( row_major std430) buffer uint @count}) 540: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}) 550:22 'sbuf_c@count' ( buffer block{layout( row_major std430) buffer uint @count}) 560:19 Function Definition: main( ( temp void) 570:19 Function Parameters: 580:? Sequence 590:19 move second child to first child ( temp uint) 600:? 'pos' ( temp uint) 610:? 'pos' (layout( location=0) flat in uint) 620:19 move second child to first child ( temp 4-component vector of float) 630:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 640:19 Function Call: @main(u1; ( temp 4-component vector of float) 650:? 'pos' ( temp uint) 660:? Linker Objects 670:? 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 680:? 'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 690:? 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 700:? 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 710:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 720:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 730:? 'pos' (layout( location=0) flat in uint) 74 75 76Linked fragment stage: 77 78 79Shader version: 500 80gl_FragCoord origin is upper left 810:? Sequence 820:8 Function Definition: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float) 830:8 Function Parameters: 840: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}) 850:8 'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count}) 860: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}) 870:8 'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count}) 880:? Sequence 890:9 move second child to first child ( temp 4-component vector of float) 900:9 indirect index ( buffer 4-component vector of float) 910:9 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float) 920: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}) 930:9 Constant: 940:9 0 (const uint) 950:9 AtomicAdd ( temp uint) 960:9 @count: direct index for structure ( temp uint) 970:9 'arg_a@count' ( buffer block{layout( row_major std430) buffer uint @count}) 980:9 Constant: 990:9 0 (const int) 1000:9 Constant: 1010:9 1 (const uint) 1020:? Constant: 1030:? 1.000000 1040:? 2.000000 1050:? 3.000000 1060:? 4.000000 1070:10 Branch: Return with expression 1080:10 indirect index ( buffer 4-component vector of float) 1090:10 @data: direct index for structure ( buffer unsized 1-element array of 4-component vector of float) 1100: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}) 1110:10 Constant: 1120:10 0 (const uint) 1130:10 add ( temp uint) 1140:10 AtomicAdd ( temp uint) 1150:10 @count: direct index for structure ( temp uint) 1160:10 'arg_c@count' ( buffer block{layout( row_major std430) buffer uint @count}) 1170:10 Constant: 1180:10 0 (const int) 1190:10 Constant: 1200:10 4294967295 (const uint) 1210:10 Constant: 1220:10 -1 (const int) 1230:19 Function Definition: @main(u1; ( temp 4-component vector of float) 1240:19 Function Parameters: 1250:19 'pos' ( in uint) 1260:? Sequence 1270:22 Branch: Return with expression 1280:22 Function Call: Fn2(block--vf4[0]1;block--vf4[0]1; ( temp 4-component vector of float) 1290: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}) 1300:22 'sbuf_a@count' ( buffer block{layout( row_major std430) buffer uint @count}) 1310: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}) 1320:22 'sbuf_c@count' ( buffer block{layout( row_major std430) buffer uint @count}) 1330:19 Function Definition: main( ( temp void) 1340:19 Function Parameters: 1350:? Sequence 1360:19 move second child to first child ( temp uint) 1370:? 'pos' ( temp uint) 1380:? 'pos' (layout( location=0) flat in uint) 1390:19 move second child to first child ( temp 4-component vector of float) 1400:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1410:19 Function Call: @main(u1; ( temp 4-component vector of float) 1420:? 'pos' ( temp uint) 1430:? Linker Objects 1440:? 'sbuf_a' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 1450:? 'sbuf_a@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 1460:? 'sbuf_c' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 1470:? 'sbuf_c@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 1480:? 'sbuf_unused' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 1490:? '@entryPointOutput' (layout( location=0) out 4-component vector of float) 1500:? 'pos' (layout( location=0) flat in uint) 151 152// Module Version 10000 153// Generated by (magic number): 80007 154// Id's are bound by 70 155 156 Capability Shader 157 1: ExtInstImport "GLSL.std.450" 158 MemoryModel Logical GLSL450 159 EntryPoint Fragment 4 "main" 58 61 160 ExecutionMode 4 OriginUpperLeft 161 Source HLSL 500 162 Name 4 "main" 163 Name 9 "" 164 MemberName 9 0 "@data" 165 Name 12 "" 166 MemberName 12 0 "@count" 167 Name 19 "Fn2(block--vf4[0]1;block--vf4[0]1;" 168 Name 15 "arg_a" 169 Name 16 "arg_a@count" 170 Name 17 "arg_c" 171 Name 18 "arg_c@count" 172 Name 24 "@main(u1;" 173 Name 23 "pos" 174 Name 49 "sbuf_a" 175 Name 50 "sbuf_a@count" 176 Name 51 "sbuf_c" 177 Name 52 "sbuf_c@count" 178 Name 56 "pos" 179 Name 58 "pos" 180 Name 61 "@entryPointOutput" 181 Name 62 "param" 182 Name 65 "sbuf_a@count" 183 MemberName 65(sbuf_a@count) 0 "@count" 184 Name 67 "sbuf_a@count" 185 Name 68 "sbuf_c@count" 186 Name 69 "sbuf_unused" 187 Decorate 8 ArrayStride 16 188 MemberDecorate 9 0 Offset 0 189 Decorate 9 BufferBlock 190 Decorate 12 BufferBlock 191 Decorate 49(sbuf_a) DescriptorSet 0 192 Decorate 50(sbuf_a@count) DescriptorSet 0 193 Decorate 51(sbuf_c) DescriptorSet 0 194 Decorate 52(sbuf_c@count) DescriptorSet 0 195 Decorate 58(pos) Flat 196 Decorate 58(pos) Location 0 197 Decorate 61(@entryPointOutput) Location 0 198 MemberDecorate 65(sbuf_a@count) 0 Offset 0 199 Decorate 65(sbuf_a@count) BufferBlock 200 Decorate 67(sbuf_a@count) DescriptorSet 0 201 Decorate 68(sbuf_c@count) DescriptorSet 0 202 Decorate 69(sbuf_unused) DescriptorSet 0 203 2: TypeVoid 204 3: TypeFunction 2 205 6: TypeFloat 32 206 7: TypeVector 6(float) 4 207 8: TypeRuntimeArray 7(fvec4) 208 9: TypeStruct 8 209 10: TypePointer Uniform 9(struct) 210 11: TypeInt 32 0 211 12: TypeStruct 11(int) 212 13: TypePointer Uniform 12(struct) 213 14: TypeFunction 7(fvec4) 10(ptr) 13(ptr) 10(ptr) 13(ptr) 214 21: TypePointer Function 11(int) 215 22: TypeFunction 7(fvec4) 21(ptr) 216 26: TypeInt 32 1 217 27: 26(int) Constant 0 218 28: TypePointer Uniform 11(int) 219 30: 11(int) Constant 1 220 31: 11(int) Constant 0 221 33: 6(float) Constant 1065353216 222 34: 6(float) Constant 1073741824 223 35: 6(float) Constant 1077936128 224 36: 6(float) Constant 1082130432 225 37: 7(fvec4) ConstantComposite 33 34 35 36 226 38: TypePointer Uniform 7(fvec4) 227 41: 11(int) Constant 4294967295 228 43: 26(int) Constant 4294967295 229 49(sbuf_a): 10(ptr) Variable Uniform 23050(sbuf_a@count): 13(ptr) Variable Uniform 231 51(sbuf_c): 10(ptr) Variable Uniform 23252(sbuf_c@count): 13(ptr) Variable Uniform 233 57: TypePointer Input 11(int) 234 58(pos): 57(ptr) Variable Input 235 60: TypePointer Output 7(fvec4) 23661(@entryPointOutput): 60(ptr) Variable Output 23765(sbuf_a@count): TypeStruct 11(int) 238 66: TypePointer Uniform 65(sbuf_a@count) 23967(sbuf_a@count): 66(ptr) Variable Uniform 24068(sbuf_c@count): 66(ptr) Variable Uniform 241 69(sbuf_unused): 10(ptr) Variable Uniform 242 4(main): 2 Function None 3 243 5: Label 244 56(pos): 21(ptr) Variable Function 245 62(param): 21(ptr) Variable Function 246 59: 11(int) Load 58(pos) 247 Store 56(pos) 59 248 63: 11(int) Load 56(pos) 249 Store 62(param) 63 250 64: 7(fvec4) FunctionCall 24(@main(u1;) 62(param) 251 Store 61(@entryPointOutput) 64 252 Return 253 FunctionEnd 25419(Fn2(block--vf4[0]1;block--vf4[0]1;): 7(fvec4) Function None 14 255 15(arg_a): 10(ptr) FunctionParameter 256 16(arg_a@count): 13(ptr) FunctionParameter 257 17(arg_c): 10(ptr) FunctionParameter 258 18(arg_c@count): 13(ptr) FunctionParameter 259 20: Label 260 29: 28(ptr) AccessChain 16(arg_a@count) 27 261 32: 11(int) AtomicIAdd 29 30 31 30 262 39: 38(ptr) AccessChain 15(arg_a) 27 32 263 Store 39 37 264 40: 28(ptr) AccessChain 18(arg_c@count) 27 265 42: 11(int) AtomicIAdd 40 30 31 41 266 44: 11(int) IAdd 42 43 267 45: 38(ptr) AccessChain 17(arg_c) 27 44 268 46: 7(fvec4) Load 45 269 ReturnValue 46 270 FunctionEnd 271 24(@main(u1;): 7(fvec4) Function None 22 272 23(pos): 21(ptr) FunctionParameter 273 25: Label 274 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) 275 ReturnValue 53 276 FunctionEnd 277