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

                              Capability ClipDistance
                              Capability CullDistance
                              Capability MultiViewport
                              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
