spv.meshShaderBuiltins.mesh
// Module Version 10000
// Generated by (magic number): 8000a
// 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
