spv.qualifiers.vert
// Module Version 10000
// Generated by (magic number): 80006
// Id's are bound by 21

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 9 11 13 15 17 19
                              Source GLSL 430
                              Name 4  "main"
                              Name 9  "outVc"
                              Name 11  "inV"
                              Name 13  "outVs"
                              Name 15  "outVf"
                              Name 17  "outVn"
                              Name 19  "outVcn"
                              Decorate 9(outVc) Centroid
                              Decorate 15(outVf) Flat
                              Decorate 17(outVn) NoPerspective
                              Decorate 19(outVcn) NoPerspective
                              Decorate 19(outVcn) Centroid
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Output 7(fvec4)
        9(outVc):      8(ptr) Variable Output
              10:             TypePointer Input 7(fvec4)
         11(inV):     10(ptr) Variable Input
       13(outVs):      8(ptr) Variable Output
       15(outVf):      8(ptr) Variable Output
       17(outVn):      8(ptr) Variable Output
      19(outVcn):      8(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              12:    7(fvec4) Load 11(inV)
                              Store 9(outVc) 12
              14:    7(fvec4) Load 11(inV)
                              Store 13(outVs) 14
              16:    7(fvec4) Load 11(inV)
                              Store 15(outVf) 16
              18:    7(fvec4) Load 11(inV)
                              Store 17(outVn) 18
              20:    7(fvec4) Load 11(inV)
                              Store 19(outVcn) 20
                              Return
                              FunctionEnd
