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

                              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 128 139 143
                              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 128  "gl_PrimitiveIndicesNV"
                              Name 139  "gl_DrawID"
                              Name 143  "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 128(gl_PrimitiveIndicesNV) BuiltIn PrimitiveIndicesNV
                              Decorate 139(gl_DrawID) BuiltIn DrawIndex
                              Decorate 143(gl_PrimitiveCountNV) BuiltIn PrimitiveCountNV
                              Decorate 145 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:             TypeArray 6(int) 31
             127:             TypePointer Output 126
128(gl_PrimitiveIndicesNV):    127(ptr) Variable Output
             129:      6(int) Constant 257
             130:             TypePointer Output 6(int)
             138:             TypePointer Input 36(int)
  139(gl_DrawID):    138(ptr) Variable Input
             142:      6(int) Constant 16909060
143(gl_PrimitiveCountNV):    130(ptr) Variable Output
             144:      6(int) Constant 96
             145:    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
             131:    130(ptr) AccessChain 128(gl_PrimitiveIndicesNV) 37
                              Store 131 129
             132:      6(int) Load 16(gid)
             133:      6(int) Load 16(gid)
             134:      6(int) ISub 133 27
             135:    130(ptr) AccessChain 128(gl_PrimitiveIndicesNV) 134
             136:      6(int) Load 135
             137:    130(ptr) AccessChain 128(gl_PrimitiveIndicesNV) 132
                              Store 137 136
             140:     36(int) Load 139(gl_DrawID)
             141:      6(int) Bitcast 140
             142:         141 WritePackedPrimitiveIndices4x8NV
                              Store 143(gl_PrimitiveCountNV) 144
                              MemoryBarrier 27 55
                              ControlBarrier 56 56 55
                              Return
                              FunctionEnd
