remap.switch.none.frag
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
WARNING: 0:5: '' : all default precisions are highp; use precision statements to quiet warning, e.g.:
         "precision mediump int; precision highp float;" 


Linked fragment stage:


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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 9 23
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              Name 4  "main"
                              Name 9  "in0"
                              Name 23  "FragColor"
                              Decorate 9(in0) Location 0
                              Decorate 23(FragColor) RelaxedPrecision
                              Decorate 23(FragColor) Location 0
                              Decorate 29 RelaxedPrecision
                              Decorate 35 RelaxedPrecision
                              Decorate 41 RelaxedPrecision
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Input 7(fvec4)
          9(in0):      8(ptr) Variable Input
              10:             TypeInt 32 0
              11:     10(int) Constant 3
              12:             TypePointer Input 6(float)
              15:             TypeInt 32 1
              22:             TypePointer Output 7(fvec4)
   23(FragColor):     22(ptr) Variable Output
              24:     10(int) Constant 0
              27:    6(float) Constant 0
              30:     10(int) Constant 1
              33:    6(float) Constant 1065353216
              36:     10(int) Constant 2
              39:    6(float) Constant 1073741824
              42:    6(float) Constant 3212836864
              43:    7(fvec4) ConstantComposite 42 42 42 42
         4(main):           2 Function None 3
               5:             Label
              13:     12(ptr) AccessChain 9(in0) 11
              14:    6(float) Load 13
              16:     15(int) ConvertFToS 14
                              SelectionMerge 21 None
                              Switch 16 20 
                                     case 0: 17
                                     case 1: 18
                                     case 2: 19
              20:               Label
                                Store 23(FragColor) 43
                                Branch 21
              17:               Label
              25:     12(ptr)   AccessChain 9(in0) 24
              26:    6(float)   Load 25
              28:    6(float)   FAdd 26 27
              29:    7(fvec4)   CompositeConstruct 28 28 28 28
                                Store 23(FragColor) 29
                                Branch 21
              18:               Label
              31:     12(ptr)   AccessChain 9(in0) 30
              32:    6(float)   Load 31
              34:    6(float)   FAdd 32 33
              35:    7(fvec4)   CompositeConstruct 34 34 34 34
                                Store 23(FragColor) 35
                                Branch 21
              19:               Label
              37:     12(ptr)   AccessChain 9(in0) 36
              38:    6(float)   Load 37
              40:    6(float)   FAdd 38 39
              41:    7(fvec4)   CompositeConstruct 40 40 40 40
                                Store 23(FragColor) 41
                                Branch 21
              21:             Label
                              Return
                              FunctionEnd
