spv.viewportArray2.vert
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 19

                              Capability Shader
                              Capability Geometry
                              Capability MultiViewport
                              Capability ShaderViewportIndexLayerNV
                              Capability ShaderViewportMaskNV
                              Extension  "SPV_EXT_shader_viewport_index_layer"
                              Extension  "SPV_NV_viewport_array2"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 11 16 18
                              Source GLSL 450
                              SourceExtension  "GL_ARB_shader_viewport_layer_array"
                              SourceExtension  "GL_NV_viewport_array2"
                              Name 4  "main"
                              Name 11  "gl_ViewportMask"
                              Name 16  "gl_ViewportIndex"
                              Name 18  "gl_Layer"
                              Decorate 11(gl_ViewportMask) BuiltIn ViewportMaskNV
                              Decorate 16(gl_ViewportIndex) BuiltIn ViewportIndex
                              Decorate 18(gl_Layer) BuiltIn Layer
                              Decorate 18(gl_Layer) ViewportRelativeNV
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypeInt 32 0
               8:      7(int) Constant 1
               9:             TypeArray 6(int) 8
              10:             TypePointer Output 9
11(gl_ViewportMask):     10(ptr) Variable Output
              12:      6(int) Constant 0
              13:      6(int) Constant 1
              14:             TypePointer Output 6(int)
16(gl_ViewportIndex):     14(ptr) Variable Output
              17:      6(int) Constant 2
    18(gl_Layer):     14(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              15:     14(ptr) AccessChain 11(gl_ViewportMask) 12
                              Store 15 13
                              Store 16(gl_ViewportIndex) 17
                              Return
                              FunctionEnd
