1spv.meshShaderBuiltins.mesh 2// Module Version 10000 3// Generated by (magic number): 8000a 4// Id's are bound by 148 5 6 Capability ClipDistance 7 Capability CullDistance 8 Capability DrawParameters 9 Capability ShaderViewportMaskNV 10 Capability MeshShadingNV 11 Extension "SPV_KHR_shader_draw_parameters" 12 Extension "SPV_NV_mesh_shader" 13 Extension "SPV_NV_viewport_array2" 14 1: ExtInstImport "GLSL.std.450" 15 MemoryModel Logical GLSL450 16 EntryPoint MeshNV 4 "main" 11 17 34 88 129 142 146 17 ExecutionMode 4 LocalSize 32 1 1 18 ExecutionMode 4 OutputVertices 81 19 ExecutionMode 4 OutputPrimitivesNV 32 20 ExecutionMode 4 OutputTrianglesNV 21 Source GLSL 460 22 SourceExtension "GL_NV_mesh_shader" 23 Name 4 "main" 24 Name 8 "iid" 25 Name 11 "gl_LocalInvocationID" 26 Name 16 "gid" 27 Name 17 "gl_WorkGroupID" 28 Name 30 "gl_MeshPerVertexNV" 29 MemberName 30(gl_MeshPerVertexNV) 0 "gl_Position" 30 MemberName 30(gl_MeshPerVertexNV) 1 "gl_PointSize" 31 MemberName 30(gl_MeshPerVertexNV) 2 "gl_ClipDistance" 32 MemberName 30(gl_MeshPerVertexNV) 3 "gl_CullDistance" 33 MemberName 30(gl_MeshPerVertexNV) 4 "gl_PositionPerViewNV" 34 MemberName 30(gl_MeshPerVertexNV) 5 "gl_ClipDistancePerViewNV" 35 MemberName 30(gl_MeshPerVertexNV) 6 "gl_CullDistancePerViewNV" 36 Name 34 "gl_MeshVerticesNV" 37 Name 84 "gl_MeshPerPrimitiveNV" 38 MemberName 84(gl_MeshPerPrimitiveNV) 0 "gl_PrimitiveID" 39 MemberName 84(gl_MeshPerPrimitiveNV) 1 "gl_Layer" 40 MemberName 84(gl_MeshPerPrimitiveNV) 2 "gl_ViewportIndex" 41 MemberName 84(gl_MeshPerPrimitiveNV) 3 "gl_ViewportMask" 42 MemberName 84(gl_MeshPerPrimitiveNV) 4 "gl_LayerPerViewNV" 43 MemberName 84(gl_MeshPerPrimitiveNV) 5 "gl_ViewportMaskPerViewNV" 44 Name 88 "gl_MeshPrimitivesNV" 45 Name 129 "gl_PrimitiveIndicesNV" 46 Name 142 "gl_DrawID" 47 Name 146 "gl_PrimitiveCountNV" 48 Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId 49 Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId 50 MemberDecorate 30(gl_MeshPerVertexNV) 0 BuiltIn Position 51 MemberDecorate 30(gl_MeshPerVertexNV) 1 BuiltIn PointSize 52 MemberDecorate 30(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance 53 MemberDecorate 30(gl_MeshPerVertexNV) 3 BuiltIn CullDistance 54 MemberDecorate 30(gl_MeshPerVertexNV) 4 PerViewNV 55 MemberDecorate 30(gl_MeshPerVertexNV) 4 BuiltIn PositionPerViewNV 56 MemberDecorate 30(gl_MeshPerVertexNV) 5 PerViewNV 57 MemberDecorate 30(gl_MeshPerVertexNV) 5 BuiltIn ClipDistancePerViewNV 58 MemberDecorate 30(gl_MeshPerVertexNV) 6 PerViewNV 59 MemberDecorate 30(gl_MeshPerVertexNV) 6 BuiltIn CullDistancePerViewNV 60 Decorate 30(gl_MeshPerVertexNV) Block 61 MemberDecorate 84(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV 62 MemberDecorate 84(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId 63 MemberDecorate 84(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV 64 MemberDecorate 84(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer 65 MemberDecorate 84(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV 66 MemberDecorate 84(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex 67 MemberDecorate 84(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV 68 MemberDecorate 84(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV 69 MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 PerPrimitiveNV 70 MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 PerViewNV 71 MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV 72 MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 PerPrimitiveNV 73 MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 PerViewNV 74 MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV 75 Decorate 84(gl_MeshPerPrimitiveNV) Block 76 Decorate 129(gl_PrimitiveIndicesNV) BuiltIn PrimitiveIndicesNV 77 Decorate 142(gl_DrawID) BuiltIn DrawIndex 78 Decorate 146(gl_PrimitiveCountNV) BuiltIn PrimitiveCountNV 79 Decorate 147 BuiltIn WorkgroupSize 80 2: TypeVoid 81 3: TypeFunction 2 82 6: TypeInt 32 0 83 7: TypePointer Function 6(int) 84 9: TypeVector 6(int) 3 85 10: TypePointer Input 9(ivec3) 8611(gl_LocalInvocationID): 10(ptr) Variable Input 87 12: 6(int) Constant 0 88 13: TypePointer Input 6(int) 8917(gl_WorkGroupID): 10(ptr) Variable Input 90 20: TypeFloat 32 91 21: TypeVector 20(float) 4 92 22: 6(int) Constant 4 93 23: TypeArray 20(float) 22 94 24: 6(int) Constant 3 95 25: TypeArray 20(float) 24 96 26: TypeArray 21(fvec4) 22 97 27: 6(int) Constant 1 98 28: TypeArray 20(float) 27 99 29: TypeArray 28 22 10030(gl_MeshPerVertexNV): TypeStruct 21(fvec4) 20(float) 23 25 26 29 29 101 31: 6(int) Constant 81 102 32: TypeArray 30(gl_MeshPerVertexNV) 31 103 33: TypePointer Output 32 10434(gl_MeshVerticesNV): 33(ptr) Variable Output 105 36: TypeInt 32 1 106 37: 36(int) Constant 0 107 38: 20(float) Constant 1065353216 108 39: 21(fvec4) ConstantComposite 38 38 38 38 109 40: TypePointer Output 21(fvec4) 110 43: 36(int) Constant 1 111 44: 20(float) Constant 1073741824 112 45: TypePointer Output 20(float) 113 48: 36(int) Constant 2 114 49: 36(int) Constant 3 115 50: 20(float) Constant 1077936128 116 53: 20(float) Constant 1082130432 117 55: 6(int) Constant 264 118 56: 6(int) Constant 2 119 81: TypeArray 36(int) 27 120 82: TypeArray 36(int) 22 121 83: TypeArray 81 22 12284(gl_MeshPerPrimitiveNV): TypeStruct 36(int) 36(int) 36(int) 81 82 83 123 85: 6(int) Constant 32 124 86: TypeArray 84(gl_MeshPerPrimitiveNV) 85 125 87: TypePointer Output 86 12688(gl_MeshPrimitivesNV): 87(ptr) Variable Output 127 90: 36(int) Constant 6 128 91: TypePointer Output 36(int) 129 94: 36(int) Constant 7 130 97: 36(int) Constant 8 131 100: 36(int) Constant 9 132 126: 6(int) Constant 96 133 127: TypeArray 6(int) 126 134 128: TypePointer Output 127 135129(gl_PrimitiveIndicesNV): 128(ptr) Variable Output 136 130: 6(int) Constant 257 137 131: TypePointer Output 6(int) 138 133: 36(int) Constant 95 139 141: TypePointer Input 36(int) 140 142(gl_DrawID): 141(ptr) Variable Input 141 145: 6(int) Constant 16909060 142146(gl_PrimitiveCountNV): 131(ptr) Variable Output 143 147: 9(ivec3) ConstantComposite 85 27 27 144 4(main): 2 Function None 3 145 5: Label 146 8(iid): 7(ptr) Variable Function 147 16(gid): 7(ptr) Variable Function 148 14: 13(ptr) AccessChain 11(gl_LocalInvocationID) 12 149 15: 6(int) Load 14 150 Store 8(iid) 15 151 18: 13(ptr) AccessChain 17(gl_WorkGroupID) 12 152 19: 6(int) Load 18 153 Store 16(gid) 19 154 35: 6(int) Load 8(iid) 155 41: 40(ptr) AccessChain 34(gl_MeshVerticesNV) 35 37 156 Store 41 39 157 42: 6(int) Load 8(iid) 158 46: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 42 43 159 Store 46 44 160 47: 6(int) Load 8(iid) 161 51: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 47 48 49 162 Store 51 50 163 52: 6(int) Load 8(iid) 164 54: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 52 49 48 165 Store 54 53 166 MemoryBarrier 27 55 167 ControlBarrier 56 56 55 168 57: 6(int) Load 8(iid) 169 58: 6(int) IAdd 57 27 170 59: 6(int) Load 8(iid) 171 60: 40(ptr) AccessChain 34(gl_MeshVerticesNV) 59 37 172 61: 21(fvec4) Load 60 173 62: 40(ptr) AccessChain 34(gl_MeshVerticesNV) 58 37 174 Store 62 61 175 63: 6(int) Load 8(iid) 176 64: 6(int) IAdd 63 27 177 65: 6(int) Load 8(iid) 178 66: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 65 43 179 67: 20(float) Load 66 180 68: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 64 43 181 Store 68 67 182 69: 6(int) Load 8(iid) 183 70: 6(int) IAdd 69 27 184 71: 6(int) Load 8(iid) 185 72: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 71 48 49 186 73: 20(float) Load 72 187 74: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 70 48 49 188 Store 74 73 189 75: 6(int) Load 8(iid) 190 76: 6(int) IAdd 75 27 191 77: 6(int) Load 8(iid) 192 78: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 77 49 48 193 79: 20(float) Load 78 194 80: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 76 49 48 195 Store 80 79 196 MemoryBarrier 27 55 197 ControlBarrier 56 56 55 198 89: 6(int) Load 8(iid) 199 92: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 89 37 200 Store 92 90 201 93: 6(int) Load 8(iid) 202 95: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 93 43 203 Store 95 94 204 96: 6(int) Load 8(iid) 205 98: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 96 48 206 Store 98 97 207 99: 6(int) Load 8(iid) 208 101: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 99 49 37 209 Store 101 100 210 MemoryBarrier 27 55 211 ControlBarrier 56 56 55 212 102: 6(int) Load 8(iid) 213 103: 6(int) IAdd 102 27 214 104: 6(int) Load 8(iid) 215 105: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 104 37 216 106: 36(int) Load 105 217 107: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 103 37 218 Store 107 106 219 108: 6(int) Load 8(iid) 220 109: 6(int) IAdd 108 27 221 110: 6(int) Load 8(iid) 222 111: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 110 43 223 112: 36(int) Load 111 224 113: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 109 43 225 Store 113 112 226 114: 6(int) Load 8(iid) 227 115: 6(int) IAdd 114 27 228 116: 6(int) Load 8(iid) 229 117: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 116 48 230 118: 36(int) Load 117 231 119: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 115 48 232 Store 119 118 233 120: 6(int) Load 8(iid) 234 121: 6(int) IAdd 120 27 235 122: 6(int) Load 8(iid) 236 123: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 122 49 37 237 124: 36(int) Load 123 238 125: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 121 49 37 239 Store 125 124 240 MemoryBarrier 27 55 241 ControlBarrier 56 56 55 242 132: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 37 243 Store 132 130 244 134: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 133 245 Store 134 56 246 135: 6(int) Load 16(gid) 247 136: 6(int) Load 16(gid) 248 137: 6(int) ISub 136 27 249 138: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 137 250 139: 6(int) Load 138 251 140: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 135 252 Store 140 139 253 143: 36(int) Load 142(gl_DrawID) 254 144: 6(int) Bitcast 143 255 145: 144 WritePackedPrimitiveIndices4x8NV 256 Store 146(gl_PrimitiveCountNV) 126 257 MemoryBarrier 27 55 258 ControlBarrier 56 56 55 259 Return 260 FunctionEnd 261