spv.pushConstant.vert
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.


Linked vertex stage:


// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 35

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 24
                              Source GLSL 400
                              Name 4  "main"
                              Name 11  "Material"
                              MemberName 11(Material) 0  "kind"
                              MemberName 11(Material) 1  "fa"
                              Name 13  "matInst"
                              Name 24  "color"
                              Decorate 10 ArrayStride 4
                              MemberDecorate 11(Material) 0 Offset 0
                              MemberDecorate 11(Material) 1 Offset 4
                              Decorate 11(Material) Block
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypeFloat 32
               8:             TypeInt 32 0
               9:      8(int) Constant 3
              10:             TypeArray 7(float) 9
    11(Material):             TypeStruct 6(int) 10
              12:             TypePointer PushConstant 11(Material)
     13(matInst):     12(ptr) Variable PushConstant
              14:      6(int) Constant 0
              15:             TypePointer PushConstant 6(int)
              22:             TypeVector 7(float) 4
              23:             TypePointer Output 22(fvec4)
       24(color):     23(ptr) Variable Output
              25:    7(float) Constant 1045220557
              26:   22(fvec4) ConstantComposite 25 25 25 25
              28:    7(float) Constant 1056964608
              29:   22(fvec4) ConstantComposite 28 28 28 28
              31:    7(float) Constant 0
              32:   22(fvec4) ConstantComposite 31 31 31 31
         4(main):           2 Function None 3
               5:             Label
              16:     15(ptr) AccessChain 13(matInst) 14
              17:      6(int) Load 16
                              SelectionMerge 21 None
                              Switch 17 20 
                                     case 1: 18
                                     case 2: 19
              20:               Label
                                Store 24(color) 32
                                Branch 21
              18:               Label
                                Store 24(color) 26
                                Branch 21
              19:               Label
                                Store 24(color) 29
                                Branch 21
              21:             Label
                              Return
                              FunctionEnd
