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:9 Constant: 260:9 1.000000 270:9 2.000000 280:9 3.000000 290:9 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:9 Constant: 1030:9 1.000000 1040:9 2.000000 1050:9 3.000000 1060:9 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 152Validation failed 153// Module Version 10000 154// Generated by (magic number): 8000a 155// Id's are bound by 70 156 157 Capability Shader 158 1: ExtInstImport "GLSL.std.450" 159 MemoryModel Logical GLSL450 160 EntryPoint Fragment 4 "main" 58 61 161 ExecutionMode 4 OriginUpperLeft 162 Source HLSL 500 163 Name 4 "main" 164 Name 9 "" 165 MemberName 9 0 "@data" 166 Name 12 "" 167 MemberName 12 0 "@count" 168 Name 19 "Fn2(block--vf4[0]1;block--vf4[0]1;" 169 Name 15 "arg_a" 170 Name 16 "arg_a@count" 171 Name 17 "arg_c" 172 Name 18 "arg_c@count" 173 Name 24 "@main(u1;" 174 Name 23 "pos" 175 Name 49 "sbuf_a" 176 Name 50 "sbuf_a@count" 177 Name 51 "sbuf_c" 178 Name 52 "sbuf_c@count" 179 Name 56 "pos" 180 Name 58 "pos" 181 Name 61 "@entryPointOutput" 182 Name 62 "param" 183 Name 65 "sbuf_a@count" 184 MemberName 65(sbuf_a@count) 0 "@count" 185 Name 67 "sbuf_a@count" 186 Name 68 "sbuf_c@count" 187 Name 69 "sbuf_unused" 188 Decorate 8 ArrayStride 16 189 MemberDecorate 9 0 Offset 0 190 Decorate 9 BufferBlock 191 Decorate 12 BufferBlock 192 Decorate 49(sbuf_a) DescriptorSet 0 193 Decorate 49(sbuf_a) Binding 0 194 Decorate 50(sbuf_a@count) DescriptorSet 0 195 Decorate 50(sbuf_a@count) Binding 0 196 Decorate 51(sbuf_c) DescriptorSet 0 197 Decorate 51(sbuf_c) Binding 1 198 Decorate 52(sbuf_c@count) DescriptorSet 0 199 Decorate 52(sbuf_c@count) Binding 0 200 Decorate 58(pos) Flat 201 Decorate 58(pos) Location 0 202 Decorate 61(@entryPointOutput) Location 0 203 MemberDecorate 65(sbuf_a@count) 0 Offset 0 204 Decorate 65(sbuf_a@count) BufferBlock 205 Decorate 67(sbuf_a@count) DescriptorSet 0 206 Decorate 67(sbuf_a@count) Binding 0 207 Decorate 68(sbuf_c@count) DescriptorSet 0 208 Decorate 68(sbuf_c@count) Binding 0 209 Decorate 69(sbuf_unused) DescriptorSet 0 210 Decorate 69(sbuf_unused) Binding 0 211 2: TypeVoid 212 3: TypeFunction 2 213 6: TypeFloat 32 214 7: TypeVector 6(float) 4 215 8: TypeRuntimeArray 7(fvec4) 216 9: TypeStruct 8 217 10: TypePointer Uniform 9(struct) 218 11: TypeInt 32 0 219 12: TypeStruct 11(int) 220 13: TypePointer Uniform 12(struct) 221 14: TypeFunction 7(fvec4) 10(ptr) 13(ptr) 10(ptr) 13(ptr) 222 21: TypePointer Function 11(int) 223 22: TypeFunction 7(fvec4) 21(ptr) 224 26: TypeInt 32 1 225 27: 26(int) Constant 0 226 28: TypePointer Uniform 11(int) 227 30: 11(int) Constant 1 228 31: 11(int) Constant 0 229 33: 6(float) Constant 1065353216 230 34: 6(float) Constant 1073741824 231 35: 6(float) Constant 1077936128 232 36: 6(float) Constant 1082130432 233 37: 7(fvec4) ConstantComposite 33 34 35 36 234 38: TypePointer Uniform 7(fvec4) 235 41: 11(int) Constant 4294967295 236 43: 26(int) Constant 4294967295 237 49(sbuf_a): 10(ptr) Variable Uniform 23850(sbuf_a@count): 13(ptr) Variable Uniform 239 51(sbuf_c): 10(ptr) Variable Uniform 24052(sbuf_c@count): 13(ptr) Variable Uniform 241 57: TypePointer Input 11(int) 242 58(pos): 57(ptr) Variable Input 243 60: TypePointer Output 7(fvec4) 24461(@entryPointOutput): 60(ptr) Variable Output 24565(sbuf_a@count): TypeStruct 11(int) 246 66: TypePointer Uniform 65(sbuf_a@count) 24767(sbuf_a@count): 66(ptr) Variable Uniform 24868(sbuf_c@count): 66(ptr) Variable Uniform 249 69(sbuf_unused): 10(ptr) Variable Uniform 250 4(main): 2 Function None 3 251 5: Label 252 56(pos): 21(ptr) Variable Function 253 62(param): 21(ptr) Variable Function 254 59: 11(int) Load 58(pos) 255 Store 56(pos) 59 256 63: 11(int) Load 56(pos) 257 Store 62(param) 63 258 64: 7(fvec4) FunctionCall 24(@main(u1;) 62(param) 259 Store 61(@entryPointOutput) 64 260 Return 261 FunctionEnd 26219(Fn2(block--vf4[0]1;block--vf4[0]1;): 7(fvec4) Function None 14 263 15(arg_a): 10(ptr) FunctionParameter 264 16(arg_a@count): 13(ptr) FunctionParameter 265 17(arg_c): 10(ptr) FunctionParameter 266 18(arg_c@count): 13(ptr) FunctionParameter 267 20: Label 268 29: 28(ptr) AccessChain 16(arg_a@count) 27 269 32: 11(int) AtomicIAdd 29 30 31 30 270 39: 38(ptr) AccessChain 15(arg_a) 27 32 271 Store 39 37 272 40: 28(ptr) AccessChain 18(arg_c@count) 27 273 42: 11(int) AtomicIAdd 40 30 31 41 274 44: 11(int) IAdd 42 43 275 45: 38(ptr) AccessChain 17(arg_c) 27 44 276 46: 7(fvec4) Load 45 277 ReturnValue 46 278 FunctionEnd 279 24(@main(u1;): 7(fvec4) Function None 22 280 23(pos): 21(ptr) FunctionParameter 281 25: Label 282 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) 283 ReturnValue 53 284 FunctionEnd 285