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 99
// Generated by (magic number): 51a00bb
// Id's are bound by 61

                              Source GLSL 130
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4
                              Name 4  "main"
                              Name 10  "texColor"
                              Name 13  "texSampler2D"
                              Name 19  "gl_TexCoord"
                              Name 34  "color"
                              Name 39  "alpha"
                              Name 44  "gl_FragColor"
                              Name 48  "foo"
                              Decorate 19(gl_TexCoord) Smooth 
                              Decorate 34(color) Smooth 
                              Decorate 39(alpha) Smooth 
                              Decorate 44(gl_FragColor) BuiltIn FragColor
                              Decorate 48(foo) Smooth 
               2:             TypeVoid
               3:             TypeFunction 2 
               7:             TypeFloat 32
               8:             TypeVector 7(float) 4
               9:             TypePointer Function 8(fvec4)
              11:             TypeSampler7(float) 2D filter+texture
              12:             TypePointer UniformConstant 11
13(texSampler2D):     12(ptr) Variable UniformConstant 
              15:             TypeInt 32 0
              16:     15(int) Constant 6
              17:             TypeArray 8(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 8(fvec4)
              25:     20(int) Constant 5
              29:             TypeVector 7(float) 2
       34(color):     22(ptr) Variable Input 
              38:             TypePointer Input 7(float)
       39(alpha):     38(ptr) Variable Input 
              43:             TypePointer Output 8(fvec4)
44(gl_FragColor):     43(ptr) Variable Output 
              45:     15(int) Constant 3
              46:             TypeArray 8(fvec4) 45
              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
    10(texColor):      9(ptr) Variable Function 
              14:          11 Load 13(texSampler2D) 
              23:     22(ptr) AccessChain 19(gl_TexCoord) 21
              24:    8(fvec4) Load 23 
              26:     22(ptr) AccessChain 19(gl_TexCoord) 25
              27:    8(fvec4) Load 26 
              28:    8(fvec4) FAdd 24 27
              30:    7(float) CompositeExtract 28 0
              31:    7(float) CompositeExtract 28 1
              32:   29(fvec2) CompositeConstruct 30 31
              33:    8(fvec4) TextureSample 14 32 
                              Store 10(texColor) 33 
              35:    8(fvec4) Load 34(color) 
              36:    8(fvec4) Load 10(texColor) 
              37:    8(fvec4) FAdd 36 35
                              Store 10(texColor) 37 
              40:    7(float) Load 39(alpha) 
              41:    8(fvec4) Load 10(texColor) 
              42:    8(fvec4) CompositeInsert 40 41 3
                              Store 10(texColor) 42 
              50:     22(ptr) AccessChain 48(foo) 49
              51:    8(fvec4) Load 50 
              53:     22(ptr) AccessChain 19(gl_TexCoord) 52
              54:    8(fvec4) Load 53 
              55:    8(fvec4) FAdd 51 54
              56:     22(ptr) AccessChain 19(gl_TexCoord) 21
              57:    8(fvec4) Load 56 
              58:    8(fvec4) FAdd 55 57
              59:    8(fvec4) Load 10(texColor) 
              60:    8(fvec4) FAdd 58 59
                              Store 44(gl_FragColor) 60 
                              Branch 6
               6:             Label
                              Return
                              FunctionEnd
