spv.meshShaderPerViewBuiltins.mesh
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 126

                              Capability PerViewAttributesNV
                              Capability MeshShadingNV
                              Extension  "SPV_NVX_multiview_per_view_attributes"
                              Extension  "SPV_NV_mesh_shader"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint MeshNV 4  "main" 11 20 21 40 72
                              ExecutionMode 4 LocalSize 32 1 1
                              ExecutionMode 4 OutputVertices 81
                              ExecutionMode 4 OutputPrimitivesNV 32
                              ExecutionMode 4 OutputTrianglesNV
                              Source GLSL 450
                              SourceExtension  "GL_NV_mesh_shader"
                              Name 4  "main"
                              Name 8  "iid"
                              Name 11  "gl_LocalInvocationID"
                              Name 16  "viewID"
                              Name 20  "gl_MeshViewIndicesNV"
                              Name 21  "gl_MeshViewCountNV"
                              Name 36  "gl_MeshPerVertexNV"
                              MemberName 36(gl_MeshPerVertexNV) 0  "gl_Position"
                              MemberName 36(gl_MeshPerVertexNV) 1  "gl_PointSize"
                              MemberName 36(gl_MeshPerVertexNV) 2  "gl_ClipDistance"
                              MemberName 36(gl_MeshPerVertexNV) 3  "gl_CullDistance"
                              MemberName 36(gl_MeshPerVertexNV) 4  "gl_PositionPerViewNV"
                              MemberName 36(gl_MeshPerVertexNV) 5  "gl_ClipDistancePerViewNV"
                              MemberName 36(gl_MeshPerVertexNV) 6  "gl_CullDistancePerViewNV"
                              Name 40  "gl_MeshVerticesNV"
                              Name 68  "gl_MeshPerPrimitiveNV"
                              MemberName 68(gl_MeshPerPrimitiveNV) 0  "gl_PrimitiveID"
                              MemberName 68(gl_MeshPerPrimitiveNV) 1  "gl_Layer"
                              MemberName 68(gl_MeshPerPrimitiveNV) 2  "gl_ViewportIndex"
                              MemberName 68(gl_MeshPerPrimitiveNV) 3  "gl_ViewportMask"
                              MemberName 68(gl_MeshPerPrimitiveNV) 4  "gl_LayerPerViewNV"
                              MemberName 68(gl_MeshPerPrimitiveNV) 5  "gl_ViewportMaskPerViewNV"
                              Name 72  "gl_MeshPrimitivesNV"
                              Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
                              Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV
                              Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV
                              MemberDecorate 36(gl_MeshPerVertexNV) 0 BuiltIn Position
                              MemberDecorate 36(gl_MeshPerVertexNV) 1 BuiltIn PointSize
                              MemberDecorate 36(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance
                              MemberDecorate 36(gl_MeshPerVertexNV) 3 BuiltIn CullDistance
                              MemberDecorate 36(gl_MeshPerVertexNV) 4 PerViewNV
                              MemberDecorate 36(gl_MeshPerVertexNV) 4 BuiltIn PositionPerViewNV
                              MemberDecorate 36(gl_MeshPerVertexNV) 5 PerViewNV
                              MemberDecorate 36(gl_MeshPerVertexNV) 5 BuiltIn ClipDistancePerViewNV
                              MemberDecorate 36(gl_MeshPerVertexNV) 6 PerViewNV
                              MemberDecorate 36(gl_MeshPerVertexNV) 6 BuiltIn CullDistancePerViewNV
                              Decorate 36(gl_MeshPerVertexNV) Block
                              MemberDecorate 68(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV
                              MemberDecorate 68(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId
                              MemberDecorate 68(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV
                              MemberDecorate 68(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer
                              MemberDecorate 68(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV
                              MemberDecorate 68(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex
                              MemberDecorate 68(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV
                              MemberDecorate 68(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV
                              MemberDecorate 68(gl_MeshPerPrimitiveNV) 4 PerPrimitiveNV
                              MemberDecorate 68(gl_MeshPerPrimitiveNV) 4 PerViewNV
                              MemberDecorate 68(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV
                              MemberDecorate 68(gl_MeshPerPrimitiveNV) 5 PerPrimitiveNV
                              MemberDecorate 68(gl_MeshPerPrimitiveNV) 5 PerViewNV
                              MemberDecorate 68(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV
                              Decorate 68(gl_MeshPerPrimitiveNV) Block
                              Decorate 125 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:      6(int) Constant 4
              18:             TypeArray 6(int) 17
              19:             TypePointer Input 18
20(gl_MeshViewIndicesNV):     19(ptr) Variable Input
21(gl_MeshViewCountNV):     13(ptr) Variable Input
              26:             TypeFloat 32
              27:             TypeVector 26(float) 4
              28:      6(int) Constant 1
              29:             TypeArray 26(float) 28
              30:             TypeArray 27(fvec4) 17
              31:      6(int) Constant 3
              32:             TypeArray 26(float) 31
              33:             TypeArray 32 17
              34:             TypeArray 26(float) 17
              35:             TypeArray 34 17
36(gl_MeshPerVertexNV):             TypeStruct 27(fvec4) 26(float) 29 29 30 33 35
              37:      6(int) Constant 81
              38:             TypeArray 36(gl_MeshPerVertexNV) 37
              39:             TypePointer Output 38
40(gl_MeshVerticesNV):     39(ptr) Variable Output
              42:             TypeInt 32 1
              43:     42(int) Constant 4
              45:   26(float) Constant 1065353216
              46:   26(float) Constant 1073741824
              47:   26(float) Constant 1077936128
              48:   26(float) Constant 1082130432
              49:   27(fvec4) ConstantComposite 45 46 47 48
              50:             TypePointer Output 27(fvec4)
              53:     42(int) Constant 5
              55:     42(int) Constant 2
              56:   26(float) Constant 1084227584
              57:             TypePointer Output 26(float)
              60:     42(int) Constant 6
              62:     42(int) Constant 3
              63:   26(float) Constant 1086324736
              65:             TypeArray 42(int) 28
              66:             TypeArray 42(int) 17
              67:             TypeArray 65 17
68(gl_MeshPerPrimitiveNV):             TypeStruct 42(int) 42(int) 42(int) 65 66 67
              69:      6(int) Constant 32
              70:             TypeArray 68(gl_MeshPerPrimitiveNV) 69
              71:             TypePointer Output 70
72(gl_MeshPrimitivesNV):     71(ptr) Variable Output
              75:     42(int) Constant 7
              76:             TypePointer Output 42(int)
              80:     42(int) Constant 0
              81:     42(int) Constant 8
              83:      6(int) Constant 264
              84:      6(int) Constant 2
             125:    9(ivec3) ConstantComposite 69 28 28
         4(main):           2 Function None 3
               5:             Label
          8(iid):      7(ptr) Variable Function
      16(viewID):      7(ptr) Variable Function
              14:     13(ptr) AccessChain 11(gl_LocalInvocationID) 12
              15:      6(int) Load 14
                              Store 8(iid) 15
              22:      6(int) Load 21(gl_MeshViewCountNV)
              23:      6(int) UMod 22 17
              24:     13(ptr) AccessChain 20(gl_MeshViewIndicesNV) 23
              25:      6(int) Load 24
                              Store 16(viewID) 25
              41:      6(int) Load 8(iid)
              44:      6(int) Load 16(viewID)
              51:     50(ptr) AccessChain 40(gl_MeshVerticesNV) 41 43 44
                              Store 51 49
              52:      6(int) Load 8(iid)
              54:      6(int) Load 16(viewID)
              58:     57(ptr) AccessChain 40(gl_MeshVerticesNV) 52 53 54 55
                              Store 58 56
              59:      6(int) Load 8(iid)
              61:      6(int) Load 16(viewID)
              64:     57(ptr) AccessChain 40(gl_MeshVerticesNV) 59 60 61 62
                              Store 64 63
              73:      6(int) Load 8(iid)
              74:      6(int) Load 16(viewID)
              77:     76(ptr) AccessChain 72(gl_MeshPrimitivesNV) 73 43 74
                              Store 77 75
              78:      6(int) Load 8(iid)
              79:      6(int) Load 16(viewID)
              82:     76(ptr) AccessChain 72(gl_MeshPrimitivesNV) 78 53 79 80
                              Store 82 81
                              MemoryBarrier 28 83
                              ControlBarrier 84 84 83
              85:      6(int) Load 8(iid)
              86:      6(int) IAdd 85 28
              87:      6(int) Load 16(viewID)
              88:      6(int) Load 8(iid)
              89:      6(int) Load 16(viewID)
              90:     50(ptr) AccessChain 40(gl_MeshVerticesNV) 88 43 89
              91:   27(fvec4) Load 90
              92:     50(ptr) AccessChain 40(gl_MeshVerticesNV) 86 43 87
                              Store 92 91
              93:      6(int) Load 8(iid)
              94:      6(int) IAdd 93 28
              95:      6(int) Load 16(viewID)
              96:      6(int) Load 8(iid)
              97:      6(int) Load 16(viewID)
              98:     57(ptr) AccessChain 40(gl_MeshVerticesNV) 96 53 97 55
              99:   26(float) Load 98
             100:     57(ptr) AccessChain 40(gl_MeshVerticesNV) 94 53 95 55
                              Store 100 99
             101:      6(int) Load 8(iid)
             102:      6(int) IAdd 101 28
             103:      6(int) Load 16(viewID)
             104:      6(int) Load 8(iid)
             105:      6(int) Load 16(viewID)
             106:     57(ptr) AccessChain 40(gl_MeshVerticesNV) 104 60 105 62
             107:   26(float) Load 106
             108:     57(ptr) AccessChain 40(gl_MeshVerticesNV) 102 60 103 62
                              Store 108 107
             109:      6(int) Load 8(iid)
             110:      6(int) IAdd 109 28
             111:      6(int) Load 16(viewID)
             112:      6(int) Load 8(iid)
             113:      6(int) Load 16(viewID)
             114:     76(ptr) AccessChain 72(gl_MeshPrimitivesNV) 112 43 113
             115:     42(int) Load 114
             116:     76(ptr) AccessChain 72(gl_MeshPrimitivesNV) 110 43 111
                              Store 116 115
             117:      6(int) Load 8(iid)
             118:      6(int) IAdd 117 28
             119:      6(int) Load 16(viewID)
             120:      6(int) Load 8(iid)
             121:      6(int) Load 16(viewID)
             122:     76(ptr) AccessChain 72(gl_MeshPrimitivesNV) 120 53 121 80
             123:     42(int) Load 122
             124:     76(ptr) AccessChain 72(gl_MeshPrimitivesNV) 118 53 119 80
                              Store 124 123
                              MemoryBarrier 28 83
                              ControlBarrier 84 84 83
                              Return
                              FunctionEnd
