spv.meshShaderBuiltins.mesh
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 148

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