spv.OVR_multiview.vert
// Module Version 10000
// Generated by (magic number): 80005
// Id's are bound by 27

                              Capability Shader
                              Capability MultiView
                              Extension  "SPV_KHR_multiview"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 13 17 25 26
                              Source GLSL 330
                              SourceExtension  "GL_OVR_multiview"
                              Name 4  "main"
                              Name 11  "gl_PerVertex"
                              MemberName 11(gl_PerVertex) 0  "gl_Position"
                              MemberName 11(gl_PerVertex) 1  "gl_PointSize"
                              MemberName 11(gl_PerVertex) 2  "gl_ClipDistance"
                              Name 13  ""
                              Name 17  "gl_ViewID_OVR"
                              Name 25  "gl_VertexID"
                              Name 26  "gl_InstanceID"
                              MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position
                              MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize
                              MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance
                              Decorate 11(gl_PerVertex) Block
                              Decorate 17(gl_ViewID_OVR) BuiltIn ViewIndex
                              Decorate 25(gl_VertexID) BuiltIn VertexId
                              Decorate 26(gl_InstanceID) BuiltIn InstanceId
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeInt 32 0
               9:      8(int) Constant 1
              10:             TypeArray 6(float) 9
11(gl_PerVertex):             TypeStruct 7(fvec4) 6(float) 10
              12:             TypePointer Output 11(gl_PerVertex)
              13:     12(ptr) Variable Output
              14:             TypeInt 32 1
              15:     14(int) Constant 0
              16:             TypePointer Input 8(int)
17(gl_ViewID_OVR):     16(ptr) Variable Input
              20:    6(float) Constant 0
              22:             TypePointer Output 7(fvec4)
              24:             TypePointer Input 14(int)
 25(gl_VertexID):     24(ptr) Variable Input
26(gl_InstanceID):     24(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
              18:      8(int) Load 17(gl_ViewID_OVR)
              19:    6(float) ConvertUToF 18
              21:    7(fvec4) CompositeConstruct 19 20 20 20
              23:     22(ptr) AccessChain 13 15
                              Store 23 21
                              Return
                              FunctionEnd
