spv.viewportArray2.tesc
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 23

                              Capability Tessellation
                              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 TessellationControl 4  "main" 14 16 22
                              ExecutionMode 4 OutputVertices 4
                              Source GLSL 430
                              SourceExtension  "GL_NV_viewport_array2"
                              Name 4  "main"
                              Name 10  "gl_PerVertex"
                              MemberName 10(gl_PerVertex) 0  "gl_ViewportMask"
                              Name 14  "gl_out"
                              Name 16  "gl_InvocationID"
                              Name 22  "gl_Layer"
                              MemberDecorate 10(gl_PerVertex) 0 BuiltIn ViewportMaskNV
                              Decorate 10(gl_PerVertex) Block
                              Decorate 16(gl_InvocationID) BuiltIn InvocationId
                              Decorate 22(gl_Layer) BuiltIn Layer
                              Decorate 22(gl_Layer) ViewportRelativeNV
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypeInt 32 0
               8:      7(int) Constant 2
               9:             TypeArray 6(int) 8
10(gl_PerVertex):             TypeStruct 9
              11:      7(int) Constant 4
              12:             TypeArray 10(gl_PerVertex) 11
              13:             TypePointer Output 12
      14(gl_out):     13(ptr) Variable Output
              15:             TypePointer Input 6(int)
16(gl_InvocationID):     15(ptr) Variable Input
              18:      6(int) Constant 0
              19:      6(int) Constant 1
              20:             TypePointer Output 6(int)
    22(gl_Layer):     20(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              17:      6(int) Load 16(gl_InvocationID)
              21:     20(ptr) AccessChain 14(gl_out) 17 18 18
                              Store 21 19
                              Return
                              FunctionEnd
