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

                              Capability Tessellation
                              Capability ShaderViewportIndexLayerNV
                              Capability ShaderViewportMaskNV
                              Capability ShaderStereoViewNV
                              Extension  "SPV_EXT_shader_viewport_index_layer"
                              Extension  "SPV_NV_stereo_view_rendering"
                              Extension  "SPV_NV_viewport_array2"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint TessellationControl 4  "main" 16 18 31 41
                              ExecutionMode 4 OutputVertices 4
                              Source GLSL 450
                              SourceExtension  "GL_NV_stereo_view_rendering"
                              SourceExtension  "GL_NV_viewport_array2"
                              Name 4  "main"
                              Name 12  "gl_PerVertex"
                              MemberName 12(gl_PerVertex) 0  "gl_SecondaryPositionNV"
                              MemberName 12(gl_PerVertex) 1  "gl_SecondaryViewportMaskNV"
                              Name 16  "gl_out"
                              Name 18  "gl_InvocationID"
                              Name 27  "gl_PerVertex"
                              MemberName 27(gl_PerVertex) 0  "gl_Position"
                              MemberName 27(gl_PerVertex) 1  "gl_PointSize"
                              MemberName 27(gl_PerVertex) 2  "gl_ClipDistance"
                              MemberName 27(gl_PerVertex) 3  "gl_CullDistance"
                              MemberName 27(gl_PerVertex) 4  "gl_SecondaryPositionNV"
                              Name 31  "gl_in"
                              Name 41  "gl_Layer"
                              MemberDecorate 12(gl_PerVertex) 0 BuiltIn SecondaryPositionNV
                              MemberDecorate 12(gl_PerVertex) 1 BuiltIn SecondaryViewportMaskNV
                              Decorate 12(gl_PerVertex) Block
                              Decorate 18(gl_InvocationID) BuiltIn InvocationId
                              MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position
                              MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize
                              MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance
                              MemberDecorate 27(gl_PerVertex) 3 BuiltIn CullDistance
                              MemberDecorate 27(gl_PerVertex) 4 BuiltIn SecondaryPositionNV
                              Decorate 27(gl_PerVertex) Block
                              Decorate 41(gl_Layer) BuiltIn Layer
                              Decorate 41(gl_Layer) ViewportRelativeNV
                              Decorate 41(gl_Layer) SecondaryViewportRelativeNV 1
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeInt 32 1
               9:             TypeInt 32 0
              10:      9(int) Constant 2
              11:             TypeArray 8(int) 10
12(gl_PerVertex):             TypeStruct 7(fvec4) 11
              13:      9(int) Constant 4
              14:             TypeArray 12(gl_PerVertex) 13
              15:             TypePointer Output 14
      16(gl_out):     15(ptr) Variable Output
              17:             TypePointer Input 8(int)
18(gl_InvocationID):     17(ptr) Variable Input
              20:      8(int) Constant 1
              21:      8(int) Constant 0
              22:             TypePointer Output 8(int)
              25:      9(int) Constant 1
              26:             TypeArray 6(float) 25
27(gl_PerVertex):             TypeStruct 7(fvec4) 6(float) 26 26 7(fvec4)
              28:      9(int) Constant 32
              29:             TypeArray 27(gl_PerVertex) 28
              30:             TypePointer Input 29
       31(gl_in):     30(ptr) Variable Input
              32:             TypePointer Input 7(fvec4)
              35:      8(int) Constant 4
              39:             TypePointer Output 7(fvec4)
    41(gl_Layer):     22(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              19:      8(int) Load 18(gl_InvocationID)
              23:     22(ptr) AccessChain 16(gl_out) 19 20 21
                              Store 23 20
              24:      8(int) Load 18(gl_InvocationID)
              33:     32(ptr) AccessChain 31(gl_in) 20 21
              34:    7(fvec4) Load 33
              36:     32(ptr) AccessChain 31(gl_in) 20 35
              37:    7(fvec4) Load 36
              38:    7(fvec4) FAdd 34 37
              40:     39(ptr) AccessChain 16(gl_out) 24 21
                              Store 40 38
                              Return
                              FunctionEnd
