1 spv.meshShaderBuiltins.mesh 2 // Module Version 10000 3 // Generated by (magic number): 80007 4 // Id's are bound by 146 5 6 Capability ClipDistance 7 Capability CullDistance 8 Capability MultiViewport 9 Capability DrawParameters 10 Capability ShaderViewportMaskNV 11 Capability MeshShadingNV 12 Extension "SPV_KHR_shader_draw_parameters" 13 Extension "SPV_NV_mesh_shader" 14 Extension "SPV_NV_viewport_array2" 15 1: ExtInstImport "GLSL.std.450" 16 MemoryModel Logical GLSL450 17 EntryPoint MeshNV 4 "main" 11 17 34 88 128 139 143 18 ExecutionMode 4 LocalSize 32 1 1 19 ExecutionMode 4 OutputVertices 81 20 ExecutionMode 4 OutputPrimitivesNV 32 21 ExecutionMode 4 OutputTrianglesNV 22 Source GLSL 460 23 SourceExtension "GL_NV_mesh_shader" 24 Name 4 "main" 25 Name 8 "iid" 26 Name 11 "gl_LocalInvocationID" 27 Name 16 "gid" 28 Name 17 "gl_WorkGroupID" 29 Name 30 "gl_MeshPerVertexNV" 30 MemberName 30(gl_MeshPerVertexNV) 0 "gl_Position" 31 MemberName 30(gl_MeshPerVertexNV) 1 "gl_PointSize" 32 MemberName 30(gl_MeshPerVertexNV) 2 "gl_ClipDistance" 33 MemberName 30(gl_MeshPerVertexNV) 3 "gl_CullDistance" 34 MemberName 30(gl_MeshPerVertexNV) 4 "gl_PositionPerViewNV" 35 MemberName 30(gl_MeshPerVertexNV) 5 "gl_ClipDistancePerViewNV" 36 MemberName 30(gl_MeshPerVertexNV) 6 "gl_CullDistancePerViewNV" 37 Name 34 "gl_MeshVerticesNV" 38 Name 84 "gl_MeshPerPrimitiveNV" 39 MemberName 84(gl_MeshPerPrimitiveNV) 0 "gl_PrimitiveID" 40 MemberName 84(gl_MeshPerPrimitiveNV) 1 "gl_Layer" 41 MemberName 84(gl_MeshPerPrimitiveNV) 2 "gl_ViewportIndex" 42 MemberName 84(gl_MeshPerPrimitiveNV) 3 "gl_ViewportMask" 43 MemberName 84(gl_MeshPerPrimitiveNV) 4 "gl_LayerPerViewNV" 44 MemberName 84(gl_MeshPerPrimitiveNV) 5 "gl_ViewportMaskPerViewNV" 45 Name 88 "gl_MeshPrimitivesNV" 46 Name 128 "gl_PrimitiveIndicesNV" 47 Name 139 "gl_DrawID" 48 Name 143 "gl_PrimitiveCountNV" 49 Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId 50 Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId 51 MemberDecorate 30(gl_MeshPerVertexNV) 0 BuiltIn Position 52 MemberDecorate 30(gl_MeshPerVertexNV) 1 BuiltIn PointSize 53 MemberDecorate 30(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance 54 MemberDecorate 30(gl_MeshPerVertexNV) 3 BuiltIn CullDistance 55 MemberDecorate 30(gl_MeshPerVertexNV) 4 PerViewNV 56 MemberDecorate 30(gl_MeshPerVertexNV) 4 BuiltIn PositionPerViewNV 57 MemberDecorate 30(gl_MeshPerVertexNV) 5 PerViewNV 58 MemberDecorate 30(gl_MeshPerVertexNV) 5 BuiltIn ClipDistancePerViewNV 59 MemberDecorate 30(gl_MeshPerVertexNV) 6 PerViewNV 60 MemberDecorate 30(gl_MeshPerVertexNV) 6 BuiltIn CullDistancePerViewNV 61 Decorate 30(gl_MeshPerVertexNV) Block 62 MemberDecorate 84(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV 63 MemberDecorate 84(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId 64 MemberDecorate 84(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV 65 MemberDecorate 84(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer 66 MemberDecorate 84(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV 67 MemberDecorate 84(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex 68 MemberDecorate 84(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV 69 MemberDecorate 84(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV 70 MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 PerPrimitiveNV 71 MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 PerViewNV 72 MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV 73 MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 PerPrimitiveNV 74 MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 PerViewNV 75 MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV 76 Decorate 84(gl_MeshPerPrimitiveNV) Block 77 Decorate 128(gl_PrimitiveIndicesNV) BuiltIn PrimitiveIndicesNV 78 Decorate 139(gl_DrawID) BuiltIn DrawIndex 79 Decorate 143(gl_PrimitiveCountNV) BuiltIn PrimitiveCountNV 80 Decorate 145 BuiltIn WorkgroupSize 81 2: TypeVoid 82 3: TypeFunction 2 83 6: TypeInt 32 0 84 7: TypePointer Function 6(int) 85 9: TypeVector 6(int) 3 86 10: TypePointer Input 9(ivec3) 87 11(gl_LocalInvocationID): 10(ptr) Variable Input 88 12: 6(int) Constant 0 89 13: TypePointer Input 6(int) 90 17(gl_WorkGroupID): 10(ptr) Variable Input 91 20: TypeFloat 32 92 21: TypeVector 20(float) 4 93 22: 6(int) Constant 4 94 23: TypeArray 20(float) 22 95 24: 6(int) Constant 3 96 25: TypeArray 20(float) 24 97 26: TypeArray 21(fvec4) 22 98 27: 6(int) Constant 1 99 28: TypeArray 20(float) 27 100 29: TypeArray 28 22 101 30(gl_MeshPerVertexNV): TypeStruct 21(fvec4) 20(float) 23 25 26 29 29 102 31: 6(int) Constant 81 103 32: TypeArray 30(gl_MeshPerVertexNV) 31 104 33: TypePointer Output 32 105 34(gl_MeshVerticesNV): 33(ptr) Variable Output 106 36: TypeInt 32 1 107 37: 36(int) Constant 0 108 38: 20(float) Constant 1065353216 109 39: 21(fvec4) ConstantComposite 38 38 38 38 110 40: TypePointer Output 21(fvec4) 111 43: 36(int) Constant 1 112 44: 20(float) Constant 1073741824 113 45: TypePointer Output 20(float) 114 48: 36(int) Constant 2 115 49: 36(int) Constant 3 116 50: 20(float) Constant 1077936128 117 53: 20(float) Constant 1082130432 118 55: 6(int) Constant 264 119 56: 6(int) Constant 2 120 81: TypeArray 36(int) 27 121 82: TypeArray 36(int) 22 122 83: TypeArray 81 22 123 84(gl_MeshPerPrimitiveNV): TypeStruct 36(int) 36(int) 36(int) 81 82 83 124 85: 6(int) Constant 32 125 86: TypeArray 84(gl_MeshPerPrimitiveNV) 85 126 87: TypePointer Output 86 127 88(gl_MeshPrimitivesNV): 87(ptr) Variable Output 128 90: 36(int) Constant 6 129 91: TypePointer Output 36(int) 130 94: 36(int) Constant 7 131 97: 36(int) Constant 8 132 100: 36(int) Constant 9 133 126: TypeArray 6(int) 31 134 127: TypePointer Output 126 135 128(gl_PrimitiveIndicesNV): 127(ptr) Variable Output 136 129: 6(int) Constant 257 137 130: TypePointer Output 6(int) 138 138: TypePointer Input 36(int) 139 139(gl_DrawID): 138(ptr) Variable Input 140 142: 6(int) Constant 16909060 141 143(gl_PrimitiveCountNV): 130(ptr) Variable Output 142 144: 6(int) Constant 96 143 145: 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 131: 130(ptr) AccessChain 128(gl_PrimitiveIndicesNV) 37 243 Store 131 129 244 132: 6(int) Load 16(gid) 245 133: 6(int) Load 16(gid) 246 134: 6(int) ISub 133 27 247 135: 130(ptr) AccessChain 128(gl_PrimitiveIndicesNV) 134 248 136: 6(int) Load 135 249 137: 130(ptr) AccessChain 128(gl_PrimitiveIndicesNV) 132 250 Store 137 136 251 140: 36(int) Load 139(gl_DrawID) 252 141: 6(int) Bitcast 140 253 142: 141 WritePackedPrimitiveIndices4x8NV 254 Store 143(gl_PrimitiveCountNV) 144 255 MemoryBarrier 27 55 256 ControlBarrier 56 56 55 257 Return 258 FunctionEnd 259