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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 19 34 39 45 48
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 140
                              Name 4  "main"
                              Name 9  "texColor"
                              Name 13  "texSampler2D"
                              Name 19  "TexCoord"
                              Name 34  "color"
                              Name 39  "alpha"
                              Name 45  "gl_FragColor"
                              Name 48  "foo"
                              Decorate 13(texSampler2D) DescriptorSet 0
                              Decorate 13(texSampler2D) Binding 0
                              Decorate 19(TexCoord) Location 2
                              Decorate 34(color) Location 0
                              Decorate 39(alpha) Location 1
                              Decorate 45(gl_FragColor) Location 0
                              Decorate 48(foo) Location 8
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
              10:             TypeImage 6(float) 2D sampled format:Unknown
              11:             TypeSampledImage 10
              12:             TypePointer UniformConstant 11
13(texSampler2D):     12(ptr) Variable UniformConstant
              15:             TypeInt 32 0
              16:     15(int) Constant 6
              17:             TypeArray 7(fvec4) 16
              18:             TypePointer Input 17
    19(TexCoord):     18(ptr) Variable Input
              20:             TypeInt 32 1
              21:     20(int) Constant 4
              22:             TypePointer Input 7(fvec4)
              25:     20(int) Constant 5
              29:             TypeVector 6(float) 2
       34(color):     22(ptr) Variable Input
              38:             TypePointer Input 6(float)
       39(alpha):     38(ptr) Variable Input
              41:     15(int) Constant 3
              42:             TypePointer Function 6(float)
              44:             TypePointer Output 7(fvec4)
45(gl_FragColor):     44(ptr) Variable Output
              46:             TypeArray 7(fvec4) 41
              47:             TypePointer Input 46
         48(foo):     47(ptr) Variable Input
              49:     20(int) Constant 1
              52:     20(int) Constant 0
         4(main):           2 Function None 3
               5:             Label
     9(texColor):      8(ptr) Variable Function
              14:          11 Load 13(texSampler2D)
              23:     22(ptr) AccessChain 19(TexCoord) 21
              24:    7(fvec4) Load 23
              26:     22(ptr) AccessChain 19(TexCoord) 25
              27:    7(fvec4) Load 26
              28:    7(fvec4) FAdd 24 27
              30:    6(float) CompositeExtract 28 0
              31:    6(float) CompositeExtract 28 1
              32:   29(fvec2) CompositeConstruct 30 31
              33:    7(fvec4) ImageSampleImplicitLod 14 32
                              Store 9(texColor) 33
              35:    7(fvec4) Load 34(color)
              36:    7(fvec4) Load 9(texColor)
              37:    7(fvec4) FAdd 36 35
                              Store 9(texColor) 37
              40:    6(float) Load 39(alpha)
              43:     42(ptr) AccessChain 9(texColor) 41
                              Store 43 40
              50:     22(ptr) AccessChain 48(foo) 49
              51:    7(fvec4) Load 50
              53:     22(ptr) AccessChain 19(TexCoord) 52
              54:    7(fvec4) Load 53
              55:    7(fvec4) FAdd 51 54
              56:     22(ptr) AccessChain 19(TexCoord) 21
              57:    7(fvec4) Load 56
              58:    7(fvec4) FAdd 55 57
              59:    7(fvec4) Load 9(texColor)
              60:    7(fvec4) FAdd 58 59
                              Store 45(gl_FragColor) 60
                              Return
                              FunctionEnd
