spv.uniformInitializer.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 16

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 9
                              ExecutionMode 4 OriginLowerLeft
                              Source GLSL 450
                              Name 4  "main"
                              Name 9  "color"
                              Name 14  "in_color"
                              Decorate 9(color) Location 0
                              Decorate 14(in_color) Location 0
                              Decorate 14(in_color) DescriptorSet 0
                              Decorate 14(in_color) Binding 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Output 7(fvec4)
        9(color):      8(ptr) Variable Output
              10:    6(float) Constant 0
              11:    6(float) Constant 1065353216
              12:    7(fvec4) ConstantComposite 10 11 10 11
              13:             TypePointer UniformConstant 7(fvec4)
    14(in_color):     13(ptr) Variable UniformConstant 12
         4(main):           2 Function None 3
               5:             Label
              15:    7(fvec4) Load 14(in_color)
                              Store 9(color) 15
                              Return
                              FunctionEnd
