spv.aggOps.frag
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.


Linked fragment stage:


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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 16 41 101 213
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              Name 4  "main"
                              Name 8  "s1"
                              MemberName 8(s1) 0  "i"
                              MemberName 8(s1) 1  "f"
                              Name 13  "a"
                              Name 16  "u"
                              Name 37  "b"
                              Name 41  "w"
                              Name 55  "s1"
                              MemberName 55(s1) 0  "i"
                              MemberName 55(s1) 1  "f"
                              Name 56  "s2"
                              MemberName 56(s2) 0  "i"
                              MemberName 56(s2) 1  "f"
                              MemberName 56(s2) 2  "s1_1"
                              Name 57  "ub1"
                              MemberName 57(ub1) 0  "foo2a"
                              Name 59  "uName1"
                              Name 64  "s1"
                              MemberName 64(s1) 0  "i"
                              MemberName 64(s1) 1  "f"
                              Name 65  "s2"
                              MemberName 65(s2) 0  "i"
                              MemberName 65(s2) 1  "f"
                              MemberName 65(s2) 2  "s1_1"
                              Name 66  "ub2"
                              MemberName 66(ub2) 0  "foo2b"
                              Name 68  "uName2"
                              Name 93  "v"
                              Name 97  "samp2D"
                              Name 101  "coord"
                              Name 213  "color"
                              MemberDecorate 55(s1) 0 Offset 0
                              MemberDecorate 55(s1) 1 Offset 4
                              MemberDecorate 56(s2) 0 Offset 0
                              MemberDecorate 56(s2) 1 Offset 4
                              MemberDecorate 56(s2) 2 Offset 16
                              MemberDecorate 57(ub1) 0 Offset 0
                              Decorate 57(ub1) Block
                              Decorate 59(uName1) DescriptorSet 0
                              MemberDecorate 64(s1) 0 Offset 0
                              MemberDecorate 64(s1) 1 Offset 4
                              MemberDecorate 65(s2) 0 Offset 0
                              MemberDecorate 65(s2) 1 Offset 4
                              MemberDecorate 65(s2) 2 Offset 8
                              MemberDecorate 66(ub2) 0 Offset 0
                              Decorate 66(ub2) BufferBlock
                              Decorate 68(uName2) DescriptorSet 0
                              Decorate 97(samp2D) DescriptorSet 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypeFloat 32
           8(s1):             TypeStruct 6(int) 7(float)
               9:             TypeInt 32 0
              10:      9(int) Constant 3
              11:             TypeArray 8(s1) 10
              12:             TypePointer Function 11
              14:             TypeVector 7(float) 4
              15:             TypePointer Input 14(fvec4)
           16(u):     15(ptr) Variable Input
              17:      9(int) Constant 0
              18:             TypePointer Input 7(float)
              22:      9(int) Constant 1
              26:      9(int) Constant 2
              33:      6(int) Constant 14
              34:    7(float) Constant 1096810496
              35:       8(s1) ConstantComposite 33 34
              38:      6(int) Constant 17
              39:    7(float) Constant 1099431936
              40:       8(s1) ConstantComposite 38 39
           41(w):     15(ptr) Variable Input
          55(s1):             TypeStruct 6(int) 7(float)
          56(s2):             TypeStruct 6(int) 7(float) 55(s1)
         57(ub1):             TypeStruct 56(s2)
              58:             TypePointer Uniform 57(ub1)
      59(uName1):     58(ptr) Variable Uniform
              60:      6(int) Constant 0
              61:             TypePointer Uniform 56(s2)
          64(s1):             TypeStruct 6(int) 7(float)
          65(s2):             TypeStruct 6(int) 7(float) 64(s1)
         66(ub2):             TypeStruct 65(s2)
              67:             TypePointer Uniform 66(ub2)
      68(uName2):     67(ptr) Variable Uniform
              69:             TypePointer Uniform 65(s2)
              72:             TypeBool
              92:             TypePointer Function 14(fvec4)
              94:             TypeImage 7(float) 2D sampled format:Unknown
              95:             TypeSampledImage 94
              96:             TypePointer UniformConstant 95
      97(samp2D):     96(ptr) Variable UniformConstant
              99:             TypeVector 7(float) 2
             100:             TypePointer Input 99(fvec2)
      101(coord):    100(ptr) Variable Input
             106:    7(float) Constant 1073741824
             112:             TypeVector 72(bool) 4
             117:    7(float) Constant 1077936128
             126:    7(float) Constant 1082130432
             132:             TypeVector 72(bool) 2
             137:    7(float) Constant 1084227584
             173:    7(float) Constant 1086324736
             209:    7(float) Constant 1088421888
             212:             TypePointer Output 14(fvec4)
      213(color):    212(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
           13(a):     12(ptr) Variable Function
           37(b):     12(ptr) Variable Function
           93(v):     92(ptr) Variable Function
              19:     18(ptr) AccessChain 16(u) 17
              20:    7(float) Load 19
              21:      6(int) ConvertFToS 20
              23:     18(ptr) AccessChain 16(u) 22
              24:    7(float) Load 23
              25:       8(s1) CompositeConstruct 21 24
              27:     18(ptr) AccessChain 16(u) 26
              28:    7(float) Load 27
              29:      6(int) ConvertFToS 28
              30:     18(ptr) AccessChain 16(u) 10
              31:    7(float) Load 30
              32:       8(s1) CompositeConstruct 29 31
              36:          11 CompositeConstruct 25 32 35
                              Store 13(a) 36
              42:     18(ptr) AccessChain 41(w) 17
              43:    7(float) Load 42
              44:      6(int) ConvertFToS 43
              45:     18(ptr) AccessChain 41(w) 22
              46:    7(float) Load 45
              47:       8(s1) CompositeConstruct 44 46
              48:     18(ptr) AccessChain 41(w) 26
              49:    7(float) Load 48
              50:      6(int) ConvertFToS 49
              51:     18(ptr) AccessChain 41(w) 10
              52:    7(float) Load 51
              53:       8(s1) CompositeConstruct 50 52
              54:          11 CompositeConstruct 40 47 53
                              Store 37(b) 54
              62:     61(ptr) AccessChain 59(uName1) 60
              63:      56(s2) Load 62
              70:     69(ptr) AccessChain 68(uName2) 60
              71:      65(s2) Load 70
              73:      6(int) CompositeExtract 63 0
              74:      6(int) CompositeExtract 71 0
              75:    72(bool) IEqual 73 74
              76:    7(float) CompositeExtract 63 1
              77:    7(float) CompositeExtract 71 1
              78:    72(bool) FOrdEqual 76 77
              79:    72(bool) LogicalAnd 75 78
              80:      55(s1) CompositeExtract 63 2
              81:      64(s1) CompositeExtract 71 2
              82:      6(int) CompositeExtract 80 0
              83:      6(int) CompositeExtract 81 0
              84:    72(bool) IEqual 82 83
              85:    7(float) CompositeExtract 80 1
              86:    7(float) CompositeExtract 81 1
              87:    72(bool) FOrdEqual 85 86
              88:    72(bool) LogicalAnd 84 87
              89:    72(bool) LogicalAnd 79 88
                              SelectionMerge 91 None
                              BranchConditional 89 90 104
              90:               Label
              98:          95   Load 97(samp2D)
             102:   99(fvec2)   Load 101(coord)
             103:   14(fvec4)   ImageSampleImplicitLod 98 102
                                Store 93(v) 103
                                Branch 91
             104:               Label
             105:          95   Load 97(samp2D)
             107:   99(fvec2)   Load 101(coord)
             108:   99(fvec2)   VectorTimesScalar 107 106
             109:   14(fvec4)   ImageSampleImplicitLod 105 108
                                Store 93(v) 109
                                Branch 91
              91:             Label
             110:   14(fvec4) Load 16(u)
             111:   14(fvec4) Load 93(v)
             113:  112(bvec4) FOrdEqual 110 111
             114:    72(bool) All 113
                              SelectionMerge 116 None
                              BranchConditional 114 115 116
             115:               Label
             118:   14(fvec4)   Load 93(v)
             119:   14(fvec4)   VectorTimesScalar 118 117
                                Store 93(v) 119
                                Branch 116
             116:             Label
             120:   14(fvec4) Load 16(u)
             121:   14(fvec4) Load 93(v)
             122:  112(bvec4) FOrdNotEqual 120 121
             123:    72(bool) Any 122
                              SelectionMerge 125 None
                              BranchConditional 123 124 125
             124:               Label
             127:   14(fvec4)   Load 93(v)
             128:   14(fvec4)   VectorTimesScalar 127 126
                                Store 93(v) 128
                                Branch 125
             125:             Label
             129:   99(fvec2) Load 101(coord)
             130:   14(fvec4) Load 93(v)
             131:   99(fvec2) VectorShuffle 130 130 1 3
             133:  132(bvec2) FOrdEqual 129 131
             134:    72(bool) All 133
                              SelectionMerge 136 None
                              BranchConditional 134 135 136
             135:               Label
             138:   14(fvec4)   Load 93(v)
             139:   14(fvec4)   VectorTimesScalar 138 137
                                Store 93(v) 139
                                Branch 136
             136:             Label
             140:          11 Load 13(a)
             141:          11 Load 37(b)
             142:       8(s1) CompositeExtract 140 0
             143:       8(s1) CompositeExtract 141 0
             144:      6(int) CompositeExtract 142 0
             145:      6(int) CompositeExtract 143 0
             146:    72(bool) IEqual 144 145
             147:    7(float) CompositeExtract 142 1
             148:    7(float) CompositeExtract 143 1
             149:    72(bool) FOrdEqual 147 148
             150:    72(bool) LogicalAnd 146 149
             151:       8(s1) CompositeExtract 140 1
             152:       8(s1) CompositeExtract 141 1
             153:      6(int) CompositeExtract 151 0
             154:      6(int) CompositeExtract 152 0
             155:    72(bool) IEqual 153 154
             156:    7(float) CompositeExtract 151 1
             157:    7(float) CompositeExtract 152 1
             158:    72(bool) FOrdEqual 156 157
             159:    72(bool) LogicalAnd 155 158
             160:    72(bool) LogicalAnd 150 159
             161:       8(s1) CompositeExtract 140 2
             162:       8(s1) CompositeExtract 141 2
             163:      6(int) CompositeExtract 161 0
             164:      6(int) CompositeExtract 162 0
             165:    72(bool) IEqual 163 164
             166:    7(float) CompositeExtract 161 1
             167:    7(float) CompositeExtract 162 1
             168:    72(bool) FOrdEqual 166 167
             169:    72(bool) LogicalAnd 165 168
             170:    72(bool) LogicalAnd 160 169
                              SelectionMerge 172 None
                              BranchConditional 170 171 172
             171:               Label
             174:   14(fvec4)   Load 93(v)
             175:   14(fvec4)   VectorTimesScalar 174 173
                                Store 93(v) 175
                                Branch 172
             172:             Label
             176:          11 Load 13(a)
             177:          11 Load 37(b)
             178:       8(s1) CompositeExtract 176 0
             179:       8(s1) CompositeExtract 177 0
             180:      6(int) CompositeExtract 178 0
             181:      6(int) CompositeExtract 179 0
             182:    72(bool) INotEqual 180 181
             183:    7(float) CompositeExtract 178 1
             184:    7(float) CompositeExtract 179 1
             185:    72(bool) FOrdNotEqual 183 184
             186:    72(bool) LogicalOr 182 185
             187:       8(s1) CompositeExtract 176 1
             188:       8(s1) CompositeExtract 177 1
             189:      6(int) CompositeExtract 187 0
             190:      6(int) CompositeExtract 188 0
             191:    72(bool) INotEqual 189 190
             192:    7(float) CompositeExtract 187 1
             193:    7(float) CompositeExtract 188 1
             194:    72(bool) FOrdNotEqual 192 193
             195:    72(bool) LogicalOr 191 194
             196:    72(bool) LogicalOr 186 195
             197:       8(s1) CompositeExtract 176 2
             198:       8(s1) CompositeExtract 177 2
             199:      6(int) CompositeExtract 197 0
             200:      6(int) CompositeExtract 198 0
             201:    72(bool) INotEqual 199 200
             202:    7(float) CompositeExtract 197 1
             203:    7(float) CompositeExtract 198 1
             204:    72(bool) FOrdNotEqual 202 203
             205:    72(bool) LogicalOr 201 204
             206:    72(bool) LogicalOr 196 205
                              SelectionMerge 208 None
                              BranchConditional 206 207 208
             207:               Label
             210:   14(fvec4)   Load 93(v)
             211:   14(fvec4)   VectorTimesScalar 210 209
                                Store 93(v) 211
                                Branch 208
             208:             Label
             214:   14(fvec4) Load 93(v)
                              Store 213(color) 214
                              Return
                              FunctionEnd
