spv.atomiAddEXT.task // Module Version 10400 // Generated by (magic number): 8000b // Id's are bound by 34 Capability MeshShadingEXT Extension "SPV_EXT_mesh_shader" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint TaskEXT 4 "main" 9 23 28 ExecutionMode 4 LocalSize 1 1 1 Source GLSL 460 SourceExtension "GL_EXT_mesh_shader" Name 4 "main" Name 7 "Buffer" MemberName 7(Buffer) 0 "x" Name 9 "" Name 20 "structType" MemberName 20(structType) 0 "y" Name 21 "t2" MemberName 21(t2) 0 "f" Name 23 "t" Name 26 "taskBlock" MemberName 26(taskBlock) 0 "atom1" Name 28 "mytask" Decorate 7(Buffer) Block MemberDecorate 7(Buffer) 0 Coherent MemberDecorate 7(Buffer) 0 Offset 0 Decorate 9 Coherent Decorate 9 Binding 1 Decorate 9 DescriptorSet 0 Decorate 19 ArrayStride 4 MemberDecorate 20(structType) 0 Offset 0 Decorate 21(t2) Block MemberDecorate 21(t2) 0 Offset 0 Decorate 23(t) Binding 0 Decorate 23(t) DescriptorSet 0 Decorate 33 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 7(Buffer): TypeStruct 6(int) 8: TypePointer StorageBuffer 7(Buffer) 9: 8(ptr) Variable StorageBuffer 10: 6(int) Constant 0 11: TypePointer StorageBuffer 6(int) 13: 6(int) Constant 1 14: TypeInt 32 0 15: 14(int) Constant 1 16: 14(int) Constant 0 18: 14(int) Constant 3 19: TypeArray 6(int) 18 20(structType): TypeStruct 19 21(t2): TypeStruct 20(structType) 22: TypePointer StorageBuffer 21(t2) 23(t): 22(ptr) Variable StorageBuffer 26(taskBlock): TypeStruct 6(int) 27: TypePointer TaskPayloadWorkgroupEXT 26(taskBlock) 28(mytask): 27(ptr) Variable TaskPayloadWorkgroupEXT 29: TypePointer TaskPayloadWorkgroupEXT 6(int) 32: TypeVector 14(int) 3 33: 32(ivec3) ConstantComposite 15 15 15 4(main): 2 Function None 3 5: Label 12: 11(ptr) AccessChain 9 10 17: 6(int) AtomicIAdd 12 15 16 13 24: 11(ptr) AccessChain 23(t) 10 10 13 25: 6(int) AtomicIAdd 24 15 16 13 30: 29(ptr) AccessChain 28(mytask) 10 31: 6(int) AtomicIAdd 30 15 16 13 Return FunctionEnd