1 spv.meshShaderRedeclBuiltins.mesh 2 // Module Version 10000 3 // Generated by (magic number): 80007 4 // Id's are bound by 120 5 6 Capability ClipDistance 7 Capability CullDistance 8 Capability MultiViewport 9 Capability ShaderViewportMaskNV 10 Capability MeshShadingNV 11 Extension "SPV_NV_mesh_shader" 12 Extension "SPV_NV_viewport_array2" 13 1: ExtInstImport "GLSL.std.450" 14 MemoryModel Logical GLSL450 15 EntryPoint MeshNV 4 "main" 11 17 28 81 16 ExecutionMode 4 LocalSize 32 1 1 17 ExecutionMode 4 OutputVertices 81 18 ExecutionMode 4 OutputPrimitivesNV 32 19 ExecutionMode 4 OutputTrianglesNV 20 Source GLSL 460 21 SourceExtension "GL_NV_mesh_shader" 22 Name 4 "main" 23 Name 8 "iid" 24 Name 11 "gl_LocalInvocationID" 25 Name 16 "gid" 26 Name 17 "gl_WorkGroupID" 27 Name 24 "gl_MeshPerVertexNV" 28 MemberName 24(gl_MeshPerVertexNV) 0 "gl_Position" 29 MemberName 24(gl_MeshPerVertexNV) 1 "gl_PointSize" 30 MemberName 24(gl_MeshPerVertexNV) 2 "gl_ClipDistance" 31 MemberName 24(gl_MeshPerVertexNV) 3 "gl_CullDistance" 32 Name 28 "gl_MeshVerticesNV" 33 Name 77 "gl_MeshPerPrimitiveNV" 34 MemberName 77(gl_MeshPerPrimitiveNV) 0 "gl_PrimitiveID" 35 MemberName 77(gl_MeshPerPrimitiveNV) 1 "gl_Layer" 36 MemberName 77(gl_MeshPerPrimitiveNV) 2 "gl_ViewportIndex" 37 MemberName 77(gl_MeshPerPrimitiveNV) 3 "gl_ViewportMask" 38 Name 81 "gl_MeshPrimitivesNV" 39 Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId 40 Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId 41 MemberDecorate 24(gl_MeshPerVertexNV) 0 BuiltIn Position 42 MemberDecorate 24(gl_MeshPerVertexNV) 1 BuiltIn PointSize 43 MemberDecorate 24(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance 44 MemberDecorate 24(gl_MeshPerVertexNV) 3 BuiltIn CullDistance 45 Decorate 24(gl_MeshPerVertexNV) Block 46 MemberDecorate 77(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV 47 MemberDecorate 77(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId 48 MemberDecorate 77(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV 49 MemberDecorate 77(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer 50 MemberDecorate 77(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV 51 MemberDecorate 77(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex 52 MemberDecorate 77(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV 53 MemberDecorate 77(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV 54 Decorate 77(gl_MeshPerPrimitiveNV) Block 55 Decorate 119 BuiltIn WorkgroupSize 56 2: TypeVoid 57 3: TypeFunction 2 58 6: TypeInt 32 0 59 7: TypePointer Function 6(int) 60 9: TypeVector 6(int) 3 61 10: TypePointer Input 9(ivec3) 62 11(gl_LocalInvocationID): 10(ptr) Variable Input 63 12: 6(int) Constant 0 64 13: TypePointer Input 6(int) 65 17(gl_WorkGroupID): 10(ptr) Variable Input 66 20: TypeFloat 32 67 21: TypeVector 20(float) 4 68 22: 6(int) Constant 4 69 23: TypeArray 20(float) 22 70 24(gl_MeshPerVertexNV): TypeStruct 21(fvec4) 20(float) 23 23 71 25: 6(int) Constant 81 72 26: TypeArray 24(gl_MeshPerVertexNV) 25 73 27: TypePointer Output 26 74 28(gl_MeshVerticesNV): 27(ptr) Variable Output 75 30: TypeInt 32 1 76 31: 30(int) Constant 0 77 32: 20(float) Constant 1065353216 78 33: 21(fvec4) ConstantComposite 32 32 32 32 79 34: TypePointer Output 21(fvec4) 80 37: 30(int) Constant 1 81 38: 20(float) Constant 1073741824 82 39: TypePointer Output 20(float) 83 42: 30(int) Constant 2 84 43: 30(int) Constant 3 85 44: 20(float) Constant 1077936128 86 47: 20(float) Constant 1082130432 87 49: 6(int) Constant 1 88 50: 6(int) Constant 264 89 51: 6(int) Constant 2 90 76: TypeArray 30(int) 49 91 77(gl_MeshPerPrimitiveNV): TypeStruct 30(int) 30(int) 30(int) 76 92 78: 6(int) Constant 32 93 79: TypeArray 77(gl_MeshPerPrimitiveNV) 78 94 80: TypePointer Output 79 95 81(gl_MeshPrimitivesNV): 80(ptr) Variable Output 96 83: 30(int) Constant 6 97 84: TypePointer Output 30(int) 98 87: 30(int) Constant 7 99 90: 30(int) Constant 8 100 93: 30(int) Constant 9 101 119: 9(ivec3) ConstantComposite 78 49 49 102 4(main): 2 Function None 3 103 5: Label 104 8(iid): 7(ptr) Variable Function 105 16(gid): 7(ptr) Variable Function 106 14: 13(ptr) AccessChain 11(gl_LocalInvocationID) 12 107 15: 6(int) Load 14 108 Store 8(iid) 15 109 18: 13(ptr) AccessChain 17(gl_WorkGroupID) 12 110 19: 6(int) Load 18 111 Store 16(gid) 19 112 29: 6(int) Load 8(iid) 113 35: 34(ptr) AccessChain 28(gl_MeshVerticesNV) 29 31 114 Store 35 33 115 36: 6(int) Load 8(iid) 116 40: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 36 37 117 Store 40 38 118 41: 6(int) Load 8(iid) 119 45: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 41 42 43 120 Store 45 44 121 46: 6(int) Load 8(iid) 122 48: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 46 43 42 123 Store 48 47 124 MemoryBarrier 49 50 125 ControlBarrier 51 51 50 126 52: 6(int) Load 8(iid) 127 53: 6(int) IAdd 52 49 128 54: 6(int) Load 8(iid) 129 55: 34(ptr) AccessChain 28(gl_MeshVerticesNV) 54 31 130 56: 21(fvec4) Load 55 131 57: 34(ptr) AccessChain 28(gl_MeshVerticesNV) 53 31 132 Store 57 56 133 58: 6(int) Load 8(iid) 134 59: 6(int) IAdd 58 49 135 60: 6(int) Load 8(iid) 136 61: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 60 37 137 62: 20(float) Load 61 138 63: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 59 37 139 Store 63 62 140 64: 6(int) Load 8(iid) 141 65: 6(int) IAdd 64 49 142 66: 6(int) Load 8(iid) 143 67: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 66 42 43 144 68: 20(float) Load 67 145 69: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 65 42 43 146 Store 69 68 147 70: 6(int) Load 8(iid) 148 71: 6(int) IAdd 70 49 149 72: 6(int) Load 8(iid) 150 73: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 72 43 42 151 74: 20(float) Load 73 152 75: 39(ptr) AccessChain 28(gl_MeshVerticesNV) 71 43 42 153 Store 75 74 154 MemoryBarrier 49 50 155 ControlBarrier 51 51 50 156 82: 6(int) Load 8(iid) 157 85: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 82 31 158 Store 85 83 159 86: 6(int) Load 8(iid) 160 88: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 86 37 161 Store 88 87 162 89: 6(int) Load 8(iid) 163 91: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 89 42 164 Store 91 90 165 92: 6(int) Load 8(iid) 166 94: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 92 43 31 167 Store 94 93 168 MemoryBarrier 49 50 169 ControlBarrier 51 51 50 170 95: 6(int) Load 8(iid) 171 96: 6(int) IAdd 95 49 172 97: 6(int) Load 8(iid) 173 98: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 97 31 174 99: 30(int) Load 98 175 100: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 96 31 176 Store 100 99 177 101: 6(int) Load 8(iid) 178 102: 6(int) IAdd 101 49 179 103: 6(int) Load 8(iid) 180 104: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 103 37 181 105: 30(int) Load 104 182 106: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 102 37 183 Store 106 105 184 107: 6(int) Load 8(iid) 185 108: 6(int) IAdd 107 49 186 109: 6(int) Load 8(iid) 187 110: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 109 42 188 111: 30(int) Load 110 189 112: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 108 42 190 Store 112 111 191 113: 6(int) Load 8(iid) 192 114: 6(int) IAdd 113 49 193 115: 6(int) Load 8(iid) 194 116: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 115 43 31 195 117: 30(int) Load 116 196 118: 84(ptr) AccessChain 81(gl_MeshPrimitivesNV) 114 43 31 197 Store 118 117 198 MemoryBarrier 49 50 199 ControlBarrier 51 51 50 200 Return 201 FunctionEnd 202