spv.ext.meshShaderRedeclBuiltins.mesh
// Module Version 10400
// Generated by (magic number): 8000b
// Id's are bound by 128

                              Capability ClipDistance
                              Capability CullDistance
                              Capability MeshShadingEXT
                              Extension  "SPV_EXT_mesh_shader"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint MeshEXT 4  "main" 11 17 29 81 122
                              ExecutionMode 4 LocalSize 32 1 1
                              ExecutionMode 4 OutputVertices 81
                              ExecutionMode 4 OutputPrimitivesNV 32
                              ExecutionMode 4 OutputPoints
                              Source GLSL 460
                              SourceExtension  "GL_EXT_mesh_shader"
                              Name 4  "main"
                              Name 8  "iid"
                              Name 11  "gl_LocalInvocationID"
                              Name 16  "gid"
                              Name 17  "gl_WorkGroupID"
                              Name 26  "gl_MeshPerVertexEXT"
                              MemberName 26(gl_MeshPerVertexEXT) 0  "gl_Position"
                              MemberName 26(gl_MeshPerVertexEXT) 1  "gl_PointSize"
                              MemberName 26(gl_MeshPerVertexEXT) 2  "gl_ClipDistance"
                              MemberName 26(gl_MeshPerVertexEXT) 3  "gl_CullDistance"
                              Name 29  "gl_MeshVerticesEXT"
                              Name 78  "gl_MeshPerPrimitiveEXT"
                              MemberName 78(gl_MeshPerPrimitiveEXT) 0  "gl_PrimitiveID"
                              MemberName 78(gl_MeshPerPrimitiveEXT) 1  "gl_Layer"
                              MemberName 78(gl_MeshPerPrimitiveEXT) 2  "gl_ViewportIndex"
                              MemberName 78(gl_MeshPerPrimitiveEXT) 3  "gl_CullPrimitiveEXT"
                              Name 81  "gl_MeshPrimitivesEXT"
                              Name 122  "gl_PrimitivePointIndicesEXT"
                              Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
                              Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
                              MemberDecorate 26(gl_MeshPerVertexEXT) 0 BuiltIn Position
                              MemberDecorate 26(gl_MeshPerVertexEXT) 1 BuiltIn PointSize
                              MemberDecorate 26(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance
                              MemberDecorate 26(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance
                              Decorate 26(gl_MeshPerVertexEXT) Block
                              MemberDecorate 78(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV
                              MemberDecorate 78(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId
                              MemberDecorate 78(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV
                              MemberDecorate 78(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer
                              MemberDecorate 78(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV
                              MemberDecorate 78(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex
                              MemberDecorate 78(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV
                              MemberDecorate 78(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT
                              Decorate 78(gl_MeshPerPrimitiveEXT) Block
                              Decorate 122(gl_PrimitivePointIndicesEXT) BuiltIn PrimitivePointIndicesEXT
                              Decorate 127 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:      6(int) Constant 81
              21:      6(int) Constant 32
              22:             TypeFloat 32
              23:             TypeVector 22(float) 4
              24:      6(int) Constant 4
              25:             TypeArray 22(float) 24
26(gl_MeshPerVertexEXT):             TypeStruct 23(fvec4) 22(float) 25 25
              27:             TypeArray 26(gl_MeshPerVertexEXT) 20
              28:             TypePointer Output 27
29(gl_MeshVerticesEXT):     28(ptr) Variable Output
              31:             TypeInt 32 1
              32:     31(int) Constant 0
              33:   22(float) Constant 1065353216
              34:   23(fvec4) ConstantComposite 33 33 33 33
              35:             TypePointer Output 23(fvec4)
              38:     31(int) Constant 1
              39:   22(float) Constant 1073741824
              40:             TypePointer Output 22(float)
              43:     31(int) Constant 2
              44:     31(int) Constant 3
              45:   22(float) Constant 1077936128
              48:   22(float) Constant 1082130432
              50:      6(int) Constant 1
              51:      6(int) Constant 264
              52:      6(int) Constant 2
              77:             TypeBool
78(gl_MeshPerPrimitiveEXT):             TypeStruct 31(int) 31(int) 31(int) 77(bool)
              79:             TypeArray 78(gl_MeshPerPrimitiveEXT) 21
              80:             TypePointer Output 79
81(gl_MeshPrimitivesEXT):     80(ptr) Variable Output
              83:     31(int) Constant 6
              84:             TypePointer Output 31(int)
              87:     31(int) Constant 7
              90:     31(int) Constant 8
              93:    77(bool) ConstantFalse
              94:             TypePointer Output 77(bool)
             120:             TypeArray 6(int) 21
             121:             TypePointer Output 120
122(gl_PrimitivePointIndicesEXT):    121(ptr) Variable Output
             123:             TypePointer Output 6(int)
             125:     31(int) Constant 31
             127:    9(ivec3) ConstantComposite 21 50 50
         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
                              SetMeshOutputsEXT 20 21
              30:      6(int) Load 8(iid)
              36:     35(ptr) AccessChain 29(gl_MeshVerticesEXT) 30 32
                              Store 36 34
              37:      6(int) Load 8(iid)
              41:     40(ptr) AccessChain 29(gl_MeshVerticesEXT) 37 38
                              Store 41 39
              42:      6(int) Load 8(iid)
              46:     40(ptr) AccessChain 29(gl_MeshVerticesEXT) 42 43 44
                              Store 46 45
              47:      6(int) Load 8(iid)
              49:     40(ptr) AccessChain 29(gl_MeshVerticesEXT) 47 44 43
                              Store 49 48
                              MemoryBarrier 50 51
                              ControlBarrier 52 52 51
              53:      6(int) Load 8(iid)
              54:      6(int) IAdd 53 50
              55:      6(int) Load 8(iid)
              56:     35(ptr) AccessChain 29(gl_MeshVerticesEXT) 55 32
              57:   23(fvec4) Load 56
              58:     35(ptr) AccessChain 29(gl_MeshVerticesEXT) 54 32
                              Store 58 57
              59:      6(int) Load 8(iid)
              60:      6(int) IAdd 59 50
              61:      6(int) Load 8(iid)
              62:     40(ptr) AccessChain 29(gl_MeshVerticesEXT) 61 38
              63:   22(float) Load 62
              64:     40(ptr) AccessChain 29(gl_MeshVerticesEXT) 60 38
                              Store 64 63
              65:      6(int) Load 8(iid)
              66:      6(int) IAdd 65 50
              67:      6(int) Load 8(iid)
              68:     40(ptr) AccessChain 29(gl_MeshVerticesEXT) 67 43 44
              69:   22(float) Load 68
              70:     40(ptr) AccessChain 29(gl_MeshVerticesEXT) 66 43 44
                              Store 70 69
              71:      6(int) Load 8(iid)
              72:      6(int) IAdd 71 50
              73:      6(int) Load 8(iid)
              74:     40(ptr) AccessChain 29(gl_MeshVerticesEXT) 73 44 43
              75:   22(float) Load 74
              76:     40(ptr) AccessChain 29(gl_MeshVerticesEXT) 72 44 43
                              Store 76 75
                              MemoryBarrier 50 51
                              ControlBarrier 52 52 51
              82:      6(int) Load 8(iid)
              85:     84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 82 32
                              Store 85 83
              86:      6(int) Load 8(iid)
              88:     84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 86 38
                              Store 88 87
              89:      6(int) Load 8(iid)
              91:     84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 89 43
                              Store 91 90
              92:      6(int) Load 8(iid)
              95:     94(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 92 44
                              Store 95 93
                              MemoryBarrier 50 51
                              ControlBarrier 52 52 51
              96:      6(int) Load 8(iid)
              97:      6(int) IAdd 96 50
              98:      6(int) Load 8(iid)
              99:     84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 98 32
             100:     31(int) Load 99
             101:     84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 97 32
                              Store 101 100
             102:      6(int) Load 8(iid)
             103:      6(int) IAdd 102 50
             104:      6(int) Load 8(iid)
             105:     84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 104 38
             106:     31(int) Load 105
             107:     84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 103 38
                              Store 107 106
             108:      6(int) Load 8(iid)
             109:      6(int) IAdd 108 50
             110:      6(int) Load 8(iid)
             111:     84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 110 43
             112:     31(int) Load 111
             113:     84(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 109 43
                              Store 113 112
             114:      6(int) Load 8(iid)
             115:      6(int) IAdd 114 50
             116:      6(int) Load 8(iid)
             117:     94(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 116 44
             118:    77(bool) Load 117
             119:     94(ptr) AccessChain 81(gl_MeshPrimitivesEXT) 115 44
                              Store 119 118
                              MemoryBarrier 50 51
                              ControlBarrier 52 52 51
             124:    123(ptr) AccessChain 122(gl_PrimitivePointIndicesEXT) 32
                              Store 124 50
             126:    123(ptr) AccessChain 122(gl_PrimitivePointIndicesEXT) 125
                              Store 126 52
                              Return
                              FunctionEnd
