spv.localAggregates.frag
WARNING: 0:4: varying deprecated in version 130; may be removed in future release
WARNING: 0:5: 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 135

                              Source GLSL 130
                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main"
                              ExecutionMode 4 OriginLowerLeft
                              Name 4  "main"
                              Name 9  "s1"
                              MemberName 9(s1) 0  "i"
                              MemberName 9(s1) 1  "f"
                              Name 11  "s2"
                              MemberName 11(s2) 0  "i"
                              MemberName 11(s2) 1  "f"
                              MemberName 11(s2) 2  "s1_1"
                              MemberName 11(s2) 3  "bleh"
                              Name 13  "locals2"
                              Name 14  "s3"
                              MemberName 14(s3) 0  "s2_1"
                              MemberName 14(s3) 1  "i"
                              MemberName 14(s3) 2  "f"
                              MemberName 14(s3) 3  "s1_1"
                              Name 16  "foo3"
                              Name 37  "localFArray"
                              Name 41  "coord"
                              Name 48  "localIArray"
                              Name 67  "x"
                              Name 69  "localArray"
                              Name 74  "i"
                              Name 81  "a"
                              Name 87  "condition"
                              Name 95  "color"
                              Name 105  "gl_FragColor"
                              Name 125  "sampler"
                              Name 131  "foo"
                              Name 132  "foo2"
                              Name 134  "uFloatArray"
                              Decorate 41(coord) Smooth
                              Decorate 95(color) Smooth
                              Decorate 105(gl_FragColor) BuiltIn FragColor
                              Decorate 131(foo) NoStaticUse
                              Decorate 132(foo2) NoStaticUse
                              Decorate 134(uFloatArray) NoStaticUse
               2:             TypeVoid
               3:             TypeFunction 2
               7:             TypeInt 32 1
               8:             TypeFloat 32
           9(s1):             TypeStruct 7(int) 8(float)
              10:             TypeVector 8(float) 4
          11(s2):             TypeStruct 7(int) 8(float) 9(s1) 10(fvec4)
              12:             TypePointer Function 11(s2)
          14(s3):             TypeStruct 11(s2) 7(int) 8(float) 9(s1)
              15:             TypePointer UniformConstant 14(s3)
        16(foo3):     15(ptr) Variable UniformConstant
              17:      7(int) Constant 0
              18:             TypePointer UniformConstant 11(s2)
              21:             TypePointer UniformConstant 7(int)
              24:             TypeBool
              28:      7(int) Constant 2
              29:      7(int) Constant 1
              30:    8(float) Constant 1065353216
              31:             TypePointer Function 8(float)
              33:             TypeInt 32 0
              34:     33(int) Constant 16
              35:             TypeArray 8(float) 34
              36:             TypePointer Function 35
              38:      7(int) Constant 4
              39:             TypeVector 8(float) 2
              40:             TypePointer Input 39(fvec2)
       41(coord):     40(ptr) Variable Input
              45:     33(int) Constant 8
              46:             TypeArray 7(int) 45
              47:             TypePointer Function 46
              51:             TypePointer Function 7(int)
              68:      7(int) Constant 5
              79:      7(int) Constant 16
              83:    8(float) Constant 0
   87(condition):     21(ptr) Variable UniformConstant
              93:      7(int) Constant 3
              94:             TypePointer Input 10(fvec4)
       95(color):     94(ptr) Variable Input
              97:             TypePointer Function 10(fvec4)
             104:             TypePointer Output 10(fvec4)
105(gl_FragColor):    104(ptr) Variable Output
             122:             TypeImage 8(float) 2D sampled format:Unknown
             123:             TypeSampledImage 122
             124:             TypePointer UniformConstant 123
    125(sampler):    124(ptr) Variable UniformConstant
             130:             TypePointer UniformConstant 9(s1)
        131(foo):    130(ptr) Variable UniformConstant
       132(foo2):     18(ptr) Variable UniformConstant
             133:             TypePointer UniformConstant 35
134(uFloatArray):    133(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
     13(locals2):     12(ptr) Variable Function
 37(localFArray):     36(ptr) Variable Function
 48(localIArray):     47(ptr) Variable Function
           67(x):     51(ptr) Variable Function
  69(localArray):     36(ptr) Variable Function
           74(i):     51(ptr) Variable Function
           81(a):     36(ptr) Variable Function
              19:     18(ptr) AccessChain 16(foo3) 17
              20:      11(s2) Load 19
                              Store 13(locals2) 20
              22:     21(ptr) AccessChain 16(foo3) 17 17
              23:      7(int) Load 22
              25:    24(bool) SGreaterThan 23 17
                              SelectionMerge 27 None
                              BranchConditional 25 26 53
              26:               Label
              32:     31(ptr)   AccessChain 13(locals2) 28 29
                                Store 32 30
              42:   39(fvec2)   Load 41(coord)
              43:    8(float)   CompositeExtract 42 0
              44:     31(ptr)   AccessChain 37(localFArray) 38
                                Store 44 43
              49:     21(ptr)   AccessChain 16(foo3) 17 17
              50:      7(int)   Load 49
              52:     51(ptr)   AccessChain 48(localIArray) 28
                                Store 52 50
                                Branch 27
              53:               Label
              54:   39(fvec2)   Load 41(coord)
              55:    8(float)   CompositeExtract 54 0
              56:     31(ptr)   AccessChain 13(locals2) 28 29
                                Store 56 55
              57:     31(ptr)   AccessChain 37(localFArray) 38
                                Store 57 30
              58:     51(ptr)   AccessChain 48(localIArray) 28
                                Store 58 17
                                Branch 27
              27:             Label
              59:     51(ptr) AccessChain 48(localIArray) 28
              60:      7(int) Load 59
              61:    24(bool) IEqual 60 17
                              SelectionMerge 63 None
                              BranchConditional 61 62 63
              62:               Label
              64:     31(ptr)   AccessChain 37(localFArray) 38
              65:    8(float)   Load 64
              66:    8(float)   FAdd 65 30
                                Store 64 66
                                Branch 63
              63:             Label
                              Store 67(x) 68
              70:      7(int) Load 67(x)
              71:   39(fvec2) Load 41(coord)
              72:    8(float) CompositeExtract 71 0
              73:     31(ptr) AccessChain 69(localArray) 70
                              Store 73 72
                              Store 74(i) 17
                              Branch 75
              75:             Label
              78:      7(int) Load 74(i)
              80:    24(bool) SLessThan 78 79
                              LoopMerge 76 None
                              BranchConditional 80 77 76
              77:               Label
              82:      7(int)   Load 74(i)
              84:     31(ptr)   AccessChain 81(a) 82
                                Store 84 83
              85:      7(int)   Load 74(i)
              86:      7(int)   IAdd 85 29
                                Store 74(i) 86
                                Branch 75
              76:             Label
              88:      7(int) Load 87(condition)
              89:    24(bool) IEqual 88 29
                              SelectionMerge 91 None
                              BranchConditional 89 90 91
              90:               Label
              92:          35   Load 69(localArray)
                                Store 81(a) 92
                                Branch 91
              91:             Label
              96:   10(fvec4) Load 95(color)
              98:     97(ptr) AccessChain 13(locals2) 93
                              Store 98 96
              99:   39(fvec2) Load 41(coord)
             100:    8(float) CompositeExtract 99 1
             101:     97(ptr) AccessChain 13(locals2) 93
             102:   10(fvec4) Load 101
             103:   10(fvec4) CompositeInsert 100 102 2
                              Store 101 103
             106:     97(ptr) AccessChain 13(locals2) 93
             107:   10(fvec4) Load 106
             108:     31(ptr) AccessChain 37(localFArray) 38
             109:    8(float) Load 108
             110:     31(ptr) AccessChain 13(locals2) 28 29
             111:    8(float) Load 110
             112:    8(float) FAdd 109 111
             113:      7(int) Load 67(x)
             114:     31(ptr) AccessChain 69(localArray) 113
             115:    8(float) Load 114
             116:    8(float) FAdd 112 115
             117:      7(int) Load 67(x)
             118:     31(ptr) AccessChain 81(a) 117
             119:    8(float) Load 118
             120:    8(float) FAdd 116 119
             121:   10(fvec4) VectorTimesScalar 107 120
             126:         123 Load 125(sampler)
             127:   39(fvec2) Load 41(coord)
             128:   10(fvec4) ImageSampleImplicitLod 126 127
             129:   10(fvec4) FMul 121 128
                              Store 105(gl_FragColor) 129
                              Branch 6
               6:             Label
                              Return
                              FunctionEnd
