; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 ; Bound: 154 ; Schema: 0 OpCapability Shader OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2 OpExecutionMode %main OriginUpperLeft OpName %buf0 "buf0" OpMemberName %buf0 0 "injectionSwitch" OpName %x_9 "x_9" OpName %gl_FragCoord "gl_FragCoord" OpName %x_GLF_color "x_GLF_color" OpName %tint_symbol "tint_symbol" OpName %tint_symbol_2 "tint_symbol_2" OpName %main_1 "main_1" OpName %x_43 "x_43" OpName %x_44 "x_44" OpName %x_45 "x_45" OpName %x_46 "x_46" OpName %zero "zero" OpName %param "param" OpName %temp "temp" OpName %main_out "main_out" OpMemberName %main_out 0 "x_GLF_color_1" OpName %tint_symbol_3 "tint_symbol_3" OpName %tint_symbol_1 "tint_symbol_1" OpName %main "main" OpName %alwaysZero_vf2_ "alwaysZero_vf2_" OpName %coord "coord" OpName %a "a" OpName %x_110 "x_110" OpName %b "b" OpDecorate %buf0 Block OpMemberDecorate %buf0 0 Offset 0 OpDecorate %x_9 NonWritable OpDecorate %x_9 DescriptorSet 0 OpDecorate %x_9 Binding 0 OpDecorate %tint_symbol BuiltIn FragCoord OpDecorate %tint_symbol_2 Location 0 OpMemberDecorate %main_out 0 Offset 0 %float = OpTypeFloat 32 %v2float = OpTypeVector %float 2 %buf0 = OpTypeStruct %v2float %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 %x_9 = OpVariable %_ptr_Uniform_buf0 Uniform %v4float = OpTypeVector %float 4 %_ptr_Private_v4float = OpTypePointer Private %v4float %9 = OpConstantNull %v4float %gl_FragCoord = OpVariable %_ptr_Private_v4float Private %9 %x_GLF_color = OpVariable %_ptr_Private_v4float Private %9 %_ptr_Input_v4float = OpTypePointer Input %v4float %tint_symbol = OpVariable %_ptr_Input_v4float Input %_ptr_Output_v4float = OpTypePointer Output %v4float %tint_symbol_2 = OpVariable %_ptr_Output_v4float Output %9 %void = OpTypeVoid %15 = OpTypeFunction %void %_ptr_Function_float = OpTypePointer Function %float %21 = OpConstantNull %float %int = OpTypeInt 32 1 %_ptr_Function_int = OpTypePointer Function %int %27 = OpConstantNull %int %_ptr_Function_v2float = OpTypePointer Function %v2float %31 = OpConstantNull %v2float %uint = OpTypeInt 32 0 %uint_1 = OpConstant %uint 1 %float_50 = OpConstant %float 50 %bool = OpTypeBool %uint_0 = OpConstant %uint 0 %_ptr_Uniform_float = OpTypePointer Uniform %float %float_0 = OpConstant %float 0 %_ptr_Private_float = OpTypePointer Private %float %float_1 = OpConstant %float 1 %int_0 = OpConstant %int 0 %int_1 = OpConstant %int 1 %false = OpConstantFalse %bool %77 = OpConstantComposite %v4float %float_0 %float_1 %float_1 %float_1 %uint_2 = OpConstant %uint 2 %main_out = OpTypeStruct %v4float %116 = OpTypeFunction %void %main_out %129 = OpTypeFunction %int %_ptr_Function_v2float %main_1 = OpFunction %void None %15 %18 = OpLabel %x_43 = OpVariable %_ptr_Function_float Function %21 %x_44 = OpVariable %_ptr_Function_float Function %21 %x_45 = OpVariable %_ptr_Function_float Function %21 %x_46 = OpVariable %_ptr_Function_int Function %27 %zero = OpVariable %_ptr_Function_int Function %27 %param = OpVariable %_ptr_Function_v2float Function %31 %temp = OpVariable %_ptr_Function_v2float Function %31 %33 = OpLoad %v4float %gl_FragCoord %34 = OpCompositeExtract %float %33 0 %35 = OpCompositeExtract %float %33 1 %36 = OpCompositeConstruct %v2float %34 %35 OpStore %param %36 OpBranch %37 %37 = OpLabel OpLoopMerge %38 %39 None OpBranch %40 %40 = OpLabel %43 = OpAccessChain %_ptr_Function_float %param %uint_1 %44 = OpLoad %float %43 %46 = OpFOrdLessThan %bool %44 %float_50 OpSelectionMerge %48 None OpBranchConditional %46 %49 %50 %49 = OpLabel %53 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_1 %54 = OpLoad %float %53 OpStore %x_44 %54 OpBranch %48 %50 = OpLabel OpStore %x_44 %float_0 OpBranch %48 %48 = OpLabel %56 = OpLoad %float %x_44 OpStore %x_43 %56 %58 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %59 = OpLoad %float %58 %61 = OpFOrdLessThan %bool %59 %float_50 %60 = OpSelect %float %61 %float_1 %float_0 OpStore %x_45 %60 %63 = OpFSub %float %56 %60 %64 = OpFOrdLessThan %bool %63 %float_1 OpSelectionMerge %65 None OpBranchConditional %64 %66 %65 %66 = OpLabel OpStore %x_46 %int_0 OpBranch %38 %65 = OpLabel OpStore %x_46 %int_1 OpBranch %38 %39 = OpLabel OpSelectionMerge %70 None OpBranchConditional %false %71 %72 %71 = OpLabel OpBranch %70 %72 = OpLabel OpBranch %38 %70 = OpLabel OpBranch %37 %38 = OpLabel %73 = OpLoad %int %x_46 OpStore %zero %73 %74 = OpIEqual %bool %73 %int_1 OpSelectionMerge %75 None OpBranchConditional %74 %76 %75 %76 = OpLabel OpReturn %75 = OpLabel OpStore %x_GLF_color %77 %78 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0 %79 = OpLoad %float %78 %80 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0 %81 = OpLoad %float %80 %82 = OpFOrdGreaterThanEqual %bool %79 %81 OpSelectionMerge %83 None OpBranchConditional %82 %84 %83 %84 = OpLabel %85 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %86 = OpLoad %float %85 %87 = OpFOrdGreaterThanEqual %bool %86 %float_0 OpSelectionMerge %88 None OpBranchConditional %87 %89 %88 %89 = OpLabel %90 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_1 %91 = OpLoad %float %90 %92 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_0 OpStore %92 %91 OpBranch %88 %88 = OpLabel OpBranch %83 %83 = OpLabel %93 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %94 = OpLoad %float %93 %95 = OpFOrdGreaterThanEqual %bool %94 %float_0 OpSelectionMerge %96 None OpBranchConditional %95 %97 %96 %97 = OpLabel %98 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0 %99 = OpLoad %float %98 %100 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1 OpStore %100 %99 OpBranch %96 %96 = OpLabel %101 = OpLoad %v4float %gl_FragCoord %102 = OpCompositeExtract %float %101 0 %103 = OpCompositeExtract %float %101 1 %104 = OpCompositeConstruct %v2float %102 %103 %105 = OpCompositeExtract %float %104 0 %106 = OpCompositeExtract %float %104 1 %107 = OpCompositeConstruct %v2float %105 %106 OpStore %temp %107 %108 = OpCompositeExtract %float %107 1 %109 = OpFOrdGreaterThanEqual %bool %108 %float_0 OpSelectionMerge %110 None OpBranchConditional %109 %111 %110 %111 = OpLabel %112 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0 %113 = OpLoad %float %112 %115 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_2 OpStore %115 %113 OpBranch %110 %110 = OpLabel OpReturn OpFunctionEnd %tint_symbol_3 = OpFunction %void None %116 %tint_symbol_1 = OpFunctionParameter %main_out %120 = OpLabel %121 = OpCompositeExtract %v4float %tint_symbol_1 0 OpStore %tint_symbol_2 %121 OpReturn OpFunctionEnd %main = OpFunction %void None %15 %123 = OpLabel %124 = OpLoad %v4float %tint_symbol OpStore %gl_FragCoord %124 %125 = OpFunctionCall %void %main_1 %127 = OpLoad %v4float %x_GLF_color %128 = OpCompositeConstruct %main_out %127 %126 = OpFunctionCall %void %tint_symbol_3 %128 OpReturn OpFunctionEnd %alwaysZero_vf2_ = OpFunction %int None %129 %coord = OpFunctionParameter %_ptr_Function_v2float %132 = OpLabel %a = OpVariable %_ptr_Function_float Function %21 %x_110 = OpVariable %_ptr_Function_float Function %21 %b = OpVariable %_ptr_Function_float Function %21 %137 = OpAccessChain %_ptr_Function_float %coord %uint_1 %138 = OpLoad %float %137 %139 = OpFOrdLessThan %bool %138 %float_50 OpSelectionMerge %140 None OpBranchConditional %139 %141 %142 %141 = OpLabel %143 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_1 %144 = OpLoad %float %143 OpStore %x_110 %144 OpBranch %140 %142 = OpLabel OpStore %x_110 %float_0 OpBranch %140 %140 = OpLabel %145 = OpLoad %float %x_110 OpStore %a %145 %146 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %147 = OpLoad %float %146 %149 = OpFOrdLessThan %bool %147 %float_50 %148 = OpSelect %float %149 %float_1 %float_0 OpStore %b %148 %150 = OpFSub %float %145 %148 %151 = OpFOrdLessThan %bool %150 %float_1 OpSelectionMerge %152 None OpBranchConditional %151 %153 %152 %153 = OpLabel OpReturnValue %int_0 %152 = OpLabel OpReturnValue %int_1 OpFunctionEnd