spv.multiviewPerViewAttributes.tesc
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 41

                              Capability Tessellation
                              Capability PerViewAttributesNV
                              Extension  "SPV_NVX_multiview_per_view_attributes"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint TessellationControl 4  "main" 17 19 31
                              ExecutionMode 4 OutputVertices 4
                              Source GLSL 450
                              SourceExtension  "GL_NVX_multiview_per_view_attributes"
                              Name 4  "main"
                              Name 13  "gl_PerVertex"
                              MemberName 13(gl_PerVertex) 0  "gl_PositionPerViewNV"
                              MemberName 13(gl_PerVertex) 1  "gl_ViewportMaskPerViewNV"
                              Name 17  "gl_out"
                              Name 19  "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_PositionPerViewNV"
                              Name 31  "gl_in"
                              MemberDecorate 13(gl_PerVertex) 0 BuiltIn PositionPerViewNV
                              MemberDecorate 13(gl_PerVertex) 1 BuiltIn ViewportMaskPerViewNV
                              Decorate 13(gl_PerVertex) Block
                              Decorate 19(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 PositionPerViewNV
                              Decorate 27(gl_PerVertex) Block
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeInt 32 0
               9:      8(int) Constant 1
              10:             TypeArray 7(fvec4) 9
              11:             TypeInt 32 1
              12:             TypeArray 11(int) 9
13(gl_PerVertex):             TypeStruct 10 12
              14:      8(int) Constant 4
              15:             TypeArray 13(gl_PerVertex) 14
              16:             TypePointer Output 15
      17(gl_out):     16(ptr) Variable Output
              18:             TypePointer Input 11(int)
19(gl_InvocationID):     18(ptr) Variable Input
              21:     11(int) Constant 1
              22:     11(int) Constant 0
              23:             TypePointer Output 11(int)
              26:             TypeArray 6(float) 9
27(gl_PerVertex):             TypeStruct 7(fvec4) 6(float) 26 26 10
              28:      8(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:     11(int) Constant 4
              39:             TypePointer Output 7(fvec4)
         4(main):           2 Function None 3
               5:             Label
              20:     11(int) Load 19(gl_InvocationID)
              24:     23(ptr) AccessChain 17(gl_out) 20 21 22
                              Store 24 21
              25:     11(int) Load 19(gl_InvocationID)
              33:     32(ptr) AccessChain 31(gl_in) 21 22
              34:    7(fvec4) Load 33
              36:     32(ptr) AccessChain 31(gl_in) 21 35 22
              37:    7(fvec4) Load 36
              38:    7(fvec4) FAdd 34 37
              40:     39(ptr) AccessChain 17(gl_out) 25 22 22
                              Store 40 38
                              Return
                              FunctionEnd
