spv.460.vert
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 20

                              Capability Shader
                              Capability DrawParameters
                              Extension  "SPV_KHR_shader_draw_parameters"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 10 12 15 18 19
                              Source GLSL 460
                              Name 4  "main"
                              Name 8  "a"
                              Name 10  "gl_BaseVertex"
                              Name 12  "gl_BaseInstance"
                              Name 15  "gl_DrawID"
                              Name 18  "gl_VertexID"
                              Name 19  "gl_InstanceID"
                              Decorate 10(gl_BaseVertex) BuiltIn BaseVertex
                              Decorate 12(gl_BaseInstance) BuiltIn BaseInstance
                              Decorate 15(gl_DrawID) BuiltIn DrawIndex
                              Decorate 18(gl_VertexID) BuiltIn VertexId
                              Decorate 19(gl_InstanceID) BuiltIn InstanceId
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypePointer Function 6(int)
               9:             TypePointer Input 6(int)
10(gl_BaseVertex):      9(ptr) Variable Input
12(gl_BaseInstance):      9(ptr) Variable Input
   15(gl_DrawID):      9(ptr) Variable Input
 18(gl_VertexID):      9(ptr) Variable Input
19(gl_InstanceID):      9(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
            8(a):      7(ptr) Variable Function
              11:      6(int) Load 10(gl_BaseVertex)
              13:      6(int) Load 12(gl_BaseInstance)
              14:      6(int) IAdd 11 13
              16:      6(int) Load 15(gl_DrawID)
              17:      6(int) IAdd 14 16
                              Store 8(a) 17
                              Return
                              FunctionEnd
