remap.basic.dcefunc.frag
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 17 19
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              Name 4  "main"
                              Name 17  "outf4"
                              Name 19  "inf"
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 3
               8:             TypeFunction 7(fvec3)
              11:    6(float) Constant 0
              12:    7(fvec3) ConstantComposite 11 11 11
              15:             TypeVector 6(float) 4
              16:             TypePointer Output 15(fvec4)
       17(outf4):     16(ptr) Variable Output
              18:             TypePointer Input 6(float)
         19(inf):     18(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
              20:    6(float) Load 19(inf)
              21:   15(fvec4) CompositeConstruct 20 20 20 20
                              Store 17(outf4) 21
                              Return
                              FunctionEnd
