remap.basic.everything.frag
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 24969

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 5663  "main" 4539 3773
                              ExecutionMode 5663 OriginUpperLeft
               8:             TypeVoid
            1282:             TypeFunction 8
              13:             TypeFloat 32
              29:             TypeVector 13(float) 4
             666:             TypePointer Output 29(fvec4)
            4539:    666(ptr) Variable Output
             650:             TypePointer Input 13(float)
            3773:    650(ptr) Variable Input
            5663:           8 Function None 1282
           24968:             Label
           17486:   13(float) Load 3773
           17691:   29(fvec4) CompositeConstruct 17486 17486 17486 17486
                              Store 4539 17691
                              Return
                              FunctionEnd
