blob: 99d77e179b43d872ee380f86f47099e393183c2a [file] [log] [blame] [edit]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 403
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %gl_FragCoord_param_1 %x_GLF_color_1_1
OpExecutionMode %main OriginUpperLeft
OpName %gl_FragCoord_param_1 "gl_FragCoord_param_1"
OpName %x_GLF_color_1_1 "x_GLF_color_1_1"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "injectionSwitch"
OpName %x_25 "x_25"
OpName %gl_FragCoord "gl_FragCoord"
OpName %x_GLF_color "x_GLF_color"
OpName %drawShape_vf2_ "drawShape_vf2_"
OpName %pos "pos"
OpName %c2 "c2"
OpName %c3 "c3"
OpName %c4 "c4"
OpName %c5 "c5"
OpName %c6 "c6"
OpName %GLF_live4i "GLF_live4i"
OpName %GLF_live4_looplimiter5 "GLF_live4_looplimiter5"
OpName %GLF_live7m42 "GLF_live7m42"
OpName %GLF_live7m33 "GLF_live7m33"
OpName %GLF_live7cols "GLF_live7cols"
OpName %GLF_live7_looplimiter3 "GLF_live7_looplimiter3"
OpName %GLF_live7rows "GLF_live7rows"
OpName %GLF_live7_looplimiter2 "GLF_live7_looplimiter2"
OpName %GLF_live7_looplimiter1 "GLF_live7_looplimiter1"
OpName %GLF_live7c "GLF_live7c"
OpName %GLF_live7r "GLF_live7r"
OpName %GLF_live7_looplimiter0 "GLF_live7_looplimiter0"
OpName %GLF_live7sum_index "GLF_live7sum_index"
OpName %GLF_live7_looplimiter7 "GLF_live7_looplimiter7"
OpName %GLF_live7cols_1 "GLF_live7cols_1"
OpName %GLF_live7rows_1 "GLF_live7rows_1"
OpName %GLF_live7sums "GLF_live7sums"
OpName %GLF_live7c_1 "GLF_live7c_1"
OpName %GLF_live7r_1 "GLF_live7r_1"
OpName %x_180 "x_180"
OpName %indexable "indexable"
OpName %main_1 "main_1"
OpName %position "position"
OpName %param "param"
OpName %param_1 "param_1"
OpName %i "i"
OpName %param_2 "param_2"
OpName %main_out "main_out"
OpMemberName %main_out 0 "x_GLF_color_1"
OpName %main_inner "main_inner"
OpName %gl_FragCoord_param "gl_FragCoord_param"
OpName %main "main"
OpDecorate %gl_FragCoord_param_1 BuiltIn FragCoord
OpDecorate %x_GLF_color_1_1 Location 0
OpDecorate %buf0 Block
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %x_25 NonWritable
OpDecorate %x_25 DescriptorSet 0
OpDecorate %x_25 Binding 0
OpDecorate %_arr_float_uint_9 ArrayStride 4
OpMemberDecorate %main_out 0 Offset 0
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Input_v4float = OpTypePointer Input %v4float
%gl_FragCoord_param_1 = OpVariable %_ptr_Input_v4float Input
%_ptr_Output_v4float = OpTypePointer Output %v4float
%7 = OpConstantNull %v4float
%x_GLF_color_1_1 = OpVariable %_ptr_Output_v4float Output %7
%v2float = OpTypeVector %float 2
%buf0 = OpTypeStruct %v2float
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%x_25 = OpVariable %_ptr_Uniform_buf0 Uniform
%_ptr_Private_v4float = OpTypePointer Private %v4float
%gl_FragCoord = OpVariable %_ptr_Private_v4float Private %7
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %7
%v3float = OpTypeVector %float 3
%_ptr_Function_v2float = OpTypePointer Function %v2float
%15 = OpTypeFunction %v3float %_ptr_Function_v2float
%bool = OpTypeBool
%_ptr_Function_bool = OpTypePointer Function %bool
%24 = OpConstantNull %bool
%int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
%32 = OpConstantNull %int
%mat4v2float = OpTypeMatrix %v2float 4
%_ptr_Function_mat4v2float = OpTypePointer Function %mat4v2float
%37 = OpConstantNull %mat4v2float
%mat3v3float = OpTypeMatrix %v3float 3
%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float
%41 = OpConstantNull %mat3v3float
%uint = OpTypeInt 32 0
%uint_9 = OpConstant %uint 9
%_arr_float_uint_9 = OpTypeArray %float %uint_9
%_ptr_Function__arr_float_uint_9 = OpTypePointer Function %_arr_float_uint_9
%59 = OpConstantNull %_arr_float_uint_9
%uint_0 = OpConstant %uint 0
%_ptr_Function_float = OpTypePointer Function %float
%float_1 = OpConstant %float 1
%74 = OpConstantComposite %v3float %float_1 %float_1 %float_1
%uint_1 = OpConstant %uint 1
%int_0 = OpConstant %int 0
%int_4 = OpConstant %int 4
%int_7 = OpConstant %int 7
%int_1 = OpConstant %int 1
%float_0 = OpConstant %float 0
%125 = OpConstantComposite %v2float %float_1 %float_0
%126 = OpConstantComposite %v2float %float_0 %float_1
%127 = OpConstantComposite %v2float %float_0 %float_0
%128 = OpConstantComposite %mat4v2float %125 %126 %127 %125
%129 = OpConstantComposite %v3float %float_1 %float_0 %float_0
%130 = OpConstantComposite %v3float %float_0 %float_1 %float_0
%131 = OpConstantComposite %v3float %float_0 %float_0 %float_1
%132 = OpConstantComposite %mat3v3float %129 %130 %131
%int_2 = OpConstant %int 2
%int_3 = OpConstant %int 3
%_ptr_Uniform_float = OpTypePointer Uniform %float
%int_9 = OpConstant %int 9
%void = OpTypeVoid
%348 = OpTypeFunction %void
%353 = OpConstantNull %v2float
%float_2 = OpConstant %float 2
%int_25 = OpConstant %int 25
%389 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float
%390 = OpTypeFunction %main_out %v4float
%drawShape_vf2_ = OpFunction %v3float None %15
%pos = OpFunctionParameter %_ptr_Function_v2float
%20 = OpLabel
%c2 = OpVariable %_ptr_Function_bool Function %24
%c3 = OpVariable %_ptr_Function_bool Function %24
%c4 = OpVariable %_ptr_Function_bool Function %24
%c5 = OpVariable %_ptr_Function_bool Function %24
%c6 = OpVariable %_ptr_Function_bool Function %24
%GLF_live4i = OpVariable %_ptr_Function_int Function %32
%GLF_live4_looplimiter5 = OpVariable %_ptr_Function_int Function %32
%GLF_live7m42 = OpVariable %_ptr_Function_mat4v2float Function %37
%GLF_live7m33 = OpVariable %_ptr_Function_mat3v3float Function %41
%GLF_live7cols = OpVariable %_ptr_Function_int Function %32
%GLF_live7_looplimiter3 = OpVariable %_ptr_Function_int Function %32
%GLF_live7rows = OpVariable %_ptr_Function_int Function %32
%GLF_live7_looplimiter2 = OpVariable %_ptr_Function_int Function %32
%GLF_live7_looplimiter1 = OpVariable %_ptr_Function_int Function %32
%GLF_live7c = OpVariable %_ptr_Function_int Function %32
%GLF_live7r = OpVariable %_ptr_Function_int Function %32
%GLF_live7_looplimiter0 = OpVariable %_ptr_Function_int Function %32
%GLF_live7sum_index = OpVariable %_ptr_Function_int Function %32
%GLF_live7_looplimiter7 = OpVariable %_ptr_Function_int Function %32
%GLF_live7cols_1 = OpVariable %_ptr_Function_int Function %32
%GLF_live7rows_1 = OpVariable %_ptr_Function_int Function %32
%GLF_live7sums = OpVariable %_ptr_Function__arr_float_uint_9 Function %59
%GLF_live7c_1 = OpVariable %_ptr_Function_int Function %32
%GLF_live7r_1 = OpVariable %_ptr_Function_int Function %32
%x_180 = OpVariable %_ptr_Function_int Function %32
%indexable = OpVariable %_ptr_Function_mat3v3float Function %41
%67 = OpAccessChain %_ptr_Function_float %pos %uint_0
%68 = OpLoad %float %67
%70 = OpFOrdGreaterThan %bool %68 %float_1
OpStore %c2 %70
%71 = OpLoad %bool %c2
OpSelectionMerge %72 None
OpBranchConditional %71 %73 %72
%73 = OpLabel
OpReturnValue %74
%72 = OpLabel
%77 = OpAccessChain %_ptr_Function_float %pos %uint_1
%78 = OpLoad %float %77
%79 = OpFOrdLessThan %bool %78 %float_1
OpStore %c3 %79
%80 = OpLoad %bool %c3
OpSelectionMerge %81 None
OpBranchConditional %80 %82 %81
%82 = OpLabel
OpReturnValue %74
%81 = OpLabel
%84 = OpAccessChain %_ptr_Function_float %pos %uint_1
%85 = OpLoad %float %84
%86 = OpFOrdGreaterThan %bool %85 %float_1
OpStore %c4 %86
%87 = OpLoad %bool %c4
OpSelectionMerge %88 None
OpBranchConditional %87 %89 %88
%89 = OpLabel
OpReturnValue %74
%88 = OpLabel
%91 = OpAccessChain %_ptr_Function_float %pos %uint_0
%92 = OpLoad %float %91
%93 = OpFOrdLessThan %bool %92 %float_1
OpStore %c5 %93
%94 = OpLoad %bool %c5
OpSelectionMerge %95 None
OpBranchConditional %94 %96 %95
%96 = OpLabel
OpReturnValue %74
%95 = OpLabel
%98 = OpAccessChain %_ptr_Function_float %pos %uint_0
%99 = OpLoad %float %98
%100 = OpFAdd %float %99 %float_1
%101 = OpFOrdGreaterThan %bool %100 %float_1
OpStore %c6 %101
%102 = OpLoad %bool %c6
OpSelectionMerge %103 None
OpBranchConditional %102 %104 %103
%104 = OpLabel
OpReturnValue %74
%103 = OpLabel
OpStore %GLF_live4i %int_0
OpBranch %106
%106 = OpLabel
OpLoopMerge %107 %108 None
OpBranch %109
%109 = OpLabel
%110 = OpLoad %int %GLF_live4i
%112 = OpSLessThan %bool %110 %int_4
OpSelectionMerge %113 None
OpBranchConditional %112 %114 %115
%114 = OpLabel
OpBranch %113
%115 = OpLabel
OpBranch %107
%113 = OpLabel
%116 = OpLoad %int %GLF_live4_looplimiter5
%118 = OpSGreaterThanEqual %bool %116 %int_7
OpSelectionMerge %119 None
OpBranchConditional %118 %120 %119
%120 = OpLabel
OpBranch %107
%119 = OpLabel
%121 = OpLoad %int %GLF_live4_looplimiter5
%123 = OpIAdd %int %121 %int_1
OpStore %GLF_live4_looplimiter5 %123
OpStore %GLF_live7m42 %128
OpStore %GLF_live7m33 %132
OpStore %GLF_live7cols %int_2
OpBranch %134
%134 = OpLabel
OpLoopMerge %135 %136 None
OpBranch %137
%137 = OpLabel
%138 = OpLoad %int %GLF_live7cols
%139 = OpSLessThan %bool %138 %int_4
OpSelectionMerge %140 None
OpBranchConditional %139 %141 %142
%141 = OpLabel
OpBranch %140
%142 = OpLabel
OpBranch %135
%140 = OpLabel
%143 = OpLoad %int %GLF_live7_looplimiter3
%144 = OpSGreaterThanEqual %bool %143 %int_7
OpSelectionMerge %145 None
OpBranchConditional %144 %146 %145
%146 = OpLabel
OpBranch %135
%145 = OpLabel
%147 = OpLoad %int %GLF_live7_looplimiter3
%148 = OpIAdd %int %147 %int_1
OpStore %GLF_live7_looplimiter3 %148
OpStore %GLF_live7rows %int_2
OpBranch %149
%149 = OpLabel
OpLoopMerge %150 %151 None
OpBranch %152
%152 = OpLabel
%153 = OpLoad %int %GLF_live7rows
%154 = OpSLessThan %bool %153 %int_4
OpSelectionMerge %155 None
OpBranchConditional %154 %156 %157
%156 = OpLabel
OpBranch %155
%157 = OpLabel
OpBranch %150
%155 = OpLabel
%158 = OpLoad %int %GLF_live7_looplimiter2
%159 = OpSGreaterThanEqual %bool %158 %int_7
OpSelectionMerge %160 None
OpBranchConditional %159 %161 %160
%161 = OpLabel
OpBranch %150
%160 = OpLabel
%162 = OpLoad %int %GLF_live7_looplimiter2
%163 = OpIAdd %int %162 %int_1
OpStore %GLF_live7_looplimiter2 %163
OpStore %GLF_live7_looplimiter1 %int_0
OpStore %GLF_live7c %int_0
OpBranch %164
%164 = OpLabel
OpLoopMerge %165 %166 None
OpBranch %167
%167 = OpLabel
%168 = OpLoad %int %GLF_live7c
%170 = OpSLessThan %bool %168 %int_3
OpSelectionMerge %171 None
OpBranchConditional %170 %172 %173
%172 = OpLabel
OpBranch %171
%173 = OpLabel
OpBranch %165
%171 = OpLabel
%174 = OpLoad %int %GLF_live7_looplimiter1
%175 = OpSGreaterThanEqual %bool %174 %int_7
OpSelectionMerge %176 None
OpBranchConditional %175 %177 %176
%177 = OpLabel
OpBranch %165
%176 = OpLabel
%178 = OpLoad %int %GLF_live7_looplimiter1
%179 = OpIAdd %int %178 %int_1
OpStore %GLF_live7_looplimiter1 %179
OpStore %GLF_live7r %int_0
OpBranch %180
%180 = OpLabel
OpLoopMerge %181 %182 None
OpBranch %183
%183 = OpLabel
%184 = OpLoad %int %GLF_live7r
%185 = OpSLessThan %bool %184 %int_2
OpSelectionMerge %186 None
OpBranchConditional %185 %187 %188
%187 = OpLabel
OpBranch %186
%188 = OpLabel
OpBranch %181
%186 = OpLabel
%189 = OpLoad %int %GLF_live7_looplimiter0
%190 = OpSGreaterThanEqual %bool %189 %int_7
OpSelectionMerge %191 None
OpBranchConditional %190 %192 %191
%192 = OpLabel
OpBranch %181
%191 = OpLabel
%193 = OpLoad %int %GLF_live7_looplimiter0
%194 = OpIAdd %int %193 %int_1
OpStore %GLF_live7_looplimiter0 %194
%195 = OpLoad %int %GLF_live7c
%196 = OpLoad %int %GLF_live7c
%197 = OpLoad %int %GLF_live7c
%198 = OpLoad %int %GLF_live7r
%199 = OpLoad %int %GLF_live7r
%200 = OpLoad %int %GLF_live7r
%202 = OpSGreaterThanEqual %bool %195 %int_0
OpSelectionMerge %203 None
OpBranchConditional %202 %204 %203
%204 = OpLabel
%205 = OpSLessThan %bool %196 %int_3
OpBranch %203
%203 = OpLabel
%206 = OpPhi %bool %202 %191 %205 %204
%201 = OpSelect %int %206 %197 %int_0
%208 = OpSGreaterThanEqual %bool %198 %int_0
OpSelectionMerge %209 None
OpBranchConditional %208 %210 %209
%210 = OpLabel
%211 = OpSLessThan %bool %199 %int_3
OpBranch %209
%209 = OpLabel
%212 = OpPhi %bool %208 %203 %211 %210
%207 = OpSelect %int %212 %200 %int_0
%213 = OpAccessChain %_ptr_Function_float %GLF_live7m33 %201 %207
OpStore %213 %float_1
%215 = OpAccessChain %_ptr_Uniform_float %x_25 %uint_0 %uint_1
%216 = OpLoad %float %215
%217 = OpFOrdGreaterThan %bool %float_0 %216
OpSelectionMerge %218 None
OpBranchConditional %217 %219 %220
%219 = OpLabel
OpBranch %218
%220 = OpLabel
%221 = OpLoad %int %GLF_live7c
%222 = OpLoad %int %GLF_live7c
%223 = OpLoad %int %GLF_live7c
%224 = OpLoad %int %GLF_live7r
%225 = OpLoad %int %GLF_live7r
%226 = OpLoad %int %GLF_live7r
%228 = OpSGreaterThanEqual %bool %221 %int_0
OpSelectionMerge %229 None
OpBranchConditional %228 %230 %229
%230 = OpLabel
%231 = OpSLessThan %bool %222 %int_4
OpBranch %229
%229 = OpLabel
%232 = OpPhi %bool %228 %220 %231 %230
%227 = OpSelect %int %232 %223 %int_0
%234 = OpSGreaterThanEqual %bool %224 %int_0
OpSelectionMerge %235 None
OpBranchConditional %234 %236 %235
%236 = OpLabel
%237 = OpSLessThan %bool %225 %int_2
OpBranch %235
%235 = OpLabel
%238 = OpPhi %bool %234 %229 %237 %236
%233 = OpSelect %int %238 %226 %int_0
%239 = OpAccessChain %_ptr_Function_float %GLF_live7m42 %227 %233
OpStore %239 %float_1
OpBranch %218
%218 = OpLabel
OpBranch %182
%182 = OpLabel
%240 = OpLoad %int %GLF_live7r
%241 = OpIAdd %int %240 %int_1
OpStore %GLF_live7r %241
OpBranch %180
%181 = OpLabel
OpBranch %166
%166 = OpLabel
%242 = OpLoad %int %GLF_live7c
%243 = OpIAdd %int %242 %int_1
OpStore %GLF_live7c %243
OpBranch %164
%165 = OpLabel
OpBranch %151
%151 = OpLabel
%244 = OpLoad %int %GLF_live7rows
%245 = OpIAdd %int %244 %int_1
OpStore %GLF_live7rows %245
OpBranch %149
%150 = OpLabel
OpBranch %136
%136 = OpLabel
%246 = OpLoad %int %GLF_live7cols
%247 = OpIAdd %int %246 %int_1
OpStore %GLF_live7cols %247
OpBranch %134
%135 = OpLabel
OpStore %GLF_live7sum_index %int_0
OpStore %GLF_live7_looplimiter7 %int_0
OpStore %GLF_live7cols_1 %int_2
OpBranch %248
%248 = OpLabel
OpLoopMerge %249 %250 None
OpBranch %251
%251 = OpLabel
%252 = OpLoad %int %GLF_live7cols_1
%253 = OpSLessThan %bool %252 %int_4
OpSelectionMerge %254 None
OpBranchConditional %253 %255 %256
%255 = OpLabel
OpBranch %254
%256 = OpLabel
OpBranch %249
%254 = OpLabel
%257 = OpLoad %int %GLF_live7_looplimiter7
%258 = OpSGreaterThanEqual %bool %257 %int_7
OpSelectionMerge %259 None
OpBranchConditional %258 %260 %259
%260 = OpLabel
OpBranch %249
%259 = OpLabel
%261 = OpLoad %int %GLF_live7_looplimiter7
%262 = OpIAdd %int %261 %int_1
OpStore %GLF_live7_looplimiter7 %262
OpStore %GLF_live7rows_1 %int_2
%263 = OpLoad %int %GLF_live7sum_index
%264 = OpLoad %int %GLF_live7sum_index
%265 = OpLoad %int %GLF_live7sum_index
%267 = OpSGreaterThanEqual %bool %263 %int_0
OpSelectionMerge %268 None
OpBranchConditional %267 %269 %268
%269 = OpLabel
%271 = OpSLessThan %bool %264 %int_9
OpBranch %268
%268 = OpLabel
%272 = OpPhi %bool %267 %259 %271 %269
%266 = OpSelect %int %272 %265 %int_0
%273 = OpAccessChain %_ptr_Function_float %GLF_live7sums %266
OpStore %273 %float_0
OpStore %GLF_live7c_1 %int_0
OpBranch %274
%274 = OpLabel
OpLoopMerge %275 %276 None
OpBranch %277
%277 = OpLabel
%278 = OpLoad %int %GLF_live7c_1
%279 = OpSLessThan %bool %278 %int_1
OpSelectionMerge %280 None
OpBranchConditional %279 %281 %282
%281 = OpLabel
OpBranch %280
%282 = OpLabel
OpBranch %275
%280 = OpLabel
OpStore %GLF_live7r_1 %int_0
OpBranch %283
%283 = OpLabel
OpLoopMerge %284 %285 None
OpBranch %286
%286 = OpLabel
%287 = OpLoad %int %GLF_live7r_1
%288 = OpLoad %int %GLF_live7rows_1
%289 = OpSLessThan %bool %287 %288
OpSelectionMerge %290 None
OpBranchConditional %289 %291 %292
%291 = OpLabel
OpBranch %290
%292 = OpLabel
OpBranch %284
%290 = OpLabel
%293 = OpLoad %int %GLF_live7sum_index
%294 = OpLoad %int %GLF_live7sum_index
%295 = OpLoad %int %GLF_live7sum_index
%297 = OpSGreaterThanEqual %bool %293 %int_0
OpSelectionMerge %298 None
OpBranchConditional %297 %299 %298
%299 = OpLabel
%300 = OpSLessThan %bool %294 %int_9
OpBranch %298
%298 = OpLabel
%301 = OpPhi %bool %297 %290 %300 %299
%296 = OpSelect %int %301 %295 %int_0
%302 = OpLoad %mat3v3float %GLF_live7m33
%303 = OpTranspose %mat3v3float %302
%304 = OpLoad %int %GLF_live7c_1
%305 = OpSLessThan %bool %304 %int_3
OpSelectionMerge %306 None
OpBranchConditional %305 %307 %308
%307 = OpLabel
OpStore %x_180 %int_1
OpBranch %306
%308 = OpLabel
%309 = OpAccessChain %_ptr_Uniform_float %x_25 %uint_0 %uint_0
%310 = OpLoad %float %309
%311 = OpConvertFToS %int %310
OpStore %x_180 %311
OpBranch %306
%306 = OpLabel
%312 = OpLoad %int %x_180
%313 = OpLoad %int %GLF_live7r_1
OpStore %indexable %303
%315 = OpSLessThan %bool %313 %int_3
%314 = OpSelect %int %315 %int_1 %int_0
%316 = OpAccessChain %_ptr_Function_float %indexable %312 %314
%317 = OpLoad %float %316
%318 = OpAccessChain %_ptr_Function_float %GLF_live7sums %296
%319 = OpLoad %float %318
%320 = OpAccessChain %_ptr_Function_float %GLF_live7sums %296
%321 = OpFAdd %float %319 %317
OpStore %320 %321
%322 = OpLoad %int %GLF_live7sum_index
%323 = OpLoad %int %GLF_live7sum_index
%324 = OpLoad %int %GLF_live7sum_index
%326 = OpSGreaterThanEqual %bool %322 %int_0
OpSelectionMerge %327 None
OpBranchConditional %326 %328 %327
%328 = OpLabel
%329 = OpSLessThan %bool %323 %int_9
OpBranch %327
%327 = OpLabel
%330 = OpPhi %bool %326 %306 %329 %328
%325 = OpSelect %int %330 %324 %int_0
%331 = OpLoad %int %GLF_live7r_1
%332 = OpAccessChain %_ptr_Function_float %GLF_live7m42 %int_1 %331
%333 = OpLoad %float %332
%334 = OpAccessChain %_ptr_Function_float %GLF_live7sums %325
%335 = OpLoad %float %334
%336 = OpAccessChain %_ptr_Function_float %GLF_live7sums %325
%337 = OpFAdd %float %335 %333
OpStore %336 %337
OpBranch %285
%285 = OpLabel
%338 = OpLoad %int %GLF_live7r_1
%339 = OpIAdd %int %338 %int_1
OpStore %GLF_live7r_1 %339
OpBranch %283
%284 = OpLabel
OpBranch %276
%276 = OpLabel
%340 = OpLoad %int %GLF_live7c_1
%341 = OpIAdd %int %340 %int_1
OpStore %GLF_live7c_1 %341
OpBranch %274
%275 = OpLabel
%342 = OpLoad %int %GLF_live7sum_index
%343 = OpIAdd %int %342 %int_1
OpStore %GLF_live7sum_index %343
OpBranch %250
%250 = OpLabel
%344 = OpLoad %int %GLF_live7cols_1
%345 = OpIAdd %int %344 %int_1
OpStore %GLF_live7cols_1 %345
OpBranch %248
%249 = OpLabel
OpBranch %108
%108 = OpLabel
%346 = OpLoad %int %GLF_live4i
%347 = OpIAdd %int %346 %int_1
OpStore %GLF_live4i %347
OpBranch %106
%107 = OpLabel
OpReturnValue %74
OpFunctionEnd
%main_1 = OpFunction %void None %348
%351 = OpLabel
%position = OpVariable %_ptr_Function_v2float Function %353
%param = OpVariable %_ptr_Function_v2float Function %353
%param_1 = OpVariable %_ptr_Function_v2float Function %353
%i = OpVariable %_ptr_Function_int Function %32
%param_2 = OpVariable %_ptr_Function_v2float Function %353
%358 = OpAccessChain %_ptr_Uniform_float %x_25 %uint_0 %uint_0
%359 = OpLoad %float %358
%361 = OpFOrdGreaterThanEqual %bool %359 %float_2
OpSelectionMerge %362 None
OpBranchConditional %361 %363 %362
%363 = OpLabel
%364 = OpLoad %v4float %gl_FragCoord
%365 = OpCompositeExtract %float %364 0
%366 = OpCompositeExtract %float %364 1
%367 = OpCompositeConstruct %v2float %365 %366
OpStore %position %367
%368 = OpLoad %v2float %position
OpStore %param %368
%369 = OpFunctionCall %v3float %drawShape_vf2_ %param
%371 = OpLoad %v2float %position
OpStore %param_1 %371
%372 = OpFunctionCall %v3float %drawShape_vf2_ %param_1
OpStore %i %int_25
OpBranch %375
%375 = OpLabel
OpLoopMerge %376 %377 None
OpBranch %378
%378 = OpLabel
%379 = OpLoad %int %i
%380 = OpSGreaterThan %bool %379 %int_0
OpSelectionMerge %381 None
OpBranchConditional %380 %382 %383
%382 = OpLabel
OpBranch %381
%383 = OpLabel
OpBranch %376
%381 = OpLabel
%384 = OpLoad %v2float %position
OpStore %param_2 %384
%385 = OpFunctionCall %v3float %drawShape_vf2_ %param_2
OpBranch %377
%377 = OpLabel
%387 = OpLoad %int %i
%388 = OpISub %int %387 %int_1
OpStore %i %388
OpBranch %375
%376 = OpLabel
OpBranch %362
%362 = OpLabel
OpStore %x_GLF_color %389
OpReturn
OpFunctionEnd
%main_inner = OpFunction %main_out None %390
%gl_FragCoord_param = OpFunctionParameter %v4float
%394 = OpLabel
OpStore %gl_FragCoord %gl_FragCoord_param
%395 = OpFunctionCall %void %main_1
%396 = OpLoad %v4float %x_GLF_color
%397 = OpCompositeConstruct %main_out %396
OpReturnValue %397
OpFunctionEnd
%main = OpFunction %void None %348
%399 = OpLabel
%401 = OpLoad %v4float %gl_FragCoord_param_1
%400 = OpFunctionCall %main_out %main_inner %401
%402 = OpCompositeExtract %v4float %400 0
OpStore %x_GLF_color_1_1 %402
OpReturn
OpFunctionEnd