spv.drawParams.vert
// Module Version 10300
// Generated by (magic number): 8000a
// Id's are bound by 29

                              Capability Shader
                              Capability DrawParameters
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 10 13 16 21
                              Source GLSL 450
                              SourceExtension  "GL_ARB_shader_draw_parameters"
                              Name 4  "main"
                              Name 8  "a"
                              Name 10  "gl_BaseVertexARB"
                              Name 12  "b"
                              Name 13  "gl_BaseInstanceARB"
                              Name 15  "c"
                              Name 16  "gl_DrawIDARB"
                              Name 21  "pos"
                              Decorate 10(gl_BaseVertexARB) BuiltIn BaseVertex
                              Decorate 13(gl_BaseInstanceARB) BuiltIn BaseInstance
                              Decorate 16(gl_DrawIDARB) BuiltIn DrawIndex
                              Decorate 21(pos) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypePointer Function 6(int)
               9:             TypePointer Input 6(int)
10(gl_BaseVertexARB):      9(ptr) Variable Input
13(gl_BaseInstanceARB):      9(ptr) Variable Input
16(gl_DrawIDARB):      9(ptr) Variable Input
              18:             TypeFloat 32
              19:             TypeVector 18(float) 3
              20:             TypePointer Output 19(fvec3)
         21(pos):     20(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
            8(a):      7(ptr) Variable Function
           12(b):      7(ptr) Variable Function
           15(c):      7(ptr) Variable Function
              11:      6(int) Load 10(gl_BaseVertexARB)
                              Store 8(a) 11
              14:      6(int) Load 13(gl_BaseInstanceARB)
                              Store 12(b) 14
              17:      6(int) Load 16(gl_DrawIDARB)
                              Store 15(c) 17
              22:      6(int) Load 8(a)
              23:   18(float) ConvertSToF 22
              24:      6(int) Load 12(b)
              25:   18(float) ConvertSToF 24
              26:      6(int) Load 15(c)
              27:   18(float) ConvertSToF 26
              28:   19(fvec3) CompositeConstruct 23 25 27
                              Store 21(pos) 28
                              Return
                              FunctionEnd
