; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 ; Bound: 193 ; Schema: 0 OpCapability Shader OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %main "main" %tint_symbol %tint_symbol_2 OpExecutionMode %main OriginUpperLeft OpName %gl_FragCoord "gl_FragCoord" OpName %buf1 "buf1" OpMemberName %buf1 0 "resolution" OpName %x_9 "x_9" OpName %buf0 "buf0" OpMemberName %buf0 0 "injectionSwitch" OpName %x_13 "x_13" OpName %x_GLF_color "x_GLF_color" OpName %tint_symbol "tint_symbol" OpName %tint_symbol_2 "tint_symbol_2" OpName %checkSwap_f1_f1_ "checkSwap_f1_f1_" OpName %a "a" OpName %b "b" OpName %x_144 "x_144" OpName %main_1 "main_1" OpName %i "i" OpName %data "data" OpName %i_1 "i_1" OpName %j "j" OpName %doSwap "doSwap" OpName %param "param" OpName %param_1 "param_1" 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" OpDecorate %buf1 Block OpMemberDecorate %buf1 0 Offset 0 OpDecorate %x_9 NonWritable OpDecorate %x_9 DescriptorSet 0 OpDecorate %x_9 Binding 1 OpDecorate %buf0 Block OpMemberDecorate %buf0 0 Offset 0 OpDecorate %x_13 NonWritable OpDecorate %x_13 DescriptorSet 0 OpDecorate %x_13 Binding 0 OpDecorate %tint_symbol BuiltIn FragCoord OpDecorate %tint_symbol_2 Location 0 OpDecorate %_arr_float_uint_10 ArrayStride 4 OpMemberDecorate %main_out 0 Offset 0 %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 %_ptr_Private_v4float = OpTypePointer Private %v4float %5 = OpConstantNull %v4float %gl_FragCoord = OpVariable %_ptr_Private_v4float Private %5 %v2float = OpTypeVector %float 2 %buf1 = OpTypeStruct %v2float %_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1 %x_9 = OpVariable %_ptr_Uniform_buf1 Uniform %buf0 = OpTypeStruct %v2float %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 %x_13 = OpVariable %_ptr_Uniform_buf0 Uniform %x_GLF_color = OpVariable %_ptr_Private_v4float Private %5 %_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 %5 %bool = OpTypeBool %_ptr_Function_float = OpTypePointer Function %float %18 = OpTypeFunction %bool %_ptr_Function_float %_ptr_Function_float %_ptr_Function_bool = OpTypePointer Function %bool %27 = OpConstantNull %bool %uint = OpTypeInt 32 0 %uint_1 = OpConstant %uint 1 %_ptr_Private_float = OpTypePointer Private %float %uint_0 = OpConstant %uint 0 %_ptr_Uniform_float = OpTypePointer Uniform %float %float_2 = OpConstant %float 2 %void = OpTypeVoid %54 = OpTypeFunction %void %int = OpTypeInt 32 1 %_ptr_Function_int = OpTypePointer Function %int %61 = OpConstantNull %int %uint_10 = OpConstant %uint 10 %_arr_float_uint_10 = OpTypeArray %float %uint_10 %_ptr_Function__arr_float_uint_10 = OpTypePointer Function %_arr_float_uint_10 %66 = OpConstantNull %_arr_float_uint_10 %71 = OpConstantNull %float %int_0 = OpConstant %int 0 %int_10 = OpConstant %int 10 %int_1 = OpConstant %int 1 %int_9 = OpConstant %int 9 %int_5 = OpConstant %int 5 %float_10 = OpConstant %float 10 %float_1 = OpConstant %float 1 %main_out = OpTypeStruct %v4float %180 = OpTypeFunction %void %main_out %checkSwap_f1_f1_ = OpFunction %bool None %18 %a = OpFunctionParameter %_ptr_Function_float %b = OpFunctionParameter %_ptr_Function_float %24 = OpLabel %x_144 = OpVariable %_ptr_Function_bool Function %27 %31 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1 %32 = OpLoad %float %31 %35 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_1 %36 = OpLoad %float %35 %38 = OpFDiv %float %36 %float_2 %39 = OpFOrdLessThan %bool %32 %38 OpSelectionMerge %40 None OpBranchConditional %39 %41 %42 %41 = OpLabel %44 = OpLoad %float %a %46 = OpLoad %float %b %47 = OpFOrdGreaterThan %bool %44 %46 OpStore %x_144 %47 OpBranch %40 %42 = OpLabel %49 = OpLoad %float %a %51 = OpLoad %float %b %52 = OpFOrdLessThan %bool %49 %51 OpStore %x_144 %52 OpBranch %40 %40 = OpLabel %53 = OpLoad %bool %x_144 OpReturnValue %53 OpFunctionEnd %main_1 = OpFunction %void None %54 %57 = OpLabel %i = OpVariable %_ptr_Function_int Function %61 %data = OpVariable %_ptr_Function__arr_float_uint_10 Function %66 %i_1 = OpVariable %_ptr_Function_int Function %61 %j = OpVariable %_ptr_Function_int Function %61 %doSwap = OpVariable %_ptr_Function_bool Function %27 %param = OpVariable %_ptr_Function_float Function %71 %param_1 = OpVariable %_ptr_Function_float Function %71 %temp = OpVariable %_ptr_Function_float Function %71 OpStore %i %int_0 OpBranch %75 %75 = OpLabel OpLoopMerge %76 %77 None OpBranch %78 %78 = OpLabel %79 = OpLoad %int %i %81 = OpSLessThan %bool %79 %int_10 OpSelectionMerge %82 None OpBranchConditional %81 %83 %84 %83 = OpLabel OpBranch %82 %84 = OpLabel OpBranch %76 %82 = OpLabel %85 = OpLoad %int %i %86 = OpLoad %int %i %87 = OpAccessChain %_ptr_Uniform_float %x_13 %uint_0 %uint_1 %88 = OpLoad %float %87 %89 = OpAccessChain %_ptr_Function_float %data %85 %91 = OpISub %int %int_10 %86 %90 = OpConvertSToF %float %91 %92 = OpFMul %float %90 %88 OpStore %89 %92 OpBranch %77 %77 = OpLabel %93 = OpLoad %int %i %95 = OpIAdd %int %93 %int_1 OpStore %i %95 OpBranch %75 %76 = OpLabel OpStore %i_1 %int_0 OpBranch %96 %96 = OpLabel OpLoopMerge %97 %98 None OpBranch %99 %99 = OpLabel %100 = OpLoad %int %i_1 %102 = OpSLessThan %bool %100 %int_9 OpSelectionMerge %103 None OpBranchConditional %102 %104 %105 %104 = OpLabel OpBranch %103 %105 = OpLabel OpBranch %97 %103 = OpLabel OpStore %j %int_0 OpBranch %106 %106 = OpLabel OpLoopMerge %107 %108 None OpBranch %109 %109 = OpLabel %110 = OpLoad %int %j %111 = OpSLessThan %bool %110 %int_10 OpSelectionMerge %112 None OpBranchConditional %111 %113 %114 %113 = OpLabel OpBranch %112 %114 = OpLabel OpBranch %107 %112 = OpLabel %115 = OpLoad %int %j %116 = OpLoad %int %i_1 %117 = OpIAdd %int %116 %int_1 %118 = OpSLessThan %bool %115 %117 OpSelectionMerge %119 None OpBranchConditional %118 %120 %119 %120 = OpLabel OpBranch %108 %119 = OpLabel %121 = OpLoad %int %i_1 %122 = OpLoad %int %j %123 = OpAccessChain %_ptr_Function_float %data %121 %124 = OpLoad %float %123 OpStore %param %124 %125 = OpAccessChain %_ptr_Function_float %data %122 %126 = OpLoad %float %125 OpStore %param_1 %126 %127 = OpFunctionCall %bool %checkSwap_f1_f1_ %param %param_1 OpStore %doSwap %127 %130 = OpLoad %bool %doSwap OpSelectionMerge %131 None OpBranchConditional %130 %132 %131 %132 = OpLabel %133 = OpLoad %int %i_1 %134 = OpAccessChain %_ptr_Function_float %data %133 %135 = OpLoad %float %134 OpStore %temp %135 %136 = OpLoad %int %i_1 %137 = OpLoad %int %j %138 = OpAccessChain %_ptr_Function_float %data %137 %139 = OpLoad %float %138 %140 = OpAccessChain %_ptr_Function_float %data %136 OpStore %140 %139 %141 = OpLoad %int %j %142 = OpLoad %float %temp %143 = OpAccessChain %_ptr_Function_float %data %141 OpStore %143 %142 OpBranch %131 %131 = OpLabel OpBranch %108 %108 = OpLabel %144 = OpLoad %int %j %145 = OpIAdd %int %144 %int_1 OpStore %j %145 OpBranch %106 %107 = OpLabel OpBranch %98 %98 = OpLabel %146 = OpLoad %int %i_1 %147 = OpIAdd %int %146 %int_1 OpStore %i_1 %147 OpBranch %96 %97 = OpLabel %148 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0 %149 = OpLoad %float %148 %150 = OpAccessChain %_ptr_Uniform_float %x_9 %uint_0 %uint_0 %151 = OpLoad %float %150 %152 = OpFDiv %float %151 %float_2 %153 = OpFOrdLessThan %bool %149 %152 OpSelectionMerge %154 None OpBranchConditional %153 %155 %156 %155 = OpLabel %157 = OpAccessChain %_ptr_Function_float %data %int_0 %158 = OpLoad %float %157 %160 = OpAccessChain %_ptr_Function_float %data %int_5 %161 = OpLoad %float %160 %162 = OpAccessChain %_ptr_Function_float %data %int_9 %163 = OpLoad %float %162 %165 = OpFDiv %float %158 %float_10 %166 = OpFDiv %float %161 %float_10 %167 = OpFDiv %float %163 %float_10 %169 = OpCompositeConstruct %v4float %165 %166 %167 %float_1 OpStore %x_GLF_color %169 OpBranch %154 %156 = OpLabel %170 = OpAccessChain %_ptr_Function_float %data %int_5 %171 = OpLoad %float %170 %172 = OpAccessChain %_ptr_Function_float %data %int_9 %173 = OpLoad %float %172 %174 = OpAccessChain %_ptr_Function_float %data %int_0 %175 = OpLoad %float %174 %176 = OpFDiv %float %171 %float_10 %177 = OpFDiv %float %173 %float_10 %178 = OpFDiv %float %175 %float_10 %179 = OpCompositeConstruct %v4float %176 %177 %178 %float_1 OpStore %x_GLF_color %179 OpBranch %154 %154 = OpLabel OpReturn OpFunctionEnd %tint_symbol_3 = OpFunction %void None %180 %tint_symbol_1 = OpFunctionParameter %main_out %184 = OpLabel %185 = OpCompositeExtract %v4float %tint_symbol_1 0 OpStore %tint_symbol_2 %185 OpReturn OpFunctionEnd %main = OpFunction %void None %54 %187 = OpLabel %188 = OpLoad %v4float %tint_symbol OpStore %gl_FragCoord %188 %189 = OpFunctionCall %void %main_1 %191 = OpLoad %v4float %x_GLF_color %192 = OpCompositeConstruct %main_out %191 %190 = OpFunctionCall %void %tint_symbol_3 %192 OpReturn OpFunctionEnd