1spv.ext.meshShaderTaskMem.mesh 2// Module Version 10400 3// Generated by (magic number): 8000b 4// Id's are bound by 58 5 6 Capability MeshShadingEXT 7 Extension "SPV_EXT_mesh_shader" 8 1: ExtInstImport "GLSL.std.450" 9 MemoryModel Logical GLSL450 10 EntryPoint MeshEXT 4 "main" 11 22 30 38 11 ExecutionMode 4 LocalSize 32 1 1 12 ExecutionMode 4 OutputVertices 81 13 ExecutionMode 4 OutputPrimitivesNV 32 14 ExecutionMode 4 OutputTrianglesNV 15 Source GLSL 450 16 SourceExtension "GL_EXT_mesh_shader" 17 Name 4 "main" 18 Name 8 "iid" 19 Name 11 "gl_LocalInvocationID" 20 Name 18 "outBlock" 21 MemberName 18(outBlock) 0 "gid5" 22 MemberName 18(outBlock) 1 "gid6" 23 Name 22 "myblk" 24 Name 28 "taskBlock" 25 MemberName 28(taskBlock) 0 "gid1" 26 MemberName 28(taskBlock) 1 "gid2" 27 Name 30 "mytask" 28 Name 36 "bufferBlock" 29 MemberName 36(bufferBlock) 0 "gid3" 30 MemberName 36(bufferBlock) 1 "gid4" 31 Name 38 "mybuf" 32 Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId 33 Decorate 18(outBlock) Block 34 Decorate 22(myblk) Location 0 35 Decorate 35 ArrayStride 4 36 Decorate 36(bufferBlock) Block 37 MemberDecorate 36(bufferBlock) 0 Offset 0 38 MemberDecorate 36(bufferBlock) 1 Offset 16 39 Decorate 38(mybuf) Binding 0 40 Decorate 38(mybuf) DescriptorSet 0 41 Decorate 57 BuiltIn WorkgroupSize 42 2: TypeVoid 43 3: TypeFunction 2 44 6: TypeInt 32 0 45 7: TypePointer Function 6(int) 46 9: TypeVector 6(int) 3 47 10: TypePointer Input 9(ivec3) 4811(gl_LocalInvocationID): 10(ptr) Variable Input 49 12: 6(int) Constant 0 50 13: TypePointer Input 6(int) 51 16: TypeFloat 32 52 17: TypeVector 16(float) 4 53 18(outBlock): TypeStruct 16(float) 17(fvec4) 54 19: 6(int) Constant 81 55 20: TypeArray 18(outBlock) 19 56 21: TypePointer Output 20 57 22(myblk): 21(ptr) Variable Output 58 24: TypeInt 32 1 59 25: 24(int) Constant 0 60 26: 6(int) Constant 2 61 27: TypeArray 16(float) 26 62 28(taskBlock): TypeStruct 27 17(fvec4) 63 29: TypePointer TaskPayloadWorkgroupEXT 28(taskBlock) 64 30(mytask): 29(ptr) Variable TaskPayloadWorkgroupEXT 65 31: 24(int) Constant 1 66 32: TypePointer TaskPayloadWorkgroupEXT 16(float) 67 35: TypeArray 16(float) 26 68 36(bufferBlock): TypeStruct 35 17(fvec4) 69 37: TypePointer StorageBuffer 36(bufferBlock) 70 38(mybuf): 37(ptr) Variable StorageBuffer 71 39: TypePointer StorageBuffer 16(float) 72 43: TypePointer Output 16(float) 73 46: TypePointer TaskPayloadWorkgroupEXT 17(fvec4) 74 49: TypePointer StorageBuffer 17(fvec4) 75 53: TypePointer Output 17(fvec4) 76 55: 6(int) Constant 32 77 56: 6(int) Constant 1 78 57: 9(ivec3) ConstantComposite 55 56 56 79 4(main): 2 Function None 3 80 5: Label 81 8(iid): 7(ptr) Variable Function 82 14: 13(ptr) AccessChain 11(gl_LocalInvocationID) 12 83 15: 6(int) Load 14 84 Store 8(iid) 15 85 23: 6(int) Load 8(iid) 86 33: 32(ptr) AccessChain 30(mytask) 25 31 87 34: 16(float) Load 33 88 40: 39(ptr) AccessChain 38(mybuf) 25 31 89 41: 16(float) Load 40 90 42: 16(float) FAdd 34 41 91 44: 43(ptr) AccessChain 22(myblk) 23 25 92 Store 44 42 93 45: 6(int) Load 8(iid) 94 47: 46(ptr) AccessChain 30(mytask) 31 95 48: 17(fvec4) Load 47 96 50: 49(ptr) AccessChain 38(mybuf) 31 97 51: 17(fvec4) Load 50 98 52: 17(fvec4) FAdd 48 51 99 54: 53(ptr) AccessChain 22(myblk) 45 31 100 Store 54 52 101 Return 102 FunctionEnd 103