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

                              Capability Shader
                              Capability DrawParameters
                              Extension  "SPV_KHR_shader_draw_parameters"
               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
               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
