; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 ; Bound: 520 ; Schema: 0 OpCapability Shader %288 = OpExtInstImport "GLSL.std.450" 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 %data "data" OpName %temp "temp" OpName %buf0 "buf0" OpMemberName %buf0 0 "injectionSwitch" OpName %x_28 "x_28" OpName %gl_FragCoord "gl_FragCoord" OpName %x_GLF_color "x_GLF_color" OpName %merge_i1_i1_i1_ "merge_i1_i1_i1_" OpName %from "from" OpName %mid "mid" OpName %to "to" OpName %k "k" OpName %i "i" OpName %j "j" OpName %i_1 "i_1" OpName %x_283 "x_283" OpName %x_284 "x_284" OpName %x_303 "x_303" OpName %x_304 "x_304" OpName %x_318 "x_318" OpName %x_322 "x_322" OpName %x_337 "x_337" OpName %x_336 "x_336" OpName %x_350 "x_350" OpName %x_349 "x_349" OpName %x_364 "x_364" OpName %x_363 "x_363" OpName %x_285_phi "x_285_phi" OpName %x_305_phi "x_305_phi" OpName %x_326_phi "x_326_phi" OpName %x_338_phi "x_338_phi" OpName %x_351_phi "x_351_phi" OpName %x_365_phi "x_365_phi" OpName %mergeSort_ "mergeSort_" OpName %low "low" OpName %high "high" OpName %m "m" OpName %i_2 "i_2" OpName %from_1 "from_1" OpName %mid_1 "mid_1" OpName %to_1 "to_1" OpName %param "param" OpName %param_1 "param_1" OpName %param_2 "param_2" OpName %main_1 "main_1" OpName %i_3 "i_3" OpName %j_1 "j_1" OpName %grey "grey" 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 %_arr_int_uint_10 ArrayStride 4 OpDecorate %buf0 Block OpMemberDecorate %buf0 0 Offset 0 OpDecorate %x_28 NonWritable OpDecorate %x_28 DescriptorSet 0 OpDecorate %x_28 Binding 0 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 %int = OpTypeInt 32 1 %uint = OpTypeInt 32 0 %uint_10 = OpConstant %uint 10 %_arr_int_uint_10 = OpTypeArray %int %uint_10 %_ptr_Private__arr_int_uint_10 = OpTypePointer Private %_arr_int_uint_10 %14 = OpConstantNull %_arr_int_uint_10 %data = OpVariable %_ptr_Private__arr_int_uint_10 Private %14 %temp = OpVariable %_ptr_Private__arr_int_uint_10 Private %14 %v2float = OpTypeVector %float 2 %buf0 = OpTypeStruct %v2float %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 %x_28 = 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 %void = OpTypeVoid %_ptr_Function_int = OpTypePointer Function %int %23 = OpTypeFunction %void %_ptr_Function_int %_ptr_Function_int %_ptr_Function_int %32 = OpConstantNull %int %int_1 = OpConstant %int 1 %float_1 = OpConstant %float 1 %float_0 = OpConstant %float 0 %bool = OpTypeBool %_ptr_Private_int = OpTypePointer Private %int %int_0 = OpConstant %int 0 %uint_0 = OpConstant %uint 0 %_ptr_Uniform_float = OpTypePointer Uniform %float %uint_1 = OpConstant %uint 1 %int_10 = OpConstant %int 10 %244 = OpTypeFunction %void %int_9 = OpConstant %int 9 %int_2 = OpConstant %int 2 %_ptr_Function_float = OpTypePointer Function %float %312 = OpConstantNull %float %int_n5 = OpConstant %int -5 %int_n4 = OpConstant %int -4 %int_n3 = OpConstant %int -3 %int_n2 = OpConstant %int -2 %int_n1 = OpConstant %int -1 %int_3 = OpConstant %int 3 %int_4 = OpConstant %int 4 %_ptr_Private_float = OpTypePointer Private %float %int_30 = OpConstant %int 30 %float_0_5 = OpConstant %float 0.5 %float_10 = OpConstant %float 10 %int_60 = OpConstant %int 60 %int_90 = OpConstant %int 90 %int_120 = OpConstant %int 120 %int_150 = OpConstant %int 150 %int_180 = OpConstant %int 180 %int_5 = OpConstant %int 5 %int_210 = OpConstant %int 210 %int_6 = OpConstant %int 6 %int_240 = OpConstant %int 240 %int_7 = OpConstant %int 7 %int_270 = OpConstant %int 270 %int_8 = OpConstant %int 8 %v3float = OpTypeVector %float 3 %main_out = OpTypeStruct %v4float %507 = OpTypeFunction %main_out %v4float %merge_i1_i1_i1_ = OpFunction %void None %23 %from = OpFunctionParameter %_ptr_Function_int %mid = OpFunctionParameter %_ptr_Function_int %to = OpFunctionParameter %_ptr_Function_int %30 = OpLabel %k = OpVariable %_ptr_Function_int Function %32 %i = OpVariable %_ptr_Function_int Function %32 %j = OpVariable %_ptr_Function_int Function %32 %i_1 = OpVariable %_ptr_Function_int Function %32 %x_283 = OpVariable %_ptr_Function_int Function %32 %x_284 = OpVariable %_ptr_Function_int Function %32 %x_303 = OpVariable %_ptr_Function_int Function %32 %x_304 = OpVariable %_ptr_Function_int Function %32 %x_318 = OpVariable %_ptr_Function_int Function %32 %x_322 = OpVariable %_ptr_Function_int Function %32 %x_337 = OpVariable %_ptr_Function_int Function %32 %x_336 = OpVariable %_ptr_Function_int Function %32 %x_350 = OpVariable %_ptr_Function_int Function %32 %x_349 = OpVariable %_ptr_Function_int Function %32 %x_364 = OpVariable %_ptr_Function_int Function %32 %x_363 = OpVariable %_ptr_Function_int Function %32 %x_285_phi = OpVariable %_ptr_Function_int Function %32 %x_305_phi = OpVariable %_ptr_Function_int Function %32 %x_326_phi = OpVariable %_ptr_Function_int Function %32 %x_338_phi = OpVariable %_ptr_Function_int Function %32 %x_351_phi = OpVariable %_ptr_Function_int Function %32 %x_365_phi = OpVariable %_ptr_Function_int Function %32 %37 = OpLoad %int %from OpStore %k %37 %39 = OpLoad %int %from OpStore %i %39 %41 = OpLoad %int %mid %43 = OpIAdd %int %41 %int_1 OpStore %j %43 OpBranch %44 %44 = OpLabel OpLoopMerge %45 %46 None OpBranch %47 %47 = OpLabel %68 = OpFOrdGreaterThanEqual %bool %float_1 %float_0 OpSelectionMerge %70 None OpBranchConditional %68 %71 %72 %71 = OpLabel OpBranch %70 %72 = OpLabel OpBranch %46 %70 = OpLabel %73 = OpLoad %int %i %75 = OpLoad %int %mid %76 = OpLoad %int %j %78 = OpLoad %int %to %79 = OpSLessThanEqual %bool %73 %75 OpSelectionMerge %80 None OpBranchConditional %79 %81 %80 %81 = OpLabel %82 = OpSLessThanEqual %bool %76 %78 OpBranch %80 %80 = OpLabel %83 = OpPhi %bool %79 %70 %82 %81 OpSelectionMerge %84 None OpBranchConditional %83 %85 %86 %85 = OpLabel OpBranch %84 %86 = OpLabel OpBranch %45 %84 = OpLabel %87 = OpLoad %int %i %89 = OpAccessChain %_ptr_Private_int %data %87 %90 = OpLoad %int %89 %91 = OpLoad %int %j %92 = OpAccessChain %_ptr_Private_int %data %91 %93 = OpLoad %int %92 %94 = OpSLessThan %bool %90 %93 OpSelectionMerge %95 None OpBranchConditional %94 %96 %97 %96 = OpLabel %98 = OpLoad %int %k OpStore %x_283 %98 %99 = OpLoad %int %x_283 OpStore %x_285_phi %99 OpBranch %95 %97 = OpLabel OpStore %x_284 %int_0 %101 = OpLoad %int %x_284 OpStore %x_285_phi %101 OpBranch %95 %95 = OpLabel %102 = OpLoad %int %x_285_phi %103 = OpIAdd %int %102 %int_1 OpSelectionMerge %104 None OpBranchConditional %94 %105 %104 %105 = OpLabel OpStore %k %103 %108 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0 %109 = OpLoad %float %108 %111 = OpFOrdLessThanEqual %bool %float_1 %109 %110 = OpLogicalNot %bool %111 OpSelectionMerge %112 None OpBranchConditional %110 %113 %114 %113 = OpLabel OpBranch %112 %114 = OpLabel OpBranch %46 %112 = OpLabel OpBranch %104 %104 = OpLabel %116 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_1 %117 = OpLoad %float %116 %118 = OpFOrdGreaterThanEqual %bool %117 %float_0 OpSelectionMerge %119 None OpBranchConditional %118 %120 %121 %120 = OpLabel OpBranch %119 %121 = OpLabel OpBranch %46 %119 = OpLabel OpSelectionMerge %122 None OpBranchConditional %94 %123 %124 %123 = OpLabel %125 = OpLoad %int %i OpStore %x_303 %125 %126 = OpLoad %int %x_303 OpStore %x_305_phi %126 OpBranch %122 %124 = OpLabel OpStore %x_304 %int_0 %127 = OpLoad %int %x_304 OpStore %x_305_phi %127 OpBranch %122 %122 = OpLabel %128 = OpLoad %int %x_305_phi %129 = OpSelect %int %94 %128 %int_0 OpSelectionMerge %130 None OpBranchConditional %94 %131 %130 %131 = OpLabel %132 = OpIAdd %int %129 %int_1 OpStore %i %132 OpBranch %130 %130 = OpLabel OpSelectionMerge %133 None OpBranchConditional %94 %134 %135 %134 = OpLabel %136 = OpAccessChain %_ptr_Private_int %data %129 %137 = OpLoad %int %136 OpStore %x_318 %137 %138 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_1 %139 = OpLoad %float %138 %140 = OpLoad %int %x_318 OpStore %x_326_phi %140 %142 = OpFOrdLessThanEqual %bool %float_0 %139 %141 = OpLogicalNot %bool %142 OpSelectionMerge %143 None OpBranchConditional %141 %144 %143 %144 = OpLabel OpBranch %46 %143 = OpLabel OpBranch %133 %135 = OpLabel OpStore %x_322 %int_0 %145 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_1 %146 = OpLoad %float %145 %147 = OpLoad %int %x_322 OpStore %x_326_phi %147 %149 = OpFOrdLessThan %bool %146 %float_0 %148 = OpLogicalNot %bool %149 OpSelectionMerge %150 None OpBranchConditional %148 %151 %152 %151 = OpLabel OpBranch %150 %152 = OpLabel OpBranch %46 %150 = OpLabel OpBranch %133 %133 = OpLabel %153 = OpLoad %int %x_326_phi OpSelectionMerge %154 None OpBranchConditional %94 %155 %154 %155 = OpLabel %156 = OpAccessChain %_ptr_Private_int %temp %102 %157 = OpSelect %int %94 %153 %int_0 OpStore %156 %157 OpBranch %154 %154 = OpLabel OpSelectionMerge %158 None OpBranchConditional %94 %159 %160 %159 = OpLabel OpStore %x_337 %int_0 %161 = OpLoad %int %x_337 OpStore %x_338_phi %161 OpBranch %158 %160 = OpLabel %162 = OpLoad %int %k OpStore %x_336 %162 %163 = OpLoad %int %x_336 OpStore %x_338_phi %163 OpBranch %158 %158 = OpLabel %164 = OpLoad %int %x_338_phi OpSelectionMerge %165 None OpBranchConditional %94 %166 %167 %166 = OpLabel OpBranch %165 %167 = OpLabel %168 = OpIAdd %int %164 %int_1 OpStore %k %168 OpBranch %165 %165 = OpLabel %169 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0 %170 = OpLoad %float %169 %172 = OpFOrdLessThanEqual %bool %float_1 %170 %171 = OpLogicalNot %bool %172 OpSelectionMerge %173 None OpBranchConditional %171 %174 %175 %174 = OpLabel OpBranch %173 %175 = OpLabel OpBranch %46 %173 = OpLabel OpSelectionMerge %176 None OpBranchConditional %94 %177 %178 %177 = OpLabel OpStore %x_350 %int_0 %179 = OpLoad %int %x_350 OpStore %x_351_phi %179 OpBranch %176 %178 = OpLabel %180 = OpLoad %int %j OpStore %x_349 %180 %181 = OpLoad %int %x_349 OpStore %x_351_phi %181 OpBranch %176 %176 = OpLabel %182 = OpLoad %int %x_351_phi %183 = OpSelect %int %94 %int_0 %182 OpSelectionMerge %184 None OpBranchConditional %94 %185 %186 %185 = OpLabel OpBranch %184 %186 = OpLabel %187 = OpIAdd %int %183 %int_1 OpStore %j %187 OpBranch %184 %184 = OpLabel OpSelectionMerge %188 None OpBranchConditional %94 %189 %190 %189 = OpLabel OpStore %x_364 %int_0 %191 = OpLoad %int %x_364 OpStore %x_365_phi %191 OpBranch %188 %190 = OpLabel %192 = OpAccessChain %_ptr_Private_int %data %183 %193 = OpLoad %int %192 OpStore %x_363 %193 %194 = OpLoad %int %x_363 OpStore %x_365_phi %194 OpBranch %188 %188 = OpLabel %195 = OpLoad %int %x_365_phi OpSelectionMerge %196 None OpBranchConditional %94 %197 %198 %197 = OpLabel OpBranch %196 %198 = OpLabel %199 = OpAccessChain %_ptr_Private_int %temp %164 OpStore %199 %195 OpBranch %196 %196 = OpLabel OpBranch %46 %46 = OpLabel OpBranch %44 %45 = OpLabel OpBranch %200 %200 = OpLabel OpLoopMerge %201 %202 None OpBranch %203 %203 = OpLabel %204 = OpLoad %int %i %205 = OpLoad %int %i %207 = OpLoad %int %mid %209 = OpSLessThan %bool %204 %int_10 OpSelectionMerge %210 None OpBranchConditional %209 %211 %210 %211 = OpLabel %212 = OpSLessThanEqual %bool %205 %207 OpBranch %210 %210 = OpLabel %213 = OpPhi %bool %209 %203 %212 %211 OpSelectionMerge %214 None OpBranchConditional %213 %215 %216 %215 = OpLabel OpBranch %214 %216 = OpLabel OpBranch %201 %214 = OpLabel %217 = OpLoad %int %k %218 = OpIAdd %int %217 %int_1 OpStore %k %218 %219 = OpLoad %int %i %220 = OpIAdd %int %219 %int_1 OpStore %i %220 %221 = OpAccessChain %_ptr_Private_int %data %219 %222 = OpLoad %int %221 %223 = OpAccessChain %_ptr_Private_int %temp %217 OpStore %223 %222 OpBranch %202 %202 = OpLabel OpBranch %200 %201 = OpLabel %225 = OpLoad %int %from OpStore %i_1 %225 OpBranch %226 %226 = OpLabel OpLoopMerge %227 %228 None OpBranch %229 %229 = OpLabel %230 = OpLoad %int %i_1 %232 = OpLoad %int %to %233 = OpSLessThanEqual %bool %230 %232 OpSelectionMerge %234 None OpBranchConditional %233 %235 %236 %235 = OpLabel OpBranch %234 %236 = OpLabel OpBranch %227 %234 = OpLabel %237 = OpLoad %int %i_1 %238 = OpLoad %int %i_1 %239 = OpAccessChain %_ptr_Private_int %temp %238 %240 = OpLoad %int %239 %241 = OpAccessChain %_ptr_Private_int %data %237 OpStore %241 %240 OpBranch %228 %228 = OpLabel %242 = OpLoad %int %i_1 %243 = OpIAdd %int %242 %int_1 OpStore %i_1 %243 OpBranch %226 %227 = OpLabel OpReturn OpFunctionEnd %mergeSort_ = OpFunction %void None %244 %246 = OpLabel %low = OpVariable %_ptr_Function_int Function %32 %high = OpVariable %_ptr_Function_int Function %32 %m = OpVariable %_ptr_Function_int Function %32 %i_2 = OpVariable %_ptr_Function_int Function %32 %from_1 = OpVariable %_ptr_Function_int Function %32 %mid_1 = OpVariable %_ptr_Function_int Function %32 %to_1 = OpVariable %_ptr_Function_int Function %32 %param = OpVariable %_ptr_Function_int Function %32 %param_1 = OpVariable %_ptr_Function_int Function %32 %param_2 = OpVariable %_ptr_Function_int Function %32 OpStore %low %int_0 OpStore %high %int_9 OpStore %m %int_1 OpBranch %258 %258 = OpLabel OpLoopMerge %259 %260 None OpBranch %261 %261 = OpLabel %262 = OpLoad %int %m %263 = OpLoad %int %high %264 = OpSLessThanEqual %bool %262 %263 OpSelectionMerge %265 None OpBranchConditional %264 %266 %267 %266 = OpLabel OpBranch %265 %267 = OpLabel OpBranch %259 %265 = OpLabel %268 = OpLoad %int %low OpStore %i_2 %268 OpBranch %269 %269 = OpLabel OpLoopMerge %270 %271 None OpBranch %272 %272 = OpLabel %273 = OpLoad %int %i_2 %274 = OpLoad %int %high %275 = OpSLessThan %bool %273 %274 OpSelectionMerge %276 None OpBranchConditional %275 %277 %278 %277 = OpLabel OpBranch %276 %278 = OpLabel OpBranch %270 %276 = OpLabel %279 = OpLoad %int %i_2 OpStore %from_1 %279 %280 = OpLoad %int %i_2 %281 = OpLoad %int %m %282 = OpIAdd %int %280 %281 %283 = OpISub %int %282 %int_1 OpStore %mid_1 %283 %284 = OpLoad %int %i_2 %285 = OpLoad %int %m %286 = OpLoad %int %high %290 = OpIMul %int %int_2 %285 %291 = OpIAdd %int %284 %290 %292 = OpISub %int %291 %int_1 %287 = OpExtInst %int %288 SMin %292 %286 OpStore %to_1 %287 %293 = OpLoad %int %from_1 OpStore %param %293 %294 = OpLoad %int %mid_1 OpStore %param_1 %294 %295 = OpLoad %int %to_1 OpStore %param_2 %295 %296 = OpFunctionCall %void %merge_i1_i1_i1_ %param %param_1 %param_2 OpBranch %271 %271 = OpLabel %300 = OpLoad %int %m %301 = OpLoad %int %i_2 %302 = OpIMul %int %int_2 %300 %303 = OpIAdd %int %301 %302 OpStore %i_2 %303 OpBranch %269 %270 = OpLabel OpBranch %260 %260 = OpLabel %304 = OpLoad %int %m %305 = OpIMul %int %int_2 %304 OpStore %m %305 OpBranch %258 %259 = OpLabel OpReturn OpFunctionEnd %main_1 = OpFunction %void None %244 %307 = OpLabel %i_3 = OpVariable %_ptr_Function_int Function %32 %j_1 = OpVariable %_ptr_Function_int Function %32 %grey = OpVariable %_ptr_Function_float Function %312 %313 = OpAccessChain %_ptr_Uniform_float %x_28 %uint_0 %uint_0 %314 = OpLoad %float %313 %315 = OpConvertFToS %int %314 OpStore %i_3 %315 OpBranch %316 %316 = OpLabel OpLoopMerge %317 %318 None OpBranch %319 %319 = OpLabel %320 = OpLoad %int %i_3 OpSelectionMerge %321 None OpSwitch %320 %322 9 %323 8 %324 7 %325 6 %326 5 %327 4 %328 3 %329 2 %330 1 %331 0 %332 %323 = OpLabel %333 = OpLoad %int %i_3 %334 = OpAccessChain %_ptr_Private_int %data %333 OpStore %334 %int_n5 OpBranch %321 %324 = OpLabel %336 = OpLoad %int %i_3 %337 = OpAccessChain %_ptr_Private_int %data %336 OpStore %337 %int_n4 OpBranch %321 %325 = OpLabel %339 = OpLoad %int %i_3 %340 = OpAccessChain %_ptr_Private_int %data %339 OpStore %340 %int_n3 OpBranch %321 %326 = OpLabel %342 = OpLoad %int %i_3 %343 = OpAccessChain %_ptr_Private_int %data %342 OpStore %343 %int_n2 OpBranch %321 %327 = OpLabel %345 = OpLoad %int %i_3 %346 = OpAccessChain %_ptr_Private_int %data %345 OpStore %346 %int_n1 OpBranch %321 %328 = OpLabel %348 = OpLoad %int %i_3 %349 = OpAccessChain %_ptr_Private_int %data %348 OpStore %349 %int_0 OpBranch %321 %329 = OpLabel %350 = OpLoad %int %i_3 %351 = OpAccessChain %_ptr_Private_int %data %350 OpStore %351 %int_1 OpBranch %321 %330 = OpLabel %352 = OpLoad %int %i_3 %353 = OpAccessChain %_ptr_Private_int %data %352 OpStore %353 %int_2 OpBranch %321 %331 = OpLabel %354 = OpLoad %int %i_3 %355 = OpAccessChain %_ptr_Private_int %data %354 OpStore %355 %int_3 OpBranch %321 %332 = OpLabel %357 = OpLoad %int %i_3 %358 = OpAccessChain %_ptr_Private_int %data %357 OpStore %358 %int_4 OpBranch %321 %322 = OpLabel OpBranch %321 %321 = OpLabel %360 = OpLoad %int %i_3 %361 = OpIAdd %int %360 %int_1 OpStore %i_3 %361 OpBranch %318 %318 = OpLabel %362 = OpLoad %int %i_3 %363 = OpSLessThan %bool %362 %int_10 OpBranchConditional %363 %316 %317 %317 = OpLabel OpStore %j_1 %int_0 OpBranch %364 %364 = OpLabel OpLoopMerge %365 %366 None OpBranch %367 %367 = OpLabel %368 = OpLoad %int %j_1 %369 = OpSLessThan %bool %368 %int_10 OpSelectionMerge %370 None OpBranchConditional %369 %371 %372 %371 = OpLabel OpBranch %370 %372 = OpLabel OpBranch %365 %370 = OpLabel %373 = OpLoad %int %j_1 %374 = OpLoad %int %j_1 %375 = OpAccessChain %_ptr_Private_int %data %374 %376 = OpLoad %int %375 %377 = OpAccessChain %_ptr_Private_int %temp %373 OpStore %377 %376 OpBranch %366 %366 = OpLabel %378 = OpLoad %int %j_1 %379 = OpIAdd %int %378 %int_1 OpStore %j_1 %379 OpBranch %364 %365 = OpLabel %380 = OpFunctionCall %void %mergeSort_ %382 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %383 = OpLoad %float %382 %384 = OpConvertFToS %int %383 %386 = OpSLessThan %bool %384 %int_30 OpSelectionMerge %387 None OpBranchConditional %386 %388 %389 %388 = OpLabel %390 = OpAccessChain %_ptr_Private_int %data %int_0 %391 = OpLoad %int %390 %393 = OpConvertSToF %float %391 %395 = OpFDiv %float %393 %float_10 %396 = OpFAdd %float %float_0_5 %395 OpStore %grey %396 OpBranch %387 %389 = OpLabel %397 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %398 = OpLoad %float %397 %399 = OpConvertFToS %int %398 %401 = OpSLessThan %bool %399 %int_60 OpSelectionMerge %402 None OpBranchConditional %401 %403 %404 %403 = OpLabel %405 = OpAccessChain %_ptr_Private_int %data %int_1 %406 = OpLoad %int %405 %407 = OpConvertSToF %float %406 %408 = OpFDiv %float %407 %float_10 %409 = OpFAdd %float %float_0_5 %408 OpStore %grey %409 OpBranch %402 %404 = OpLabel %410 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %411 = OpLoad %float %410 %412 = OpConvertFToS %int %411 %414 = OpSLessThan %bool %412 %int_90 OpSelectionMerge %415 None OpBranchConditional %414 %416 %417 %416 = OpLabel %418 = OpAccessChain %_ptr_Private_int %data %int_2 %419 = OpLoad %int %418 %420 = OpConvertSToF %float %419 %421 = OpFDiv %float %420 %float_10 %422 = OpFAdd %float %float_0_5 %421 OpStore %grey %422 OpBranch %415 %417 = OpLabel %423 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %424 = OpLoad %float %423 %425 = OpConvertFToS %int %424 %427 = OpSLessThan %bool %425 %int_120 OpSelectionMerge %428 None OpBranchConditional %427 %429 %430 %429 = OpLabel %431 = OpAccessChain %_ptr_Private_int %data %int_3 %432 = OpLoad %int %431 %433 = OpConvertSToF %float %432 %434 = OpFDiv %float %433 %float_10 %435 = OpFAdd %float %float_0_5 %434 OpStore %grey %435 OpBranch %428 %430 = OpLabel %436 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %437 = OpLoad %float %436 %438 = OpConvertFToS %int %437 %440 = OpSLessThan %bool %438 %int_150 OpSelectionMerge %441 None OpBranchConditional %440 %442 %443 %442 = OpLabel OpKill %443 = OpLabel %444 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %445 = OpLoad %float %444 %446 = OpConvertFToS %int %445 %448 = OpSLessThan %bool %446 %int_180 OpSelectionMerge %449 None OpBranchConditional %448 %450 %451 %450 = OpLabel %453 = OpAccessChain %_ptr_Private_int %data %int_5 %454 = OpLoad %int %453 %455 = OpConvertSToF %float %454 %456 = OpFDiv %float %455 %float_10 %457 = OpFAdd %float %float_0_5 %456 OpStore %grey %457 OpBranch %449 %451 = OpLabel %458 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %459 = OpLoad %float %458 %460 = OpConvertFToS %int %459 %462 = OpSLessThan %bool %460 %int_210 OpSelectionMerge %463 None OpBranchConditional %462 %464 %465 %464 = OpLabel %467 = OpAccessChain %_ptr_Private_int %data %int_6 %468 = OpLoad %int %467 %469 = OpConvertSToF %float %468 %470 = OpFDiv %float %469 %float_10 %471 = OpFAdd %float %float_0_5 %470 OpStore %grey %471 OpBranch %463 %465 = OpLabel %472 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %473 = OpLoad %float %472 %474 = OpConvertFToS %int %473 %476 = OpSLessThan %bool %474 %int_240 OpSelectionMerge %477 None OpBranchConditional %476 %478 %479 %478 = OpLabel %481 = OpAccessChain %_ptr_Private_int %data %int_7 %482 = OpLoad %int %481 %483 = OpConvertSToF %float %482 %484 = OpFDiv %float %483 %float_10 %485 = OpFAdd %float %float_0_5 %484 OpStore %grey %485 OpBranch %477 %479 = OpLabel %486 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %487 = OpLoad %float %486 %488 = OpConvertFToS %int %487 %490 = OpSLessThan %bool %488 %int_270 OpSelectionMerge %491 None OpBranchConditional %490 %492 %493 %492 = OpLabel %495 = OpAccessChain %_ptr_Private_int %data %int_8 %496 = OpLoad %int %495 %497 = OpConvertSToF %float %496 %498 = OpFDiv %float %497 %float_10 %499 = OpFAdd %float %float_0_5 %498 OpStore %grey %499 OpBranch %491 %493 = OpLabel OpKill %491 = OpLabel OpBranch %477 %477 = OpLabel OpBranch %463 %463 = OpLabel OpBranch %449 %449 = OpLabel OpBranch %441 %441 = OpLabel OpBranch %428 %428 = OpLabel OpBranch %415 %415 = OpLabel OpBranch %402 %402 = OpLabel OpBranch %387 %387 = OpLabel %500 = OpLoad %float %grey %502 = OpCompositeConstruct %v3float %500 %500 %500 %503 = OpCompositeExtract %float %502 0 %504 = OpCompositeExtract %float %502 1 %505 = OpCompositeExtract %float %502 2 %506 = OpCompositeConstruct %v4float %503 %504 %505 %float_1 OpStore %x_GLF_color %506 OpReturn OpFunctionEnd %main_inner = OpFunction %main_out None %507 %gl_FragCoord_param = OpFunctionParameter %v4float %511 = OpLabel OpStore %gl_FragCoord %gl_FragCoord_param %512 = OpFunctionCall %void %main_1 %513 = OpLoad %v4float %x_GLF_color %514 = OpCompositeConstruct %main_out %513 OpReturnValue %514 OpFunctionEnd %main = OpFunction %void None %244 %516 = OpLabel %518 = OpLoad %v4float %gl_FragCoord_param_1 %517 = OpFunctionCall %main_out %main_inner %518 %519 = OpCompositeExtract %v4float %517 0 OpStore %x_GLF_color_1_1 %519 OpReturn OpFunctionEnd