spv.dataOutIndirect.vert
WARNING: 0:3: attribute deprecated in version 130; may be removed in future release
WARNING: 0:4: varying deprecated in version 130; may be removed in future release


Linked vertex stage:


// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 39

                              Source GLSL 130
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4
                              Name 4  "main"
                              Name 9  "i"
                              Name 24  "colorOut"
                              Name 27  "color"
                              Name 33  "gl_Position"
                              Name 38  "gl_VertexID"
                              Decorate 24(colorOut) Smooth 
                              Decorate 33(gl_Position) BuiltIn Position
                              Decorate 38(gl_VertexID) BuiltIn VertexId
                              Decorate 38(gl_VertexID) NoStaticUse 
               2:             TypeVoid
               3:             TypeFunction 2 
               7:             TypeInt 32 1
               8:             TypePointer Function 7(int)
              10:      7(int) Constant 1
              15:      7(int) Constant 5
              16:             TypeBool
              18:             TypeFloat 32
              19:             TypeVector 18(float) 4
              20:             TypeInt 32 0
              21:     20(int) Constant 6
              22:             TypeArray 19(fvec4) 21
              23:             TypePointer Output 22
    24(colorOut):     23(ptr) Variable Output 
              26:             TypePointer Input 19(fvec4)
       27(color):     26(ptr) Variable Input 
              29:             TypePointer Output 19(fvec4)
 33(gl_Position):     29(ptr) Variable Output 
              34:      7(int) Constant 2
              37:             TypePointer Input 7(int)
 38(gl_VertexID):     37(ptr) Variable Input 
         4(main):           2 Function None 3
               5:             Label
            9(i):      8(ptr) Variable Function 
                              Store 9(i) 10 
                              Branch 11
              11:             Label
              14:      7(int) Load 9(i) 
              17:    16(bool) SLessThan 14 15
                              LoopMerge 12 None
                              BranchConditional 17 13 12 
              13:               Label
              25:      7(int)   Load 9(i) 
              28:   19(fvec4)   Load 27(color) 
              30:     29(ptr)   AccessChain 24(colorOut) 25
                                Store 30 28 
              31:      7(int)   Load 9(i) 
              32:      7(int)   IAdd 31 10
                                Store 9(i) 32 
                                Branch 11
              12:             Label
              35:     29(ptr) AccessChain 24(colorOut) 34
              36:   19(fvec4) Load 35 
                              Store 33(gl_Position) 36 
                              Branch 6
               6:             Label
                              Return
                              FunctionEnd
