spv.shaderDrawParams.vert
// Module Version 10000
// Generated by (magic number): 80005
// Id's are bound by 53

                              Capability Shader
                              Capability DrawParameters
                              Extension  "SPV_KHR_shader_draw_parameters"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 9 16 29 37
                              Source GLSL 450
                              SourceExtension  "GL_ARB_shader_draw_parameters"
                              Name 4  "main"
                              Name 9  "gl_BaseVertexARB"
                              Name 16  "gl_BaseInstanceARB"
                              Name 27  "gl_PerVertex"
                              MemberName 27(gl_PerVertex) 0  "gl_Position"
                              MemberName 27(gl_PerVertex) 1  "gl_PointSize"
                              MemberName 27(gl_PerVertex) 2  "gl_ClipDistance"
                              MemberName 27(gl_PerVertex) 3  "gl_CullDistance"
                              Name 29  ""
                              Name 34  "Block"
                              MemberName 34(Block) 0  "pos"
                              Name 36  "block"
                              Name 37  "gl_DrawIDARB"
                              Decorate 9(gl_BaseVertexARB) BuiltIn BaseVertex
                              Decorate 16(gl_BaseInstanceARB) BuiltIn BaseInstance
                              MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position
                              MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize
                              MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance
                              MemberDecorate 27(gl_PerVertex) 3 BuiltIn CullDistance
                              Decorate 27(gl_PerVertex) Block
                              Decorate 31 ArrayStride 16
                              Decorate 33 ArrayStride 64
                              MemberDecorate 34(Block) 0 Offset 0
                              Decorate 34(Block) Block
                              Decorate 36(block) DescriptorSet 0
                              Decorate 36(block) Binding 0
                              Decorate 37(gl_DrawIDARB) BuiltIn DrawIndex
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeBool
               7:             TypeInt 32 1
               8:             TypePointer Input 7(int)
9(gl_BaseVertexARB):      8(ptr) Variable Input
              11:      7(int) Constant 0
16(gl_BaseInstanceARB):      8(ptr) Variable Input
              22:             TypeFloat 32
              23:             TypeVector 22(float) 4
              24:             TypeInt 32 0
              25:     24(int) Constant 1
              26:             TypeArray 22(float) 25
27(gl_PerVertex):             TypeStruct 23(fvec4) 22(float) 26 26
              28:             TypePointer Output 27(gl_PerVertex)
              29:     28(ptr) Variable Output
              30:     24(int) Constant 4
              31:             TypeArray 23(fvec4) 30
              32:     24(int) Constant 2
              33:             TypeArray 31 32
       34(Block):             TypeStruct 33
              35:             TypePointer Uniform 34(Block)
       36(block):     35(ptr) Variable Uniform
37(gl_DrawIDARB):      8(ptr) Variable Input
              39:      7(int) Constant 4
              41:             TypePointer Uniform 23(fvec4)
              44:             TypePointer Output 23(fvec4)
              47:      7(int) Constant 1
         4(main):           2 Function None 3
               5:             Label
              10:      7(int) Load 9(gl_BaseVertexARB)
              12:     6(bool) SGreaterThan 10 11
              13:     6(bool) LogicalNot 12
                              SelectionMerge 15 None
                              BranchConditional 13 14 15
              14:               Label
              17:      7(int)   Load 16(gl_BaseInstanceARB)
              18:     6(bool)   SGreaterThan 17 11
                                Branch 15
              15:             Label
              19:     6(bool) Phi 12 5 18 14
                              SelectionMerge 21 None
                              BranchConditional 19 20 46
              20:               Label
              38:      7(int)   Load 37(gl_DrawIDARB)
              40:      7(int)   SMod 38 39
              42:     41(ptr)   AccessChain 36(block) 11 11 40
              43:   23(fvec4)   Load 42
              45:     44(ptr)   AccessChain 29 11
                                Store 45 43
                                Branch 21
              46:               Label
              48:      7(int)   Load 37(gl_DrawIDARB)
              49:      7(int)   SMod 48 39
              50:     41(ptr)   AccessChain 36(block) 11 47 49
              51:   23(fvec4)   Load 50
              52:     44(ptr)   AccessChain 29 11
                                Store 52 51
                                Branch 21
              21:             Label
                              Return
                              FunctionEnd
