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

                              Capability ClipDistance
                              Capability CullDistance
                              Capability FragmentShadingRateKHR
                              Capability MeshShadingEXT
                              Extension  "SPV_EXT_mesh_shader"
                              Extension  "SPV_KHR_fragment_shading_rate"
               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"
                              MemberName 78(gl_MeshPerPrimitiveEXT) 4  "gl_PrimitiveShadingRateEXT"
                              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
                              MemberDecorate 78(gl_MeshPerPrimitiveEXT) 4 PerPrimitiveNV
                              MemberDecorate 78(gl_MeshPerPrimitiveEXT) 4 BuiltIn PrimitiveShadingRateKHR
                              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) 31(int)
              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
