spv.swizzleInversion.frag
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 46

                              Capability Shader
                              Capability InterpolationFunction
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 12 37
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              Name 4  "main"
                              Name 9  "v43"
                              Name 12  "in4"
                              Name 17  "v42"
                              Name 23  "v44"
                              Name 29  "v41"
                              Name 35  "v33"
                              Name 37  "in3"
                              Name 40  "v32"
                              Name 43  "v31"
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 3
               8:             TypePointer Function 7(fvec3)
              10:             TypeVector 6(float) 4
              11:             TypePointer Input 10(fvec4)
         12(in4):     11(ptr) Variable Input
              15:             TypeVector 6(float) 2
              16:             TypePointer Function 15(fvec2)
              18:             TypeInt 32 1
              19:     18(int) Constant 1
              22:             TypePointer Function 10(fvec4)
              24:    6(float) Constant 1073741824
              25:   15(fvec2) ConstantComposite 24 24
              28:             TypePointer Function 6(float)
              30:             TypeInt 32 0
              31:     30(int) Constant 1
              32:             TypePointer Input 6(float)
              36:             TypePointer Input 7(fvec3)
         37(in3):     36(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
          9(v43):      8(ptr) Variable Function
         17(v42):     16(ptr) Variable Function
         23(v44):     22(ptr) Variable Function
         29(v41):     28(ptr) Variable Function
         35(v33):      8(ptr) Variable Function
         40(v32):     16(ptr) Variable Function
         43(v31):     28(ptr) Variable Function
              13:   10(fvec4) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 12(in4)
              14:    7(fvec3) VectorShuffle 13 13 3 2 0
                              Store 9(v43) 14
              20:   10(fvec4) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 12(in4) 19
              21:   15(fvec2) VectorShuffle 20 20 2 0
                              Store 17(v42) 21
              26:   10(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 12(in4) 25
              27:   10(fvec4) VectorShuffle 26 26 2 1 0 3
                              Store 23(v44) 27
              33:     32(ptr) AccessChain 12(in4) 31
              34:    6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 33 25
                              Store 29(v41) 34
              38:    7(fvec3) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 37(in3)
              39:    7(fvec3) VectorShuffle 38 38 1 2 0
                              Store 35(v33) 39
              41:    7(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 37(in3) 19
              42:   15(fvec2) VectorShuffle 41 41 2 0
                              Store 40(v32) 42
              44:     32(ptr) AccessChain 12(in4) 31
              45:    6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 44 25
                              Store 43(v31) 45
                              Return
                              FunctionEnd
