1spv.meshShaderTaskMem.mesh 2// Module Version 10000 3// Generated by (magic number): 8000a 4// Id's are bound by 58 5 6 Capability MeshShadingNV 7 Extension "SPV_NV_mesh_shader" 8 1: ExtInstImport "GLSL.std.450" 9 MemoryModel Logical GLSL450 10 EntryPoint MeshNV 4 "main" 11 22 30 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_NV_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 27 ArrayStride 4 36 MemberDecorate 28(taskBlock) 0 PerTaskNV 37 MemberDecorate 28(taskBlock) 0 Offset 0 38 MemberDecorate 28(taskBlock) 1 PerTaskNV 39 MemberDecorate 28(taskBlock) 1 Offset 16 40 Decorate 28(taskBlock) Block 41 Decorate 30(mytask) Location 0 42 Decorate 35 ArrayStride 4 43 MemberDecorate 36(bufferBlock) 0 Offset 0 44 MemberDecorate 36(bufferBlock) 1 Offset 16 45 Decorate 36(bufferBlock) BufferBlock 46 Decorate 38(mybuf) DescriptorSet 0 47 Decorate 38(mybuf) Binding 0 48 Decorate 57 BuiltIn WorkgroupSize 49 2: TypeVoid 50 3: TypeFunction 2 51 6: TypeInt 32 0 52 7: TypePointer Function 6(int) 53 9: TypeVector 6(int) 3 54 10: TypePointer Input 9(ivec3) 5511(gl_LocalInvocationID): 10(ptr) Variable Input 56 12: 6(int) Constant 0 57 13: TypePointer Input 6(int) 58 16: TypeFloat 32 59 17: TypeVector 16(float) 4 60 18(outBlock): TypeStruct 16(float) 17(fvec4) 61 19: 6(int) Constant 81 62 20: TypeArray 18(outBlock) 19 63 21: TypePointer Output 20 64 22(myblk): 21(ptr) Variable Output 65 24: TypeInt 32 1 66 25: 24(int) Constant 0 67 26: 6(int) Constant 2 68 27: TypeArray 16(float) 26 69 28(taskBlock): TypeStruct 27 17(fvec4) 70 29: TypePointer Input 28(taskBlock) 71 30(mytask): 29(ptr) Variable Input 72 31: 24(int) Constant 1 73 32: TypePointer Input 16(float) 74 35: TypeArray 16(float) 26 75 36(bufferBlock): TypeStruct 35 17(fvec4) 76 37: TypePointer Uniform 36(bufferBlock) 77 38(mybuf): 37(ptr) Variable Uniform 78 39: TypePointer Uniform 16(float) 79 43: TypePointer Output 16(float) 80 46: TypePointer Input 17(fvec4) 81 49: TypePointer Uniform 17(fvec4) 82 53: TypePointer Output 17(fvec4) 83 55: 6(int) Constant 32 84 56: 6(int) Constant 1 85 57: 9(ivec3) ConstantComposite 55 56 56 86 4(main): 2 Function None 3 87 5: Label 88 8(iid): 7(ptr) Variable Function 89 14: 13(ptr) AccessChain 11(gl_LocalInvocationID) 12 90 15: 6(int) Load 14 91 Store 8(iid) 15 92 23: 6(int) Load 8(iid) 93 33: 32(ptr) AccessChain 30(mytask) 25 31 94 34: 16(float) Load 33 95 40: 39(ptr) AccessChain 38(mybuf) 25 31 96 41: 16(float) Load 40 97 42: 16(float) FAdd 34 41 98 44: 43(ptr) AccessChain 22(myblk) 23 25 99 Store 44 42 100 45: 6(int) Load 8(iid) 101 47: 46(ptr) AccessChain 30(mytask) 31 102 48: 17(fvec4) Load 47 103 50: 49(ptr) AccessChain 38(mybuf) 31 104 51: 17(fvec4) Load 50 105 52: 17(fvec4) FAdd 48 51 106 54: 53(ptr) AccessChain 22(myblk) 45 31 107 Store 54 52 108 Return 109 FunctionEnd 110