1 OpCapability Shader 2 %1 = OpExtInstImport "GLSL.std.450" 3 OpMemoryModel Logical GLSL450 4 OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor 5 OpExecutionMode %_entrypoint_v OriginUpperLeft 6 OpName %sk_FragColor "sk_FragColor" 7 OpName %_UniformBuffer "_UniformBuffer" 8 OpMemberName %_UniformBuffer 0 "colorGreen" 9 OpMemberName %_UniformBuffer 1 "colorRed" 10 OpName %_entrypoint_v "_entrypoint_v" 11 OpName %main "main" 12 OpName %x "x" 13 OpName %y "y" 14 OpName %b "b" 15 OpName %c "c" 16 OpDecorate %sk_FragColor RelaxedPrecision 17 OpDecorate %sk_FragColor Location 0 18 OpDecorate %sk_FragColor Index 0 19 OpMemberDecorate %_UniformBuffer 0 Offset 0 20 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 21 OpMemberDecorate %_UniformBuffer 1 Offset 16 22 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 23 OpDecorate %_UniformBuffer Block 24 OpDecorate %7 Binding 0 25 OpDecorate %7 DescriptorSet 0 26 OpDecorate %x RelaxedPrecision 27 OpDecorate %y RelaxedPrecision 28 OpDecorate %33 RelaxedPrecision 29 OpDecorate %34 RelaxedPrecision 30 OpDecorate %35 RelaxedPrecision 31 OpDecorate %36 RelaxedPrecision 32 OpDecorate %37 RelaxedPrecision 33 OpDecorate %43 RelaxedPrecision 34 OpDecorate %45 RelaxedPrecision 35 OpDecorate %46 RelaxedPrecision 36 OpDecorate %47 RelaxedPrecision 37 OpDecorate %48 RelaxedPrecision 38 OpDecorate %49 RelaxedPrecision 39 OpDecorate %50 RelaxedPrecision 40 OpDecorate %56 RelaxedPrecision 41 OpDecorate %58 RelaxedPrecision 42 OpDecorate %59 RelaxedPrecision 43 OpDecorate %60 RelaxedPrecision 44 OpDecorate %61 RelaxedPrecision 45 OpDecorate %62 RelaxedPrecision 46 OpDecorate %63 RelaxedPrecision 47 OpDecorate %69 RelaxedPrecision 48 OpDecorate %71 RelaxedPrecision 49 OpDecorate %72 RelaxedPrecision 50 OpDecorate %73 RelaxedPrecision 51 OpDecorate %74 RelaxedPrecision 52 OpDecorate %75 RelaxedPrecision 53 OpDecorate %76 RelaxedPrecision 54 OpDecorate %82 RelaxedPrecision 55 OpDecorate %83 RelaxedPrecision 56 OpDecorate %84 RelaxedPrecision 57 OpDecorate %85 RelaxedPrecision 58 OpDecorate %86 RelaxedPrecision 59 OpDecorate %87 RelaxedPrecision 60 OpDecorate %93 RelaxedPrecision 61 OpDecorate %95 RelaxedPrecision 62 OpDecorate %96 RelaxedPrecision 63 OpDecorate %97 RelaxedPrecision 64 OpDecorate %98 RelaxedPrecision 65 OpDecorate %99 RelaxedPrecision 66 OpDecorate %105 RelaxedPrecision 67 OpDecorate %106 RelaxedPrecision 68 OpDecorate %107 RelaxedPrecision 69 OpDecorate %108 RelaxedPrecision 70 OpDecorate %109 RelaxedPrecision 71 OpDecorate %110 RelaxedPrecision 72 OpDecorate %116 RelaxedPrecision 73 OpDecorate %117 RelaxedPrecision 74 OpDecorate %119 RelaxedPrecision 75 OpDecorate %120 RelaxedPrecision 76 OpDecorate %139 RelaxedPrecision 77 OpDecorate %140 RelaxedPrecision 78 OpDecorate %145 RelaxedPrecision 79 OpDecorate %155 RelaxedPrecision 80 OpDecorate %157 RelaxedPrecision 81 OpDecorate %158 RelaxedPrecision 82 OpDecorate %159 RelaxedPrecision 83 %float = OpTypeFloat 32 84 %v4float = OpTypeVector %float 4 85%_ptr_Output_v4float = OpTypePointer Output %v4float 86%sk_FragColor = OpVariable %_ptr_Output_v4float Output 87%_UniformBuffer = OpTypeStruct %v4float %v4float 88%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 89 %7 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 90 %void = OpTypeVoid 91 %12 = OpTypeFunction %void 92 %float_0 = OpConstant %float 0 93 %v2float = OpTypeVector %float 2 94 %16 = OpConstantComposite %v2float %float_0 %float_0 95%_ptr_Function_v2float = OpTypePointer Function %v2float 96 %20 = OpTypeFunction %v4float %_ptr_Function_v2float 97%_ptr_Function_float = OpTypePointer Function %float 98 %float_1 = OpConstant %float 1 99 %bool = OpTypeBool 100 %true = OpConstantTrue %bool 101 %float_3 = OpConstant %float 3 102 %float_5 = OpConstant %float 5 103 %float_9 = OpConstant %float 9 104 %float_2 = OpConstant %float 2 105 %float_4 = OpConstant %float 4 106%_ptr_Function_bool = OpTypePointer Function %bool 107 %false = OpConstantFalse %bool 108%_ptr_Function_v4float = OpTypePointer Function %v4float 109%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 110 %int = OpTypeInt 32 1 111 %int_1 = OpConstant %int 1 112 %float_8 = OpConstant %float 8 113 %float_17 = OpConstant %float 17 114 %int_0 = OpConstant %int 0 115%_entrypoint_v = OpFunction %void None %12 116 %13 = OpLabel 117 %17 = OpVariable %_ptr_Function_v2float Function 118 OpStore %17 %16 119 %19 = OpFunctionCall %v4float %main %17 120 OpStore %sk_FragColor %19 121 OpReturn 122 OpFunctionEnd 123 %main = OpFunction %v4float None %20 124 %21 = OpFunctionParameter %_ptr_Function_v2float 125 %22 = OpLabel 126 %x = OpVariable %_ptr_Function_float Function 127 %y = OpVariable %_ptr_Function_float Function 128 %29 = OpVariable %_ptr_Function_float Function 129 %39 = OpVariable %_ptr_Function_float Function 130 %52 = OpVariable %_ptr_Function_float Function 131 %65 = OpVariable %_ptr_Function_float Function 132 %78 = OpVariable %_ptr_Function_float Function 133 %89 = OpVariable %_ptr_Function_float Function 134 %101 = OpVariable %_ptr_Function_float Function 135 %112 = OpVariable %_ptr_Function_float Function 136 %b = OpVariable %_ptr_Function_bool Function 137 %c = OpVariable %_ptr_Function_bool Function 138 %125 = OpVariable %_ptr_Function_bool Function 139 %130 = OpVariable %_ptr_Function_v4float Function 140 %149 = OpVariable %_ptr_Function_v4float Function 141 OpStore %x %float_1 142 OpStore %y %float_1 143 OpSelectionMerge %32 None 144 OpBranchConditional %true %30 %31 145 %30 = OpLabel 146 %33 = OpFAdd %float %float_1 %float_1 147 OpStore %x %33 148 OpStore %29 %33 149 OpBranch %32 150 %31 = OpLabel 151 %34 = OpFAdd %float %float_1 %float_1 152 OpStore %y %34 153 OpStore %29 %34 154 OpBranch %32 155 %32 = OpLabel 156 %35 = OpLoad %float %29 157 %36 = OpLoad %float %x 158 %37 = OpLoad %float %y 159 %38 = OpFOrdEqual %bool %36 %37 160 OpSelectionMerge %42 None 161 OpBranchConditional %38 %40 %41 162 %40 = OpLabel 163 %43 = OpLoad %float %x 164 %45 = OpFAdd %float %43 %float_3 165 OpStore %x %45 166 OpStore %39 %45 167 OpBranch %42 168 %41 = OpLabel 169 %46 = OpLoad %float %y 170 %47 = OpFAdd %float %46 %float_3 171 OpStore %y %47 172 OpStore %39 %47 173 OpBranch %42 174 %42 = OpLabel 175 %48 = OpLoad %float %39 176 %49 = OpLoad %float %x 177 %50 = OpLoad %float %y 178 %51 = OpFOrdLessThan %bool %49 %50 179 OpSelectionMerge %55 None 180 OpBranchConditional %51 %53 %54 181 %53 = OpLabel 182 %56 = OpLoad %float %x 183 %58 = OpFAdd %float %56 %float_5 184 OpStore %x %58 185 OpStore %52 %58 186 OpBranch %55 187 %54 = OpLabel 188 %59 = OpLoad %float %y 189 %60 = OpFAdd %float %59 %float_5 190 OpStore %y %60 191 OpStore %52 %60 192 OpBranch %55 193 %55 = OpLabel 194 %61 = OpLoad %float %52 195 %62 = OpLoad %float %y 196 %63 = OpLoad %float %x 197 %64 = OpFOrdGreaterThanEqual %bool %62 %63 198 OpSelectionMerge %68 None 199 OpBranchConditional %64 %66 %67 200 %66 = OpLabel 201 %69 = OpLoad %float %x 202 %71 = OpFAdd %float %69 %float_9 203 OpStore %x %71 204 OpStore %65 %71 205 OpBranch %68 206 %67 = OpLabel 207 %72 = OpLoad %float %y 208 %73 = OpFAdd %float %72 %float_9 209 OpStore %y %73 210 OpStore %65 %73 211 OpBranch %68 212 %68 = OpLabel 213 %74 = OpLoad %float %65 214 %75 = OpLoad %float %x 215 %76 = OpLoad %float %y 216 %77 = OpFUnordNotEqual %bool %75 %76 217 OpSelectionMerge %81 None 218 OpBranchConditional %77 %79 %80 219 %79 = OpLabel 220 %82 = OpLoad %float %x 221 %83 = OpFAdd %float %82 %float_1 222 OpStore %x %83 223 OpStore %78 %83 224 OpBranch %81 225 %80 = OpLabel 226 %84 = OpLoad %float %y 227 OpStore %78 %84 228 OpBranch %81 229 %81 = OpLabel 230 %85 = OpLoad %float %78 231 %86 = OpLoad %float %x 232 %87 = OpLoad %float %y 233 %88 = OpFOrdEqual %bool %86 %87 234 OpSelectionMerge %92 None 235 OpBranchConditional %88 %90 %91 236 %90 = OpLabel 237 %93 = OpLoad %float %x 238 %95 = OpFAdd %float %93 %float_2 239 OpStore %x %95 240 OpStore %89 %95 241 OpBranch %92 242 %91 = OpLabel 243 %96 = OpLoad %float %y 244 OpStore %89 %96 245 OpBranch %92 246 %92 = OpLabel 247 %97 = OpLoad %float %89 248 %98 = OpLoad %float %x 249 %99 = OpLoad %float %y 250 %100 = OpFUnordNotEqual %bool %98 %99 251 OpSelectionMerge %104 None 252 OpBranchConditional %100 %102 %103 253 %102 = OpLabel 254 %105 = OpLoad %float %x 255 OpStore %101 %105 256 OpBranch %104 257 %103 = OpLabel 258 %106 = OpLoad %float %y 259 %107 = OpFAdd %float %106 %float_3 260 OpStore %y %107 261 OpStore %101 %107 262 OpBranch %104 263 %104 = OpLabel 264 %108 = OpLoad %float %101 265 %109 = OpLoad %float %x 266 %110 = OpLoad %float %y 267 %111 = OpFOrdEqual %bool %109 %110 268 OpSelectionMerge %115 None 269 OpBranchConditional %111 %113 %114 270 %113 = OpLabel 271 %116 = OpLoad %float %x 272 OpStore %112 %116 273 OpBranch %115 274 %114 = OpLabel 275 %117 = OpLoad %float %y 276 %119 = OpFAdd %float %117 %float_4 277 OpStore %y %119 278 OpStore %112 %119 279 OpBranch %115 280 %115 = OpLabel 281 %120 = OpLoad %float %112 282 OpStore %b %true 283 OpStore %b %false 284 OpSelectionMerge %128 None 285 OpBranchConditional %false %126 %127 286 %126 = OpLabel 287 OpStore %125 %false 288 OpBranch %128 289 %127 = OpLabel 290 OpStore %125 %false 291 OpBranch %128 292 %128 = OpLabel 293 %129 = OpLoad %bool %125 294 OpStore %c %129 295 OpSelectionMerge %134 None 296 OpBranchConditional %129 %132 %133 297 %132 = OpLabel 298 %135 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 299 %139 = OpLoad %v4float %135 300 OpStore %130 %139 301 OpBranch %134 302 %133 = OpLabel 303 %140 = OpLoad %float %x 304 %142 = OpFOrdEqual %bool %140 %float_8 305 OpSelectionMerge %144 None 306 OpBranchConditional %142 %143 %144 307 %143 = OpLabel 308 %145 = OpLoad %float %y 309 %147 = OpFOrdEqual %bool %145 %float_17 310 OpBranch %144 311 %144 = OpLabel 312 %148 = OpPhi %bool %false %133 %147 %143 313 OpSelectionMerge %152 None 314 OpBranchConditional %148 %150 %151 315 %150 = OpLabel 316 %153 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0 317 %155 = OpLoad %v4float %153 318 OpStore %149 %155 319 OpBranch %152 320 %151 = OpLabel 321 %156 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1 322 %157 = OpLoad %v4float %156 323 OpStore %149 %157 324 OpBranch %152 325 %152 = OpLabel 326 %158 = OpLoad %v4float %149 327 OpStore %130 %158 328 OpBranch %134 329 %134 = OpLabel 330 %159 = OpLoad %v4float %130 331 OpReturnValue %159 332 OpFunctionEnd 333