1spv.meshShaderSharedMem.mesh 2// Module Version 10000 3// Generated by (magic number): 8000a 4// Id's are bound by 77 5 6 Capability StorageImageWriteWithoutFormat 7 Capability MeshShadingNV 8 Extension "SPV_NV_mesh_shader" 9 1: ExtInstImport "GLSL.std.450" 10 MemoryModel Logical GLSL450 11 EntryPoint MeshNV 4 "main" 11 17 12 ExecutionMode 4 LocalSize 32 1 1 13 ExecutionMode 4 OutputVertices 81 14 ExecutionMode 4 OutputPrimitivesNV 32 15 ExecutionMode 4 OutputTrianglesNV 16 Source GLSL 450 17 SourceExtension "GL_NV_mesh_shader" 18 Name 4 "main" 19 Name 8 "iid" 20 Name 11 "gl_LocalInvocationID" 21 Name 16 "gid" 22 Name 17 "gl_WorkGroupID" 23 Name 20 "i" 24 Name 34 "mem" 25 Name 37 "block0" 26 MemberName 37(block0) 0 "uni_value" 27 Name 39 "" 28 Name 55 "uni_image" 29 Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId 30 Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId 31 MemberDecorate 37(block0) 0 Offset 0 32 Decorate 37(block0) Block 33 Decorate 39 DescriptorSet 0 34 Decorate 39 Binding 1 35 Decorate 55(uni_image) DescriptorSet 0 36 Decorate 55(uni_image) Binding 0 37 Decorate 55(uni_image) NonReadable 38 Decorate 76 BuiltIn WorkgroupSize 39 2: TypeVoid 40 3: TypeFunction 2 41 6: TypeInt 32 0 42 7: TypePointer Function 6(int) 43 9: TypeVector 6(int) 3 44 10: TypePointer Input 9(ivec3) 4511(gl_LocalInvocationID): 10(ptr) Variable Input 46 12: 6(int) Constant 0 47 13: TypePointer Input 6(int) 4817(gl_WorkGroupID): 10(ptr) Variable Input 49 27: 6(int) Constant 10 50 28: TypeBool 51 30: TypeFloat 32 52 31: TypeVector 30(float) 4 53 32: TypeArray 31(fvec4) 27 54 33: TypePointer Workgroup 32 55 34(mem): 33(ptr) Variable Workgroup 56 37(block0): TypeStruct 6(int) 57 38: TypePointer Uniform 37(block0) 58 39: 38(ptr) Variable Uniform 59 40: TypeInt 32 1 60 41: 40(int) Constant 0 61 42: TypePointer Uniform 6(int) 62 48: TypePointer Workgroup 31(fvec4) 63 51: 40(int) Constant 1 64 53: TypeImage 30(float) 2D nonsampled format:Unknown 65 54: TypePointer UniformConstant 53 66 55(uni_image): 54(ptr) Variable UniformConstant 67 59: TypeVector 40(int) 2 68 69: 6(int) Constant 1 69 73: 6(int) Constant 264 70 74: 6(int) Constant 2 71 75: 6(int) Constant 32 72 76: 9(ivec3) ConstantComposite 75 69 69 73 4(main): 2 Function None 3 74 5: Label 75 8(iid): 7(ptr) Variable Function 76 16(gid): 7(ptr) Variable Function 77 20(i): 7(ptr) Variable Function 78 14: 13(ptr) AccessChain 11(gl_LocalInvocationID) 12 79 15: 6(int) Load 14 80 Store 8(iid) 15 81 18: 13(ptr) AccessChain 17(gl_WorkGroupID) 12 82 19: 6(int) Load 18 83 Store 16(gid) 19 84 Store 20(i) 12 85 Branch 21 86 21: Label 87 LoopMerge 23 24 None 88 Branch 25 89 25: Label 90 26: 6(int) Load 20(i) 91 29: 28(bool) ULessThan 26 27 92 BranchConditional 29 22 23 93 22: Label 94 35: 6(int) Load 20(i) 95 36: 6(int) Load 20(i) 96 43: 42(ptr) AccessChain 39 41 97 44: 6(int) Load 43 98 45: 6(int) IAdd 36 44 99 46: 30(float) ConvertUToF 45 100 47: 31(fvec4) CompositeConstruct 46 46 46 46 101 49: 48(ptr) AccessChain 34(mem) 35 102 Store 49 47 103 Branch 24 104 24: Label 105 50: 6(int) Load 20(i) 106 52: 6(int) IAdd 50 51 107 Store 20(i) 52 108 Branch 21 109 23: Label 110 56: 53 Load 55(uni_image) 111 57: 6(int) Load 8(iid) 112 58: 40(int) Bitcast 57 113 60: 59(ivec2) CompositeConstruct 58 58 114 61: 6(int) Load 16(gid) 115 62: 48(ptr) AccessChain 34(mem) 61 116 63: 31(fvec4) Load 62 117 ImageWrite 56 60 63 118 64: 53 Load 55(uni_image) 119 65: 6(int) Load 8(iid) 120 66: 40(int) Bitcast 65 121 67: 59(ivec2) CompositeConstruct 66 66 122 68: 6(int) Load 16(gid) 123 70: 6(int) IAdd 68 69 124 71: 48(ptr) AccessChain 34(mem) 70 125 72: 31(fvec4) Load 71 126 ImageWrite 64 67 72 127 MemoryBarrier 69 73 128 ControlBarrier 74 74 73 129 Return 130 FunctionEnd 131