spv.varyingArray.frag
WARNING: 0:3: varying deprecated in version 130; may be removed in future release
WARNING: 0:4: varying deprecated in version 130; may be removed in future release
WARNING: 0:6: varying deprecated in version 130; may be removed in future release
WARNING: 0:8: varying deprecated in version 130; may be removed in future release


Linked fragment stage:


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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 34 39 19 19 48
                              ExecutionMode 4 OriginLowerLeft
                              Source GLSL 130
                              Name 4  "main"
                              Name 9  "texColor"
                              Name 13  "texSampler2D"
                              Name 19  "gl_TexCoord"
                              Name 34  "color"
                              Name 39  "alpha"
                              Name 45  "gl_FragColor"
                              Name 48  "foo"
               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(gl_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(gl_TexCoord) 21
              24:    7(fvec4) Load 23
              26:     22(ptr) AccessChain 19(gl_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(gl_TexCoord) 52
              54:    7(fvec4) Load 53
              55:    7(fvec4) FAdd 51 54
              56:     22(ptr) AccessChain 19(gl_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
