1spv.320.meshShaderUserDefined.mesh 2// Module Version 10000 3// Generated by (magic number): 8000b 4// Id's are bound by 143 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" 12 19 37 106 11 ExecutionMode 4 LocalSize 32 1 1 12 ExecutionMode 4 OutputVertices 81 13 ExecutionMode 4 OutputPrimitivesNV 32 14 ExecutionMode 4 OutputTrianglesNV 15 Source ESSL 320 16 SourceExtension "GL_NV_mesh_shader" 17 Name 4 "main" 18 Name 8 "iid" 19 Name 12 "gl_LocalInvocationID" 20 Name 18 "gid" 21 Name 19 "gl_WorkGroupID" 22 Name 33 "myblock" 23 MemberName 33(myblock) 0 "f" 24 MemberName 33(myblock) 1 "fArr" 25 MemberName 33(myblock) 2 "pos" 26 MemberName 33(myblock) 3 "posArr" 27 MemberName 33(myblock) 4 "m" 28 MemberName 33(myblock) 5 "mArr" 29 Name 37 "blk" 30 Name 102 "myblock2" 31 MemberName 102(myblock2) 0 "f" 32 MemberName 102(myblock2) 1 "pos" 33 MemberName 102(myblock2) 2 "m" 34 Name 106 "blk2" 35 Decorate 12(gl_LocalInvocationID) BuiltIn LocalInvocationId 36 Decorate 19(gl_WorkGroupID) BuiltIn WorkgroupId 37 Decorate 33(myblock) Block 38 MemberDecorate 33(myblock) 0 PerPrimitiveNV 39 MemberDecorate 33(myblock) 1 PerPrimitiveNV 40 MemberDecorate 33(myblock) 2 PerPrimitiveNV 41 MemberDecorate 33(myblock) 3 PerPrimitiveNV 42 MemberDecorate 33(myblock) 4 PerPrimitiveNV 43 MemberDecorate 33(myblock) 5 PerPrimitiveNV 44 Decorate 37(blk) Location 0 45 Decorate 102(myblock2) Block 46 Decorate 106(blk2) Location 20 47 Decorate 142 BuiltIn WorkgroupSize 48 2: TypeVoid 49 3: TypeFunction 2 50 6: TypeInt 32 1 51 7: TypePointer Function 6(int) 52 9: TypeInt 32 0 53 10: TypeVector 9(int) 3 54 11: TypePointer Input 10(ivec3) 5512(gl_LocalInvocationID): 11(ptr) Variable Input 56 13: 9(int) Constant 0 57 14: TypePointer Input 9(int) 5819(gl_WorkGroupID): 11(ptr) Variable Input 59 23: TypeFloat 32 60 24: 9(int) Constant 4 61 25: TypeArray 23(float) 24 62 26: TypeVector 23(float) 3 63 27: TypeVector 23(float) 4 64 28: TypeArray 27(fvec4) 24 65 29: TypeMatrix 27(fvec4) 4 66 30: TypeMatrix 26(fvec3) 3 67 31: 9(int) Constant 2 68 32: TypeArray 30 31 69 33(myblock): TypeStruct 23(float) 25 26(fvec3) 28 29 32 70 34: 9(int) Constant 32 71 35: TypeArray 33(myblock) 34 72 36: TypePointer Output 35 73 37(blk): 36(ptr) Variable Output 74 39: 6(int) Constant 0 75 40: 23(float) Constant 1093664768 76 41: TypePointer Output 23(float) 77 44: 6(int) Constant 1 78 52: 6(int) Constant 2 79 54: 23(float) Constant 1096810496 80 55: 23(float) Constant 1097859072 81 56: 23(float) Constant 1095761920 82 57: 26(fvec3) ConstantComposite 54 55 56 83 58: TypePointer Output 26(fvec3) 84 64: 6(int) Constant 3 85 69: 9(int) Constant 1 86 74: 9(int) Constant 3 87 78: 6(int) Constant 4 88 80: 23(float) Constant 1098907648 89 81: 27(fvec4) ConstantComposite 56 54 55 80 90 82: TypePointer Output 27(fvec4) 91 87: 6(int) Constant 5 92 96: 23(float) Constant 1099431936 93 97: 23(float) Constant 1099956224 94 98: 23(float) Constant 1100480512 95 99: 26(fvec3) ConstantComposite 96 97 98 96 101: 9(int) Constant 264 97 102(myblock2): TypeStruct 23(float) 27(fvec4) 29 98 103: 9(int) Constant 81 99 104: TypeArray 102(myblock2) 103 100 105: TypePointer Output 104 101 106(blk2): 105(ptr) Variable Output 102 112: 23(float) Constant 1101004800 103 116: 23(float) Constant 1101529088 104 117: 23(float) Constant 1102053376 105 118: 23(float) Constant 1102577664 106 119: 23(float) Constant 1103101952 107 120: 27(fvec4) ConstantComposite 116 117 118 119 108 132: 23(float) Constant 1105723392 109 142: 10(ivec3) ConstantComposite 34 69 69 110 4(main): 2 Function None 3 111 5: Label 112 8(iid): 7(ptr) Variable Function 113 18(gid): 7(ptr) Variable Function 114 15: 14(ptr) AccessChain 12(gl_LocalInvocationID) 13 115 16: 9(int) Load 15 116 17: 6(int) Bitcast 16 117 Store 8(iid) 17 118 20: 14(ptr) AccessChain 19(gl_WorkGroupID) 13 119 21: 9(int) Load 20 120 22: 6(int) Bitcast 21 121 Store 18(gid) 22 122 38: 6(int) Load 8(iid) 123 42: 41(ptr) AccessChain 37(blk) 38 39 124 Store 42 40 125 43: 6(int) Load 8(iid) 126 45: 6(int) IAdd 43 44 127 46: 6(int) Load 18(gid) 128 47: 6(int) Load 8(iid) 129 48: 41(ptr) AccessChain 37(blk) 47 39 130 49: 23(float) Load 48 131 50: 41(ptr) AccessChain 37(blk) 45 44 46 132 Store 50 49 133 51: 6(int) Load 8(iid) 134 53: 6(int) SDiv 51 52 135 59: 58(ptr) AccessChain 37(blk) 53 52 136 60: 26(fvec3) Load 59 137 61: 26(fvec3) VectorShuffle 60 57 5 3 4 138 Store 59 61 139 62: 6(int) Load 8(iid) 140 63: 6(int) IMul 62 52 141 65: 6(int) Load 8(iid) 142 66: 6(int) SDiv 65 52 143 67: 58(ptr) AccessChain 37(blk) 66 52 144 68: 26(fvec3) Load 67 145 70: 41(ptr) AccessChain 37(blk) 63 64 44 69 146 71: 23(float) CompositeExtract 68 0 147 Store 70 71 148 72: 41(ptr) AccessChain 37(blk) 63 64 44 31 149 73: 23(float) CompositeExtract 68 1 150 Store 72 73 151 75: 41(ptr) AccessChain 37(blk) 63 64 44 74 152 76: 23(float) CompositeExtract 68 2 153 Store 75 76 154 77: 6(int) Load 8(iid) 155 79: 6(int) SDiv 77 78 156 83: 82(ptr) AccessChain 37(blk) 79 78 52 157 84: 27(fvec4) Load 83 158 85: 27(fvec4) VectorShuffle 84 81 7 6 5 4 159 Store 83 85 160 86: 6(int) Load 8(iid) 161 88: 6(int) Load 8(iid) 162 89: 6(int) SDiv 88 78 163 90: 41(ptr) AccessChain 37(blk) 89 78 52 74 164 91: 23(float) Load 90 165 92: 41(ptr) AccessChain 37(blk) 86 87 39 44 69 166 Store 92 91 167 93: 6(int) Load 8(iid) 168 94: 6(int) IMul 93 78 169 95: 6(int) Load 18(gid) 170 100: 58(ptr) AccessChain 37(blk) 94 87 44 95 171 Store 100 99 172 MemoryBarrier 69 101 173 ControlBarrier 31 31 101 174 107: 6(int) Load 8(iid) 175 108: 6(int) Load 8(iid) 176 109: 6(int) ISub 108 44 177 110: 41(ptr) AccessChain 106(blk2) 109 39 178 111: 23(float) Load 110 179 113: 23(float) FAdd 111 112 180 114: 41(ptr) AccessChain 106(blk2) 107 39 181 Store 114 113 182 115: 6(int) Load 8(iid) 183 121: 82(ptr) AccessChain 106(blk2) 115 44 184 Store 121 120 185 122: 6(int) Load 8(iid) 186 123: 6(int) IAdd 122 44 187 124: 6(int) Load 18(gid) 188 125: 6(int) Load 8(iid) 189 126: 82(ptr) AccessChain 106(blk2) 125 44 190 127: 27(fvec4) Load 126 191 128: 82(ptr) AccessChain 106(blk2) 123 52 124 192 Store 128 127 193 129: 6(int) Load 8(iid) 194 130: 6(int) IAdd 129 44 195 131: 6(int) Load 18(gid) 196 133: 41(ptr) AccessChain 106(blk2) 130 52 131 31 197 Store 133 132 198 134: 6(int) Load 8(iid) 199 135: 6(int) IAdd 134 52 200 136: 6(int) Load 8(iid) 201 137: 6(int) IAdd 136 44 202 138: 6(int) Load 18(gid) 203 139: 82(ptr) AccessChain 106(blk2) 137 52 138 204 140: 27(fvec4) Load 139 205 141: 82(ptr) AccessChain 106(blk2) 135 52 64 206 Store 141 140 207 MemoryBarrier 69 101 208 ControlBarrier 31 31 101 209 Return 210 FunctionEnd 211