; SPIR-V ; Version: 1.3 ; Generator: Google Tint Compiler; 0 ; Bound: 204 ; Schema: 0 OpCapability Shader OpMemoryModel Logical GLSL450 OpEntryPoint Fragment %main "main" %tint_symbol_1 OpExecutionMode %main OriginUpperLeft OpName %buf0 "buf0" OpMemberName %buf0 0 "one" OpName %x_8 "x_8" OpName %x_GLF_color "x_GLF_color" OpName %tint_symbol_1 "tint_symbol_1" OpName %main_1 "main_1" OpName %x_68 "x_68" OpName %x_29 "x_29" OpName %x_30 "x_30" OpName %x_31 "x_31" OpName %globalNumbers "globalNumbers" OpName %x_17 "x_17" OpName %acc "acc" OpName %i_1 "i_1" OpName %localNumbers "localNumbers" OpName %param "param" OpName %x_24 "x_24" OpName %x_24_phi "x_24_phi" OpName %x_23_phi "x_23_phi" OpName %x_33 "x_33" OpName %x_92 "x_92" OpName %x_76_phi "x_76_phi" OpName %x_34_phi "x_34_phi" OpName %x_25_phi "x_25_phi" OpName %x_81 "x_81" OpName %x_32 "x_32" OpName %x_81_phi "x_81_phi" OpName %x_32_phi "x_32_phi" OpName %x_33_phi "x_33_phi" OpName %x_90_phi "x_90_phi" OpName %x_22_1 "x_22_1" OpName %main_out "main_out" OpMemberName %main_out 0 "x_GLF_color_1" OpName %tint_symbol_2 "tint_symbol_2" OpName %tint_symbol "tint_symbol" OpName %main "main" OpName %yieldsZero_ "yieldsZero_" OpName %x_116 "x_116" OpName %x_20 "x_20" OpName %i "i" OpName %x_26 "x_26" OpName %x_134 "x_134" OpName %x_118_phi "x_118_phi" OpName %x_27_phi "x_27_phi" OpName %x_123 "x_123" OpName %x_28 "x_28" OpName %x_123_phi "x_123_phi" OpName %x_28_phi "x_28_phi" OpName %x_26_phi "x_26_phi" OpName %x_132_phi "x_132_phi" OpDecorate %buf0 Block OpMemberDecorate %buf0 0 Offset 0 OpDecorate %x_8 NonWritable OpDecorate %x_8 DescriptorSet 0 OpDecorate %x_8 Binding 0 OpDecorate %tint_symbol_1 Location 0 OpDecorate %_arr_int_uint_10 ArrayStride 4 OpDecorate %_arr_int_uint_2 ArrayStride 4 OpMemberDecorate %main_out 0 Offset 0 %float = OpTypeFloat 32 %buf0 = OpTypeStruct %float %_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 %x_8 = OpVariable %_ptr_Uniform_buf0 Uniform %v4float = OpTypeVector %float 4 %_ptr_Private_v4float = OpTypePointer Private %v4float %8 = OpConstantNull %v4float %x_GLF_color = OpVariable %_ptr_Private_v4float Private %8 %_ptr_Output_v4float = OpTypePointer Output %v4float %tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %8 %void = OpTypeVoid %11 = OpTypeFunction %void %bool = OpTypeBool %false = OpConstantFalse %bool %_ptr_Function_bool = OpTypePointer Function %bool %19 = OpConstantNull %bool %int = OpTypeInt 32 1 %_ptr_Function_int = OpTypePointer Function %int %23 = OpConstantNull %int %uint = OpTypeInt 32 0 %uint_10 = OpConstant %uint 10 %_arr_int_uint_10 = OpTypeArray %int %uint_10 %_ptr_Function__arr_int_uint_10 = OpTypePointer Function %_arr_int_uint_10 %31 = OpConstantNull %_arr_int_uint_10 %uint_2 = OpConstant %uint 2 %_arr_int_uint_2 = OpTypeArray %int %uint_2 %_ptr_Function__arr_int_uint_2 = OpTypePointer Function %_arr_int_uint_2 %39 = OpConstantNull %_arr_int_uint_2 %int_0 = OpConstant %int 0 %int_4 = OpConstant %int 4 %uint_0 = OpConstant %uint 0 %_ptr_Uniform_float = OpTypePointer Uniform %float %true = OpConstantTrue %bool %uint_1 = OpConstant %uint 1 %int_1 = OpConstant %int 1 %float_1 = OpConstant %float 1 %float_0 = OpConstant %float 0 %144 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1 %145 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1 %main_out = OpTypeStruct %v4float %146 = OpTypeFunction %void %main_out %158 = OpTypeFunction %int %main_1 = OpFunction %void None %11 %14 = OpLabel %x_68 = OpVariable %_ptr_Function_bool Function %19 %x_29 = OpVariable %_ptr_Function_int Function %23 %x_30 = OpVariable %_ptr_Function_int Function %23 %x_31 = OpVariable %_ptr_Function_int Function %23 %globalNumbers = OpVariable %_ptr_Function__arr_int_uint_10 Function %31 %x_17 = OpVariable %_ptr_Function_int Function %23 %acc = OpVariable %_ptr_Function_int Function %23 %i_1 = OpVariable %_ptr_Function_int Function %23 %localNumbers = OpVariable %_ptr_Function__arr_int_uint_2 Function %39 %param = OpVariable %_ptr_Function_int Function %23 %x_24 = OpVariable %_ptr_Function_int Function %23 %x_24_phi = OpVariable %_ptr_Function_int Function %23 %x_23_phi = OpVariable %_ptr_Function_int Function %23 %x_33 = OpVariable %_ptr_Function_int Function %23 %x_92 = OpVariable %_ptr_Function_int Function %23 %x_76_phi = OpVariable %_ptr_Function_bool Function %19 %x_34_phi = OpVariable %_ptr_Function_int Function %23 %x_25_phi = OpVariable %_ptr_Function_int Function %23 %x_81 = OpVariable %_ptr_Function_bool Function %19 %x_32 = OpVariable %_ptr_Function_int Function %23 %x_81_phi = OpVariable %_ptr_Function_bool Function %19 %x_32_phi = OpVariable %_ptr_Function_int Function %23 %x_33_phi = OpVariable %_ptr_Function_int Function %23 %x_90_phi = OpVariable %_ptr_Function_bool Function %19 %x_22_1 = OpVariable %_ptr_Function__arr_int_uint_2 Function %39 OpStore %x_68 %false OpStore %acc %int_0 OpStore %i_1 %int_0 OpStore %x_24_phi %int_0 OpStore %x_23_phi %int_0 OpBranch %45 %45 = OpLabel OpLoopMerge %46 %47 None OpBranch %48 %48 = OpLabel %54 = OpLoad %int %x_24_phi OpStore %x_24 %54 %55 = OpLoad %int %x_23_phi %57 = OpSLessThan %bool %55 %int_4 OpSelectionMerge %58 None OpBranchConditional %57 %59 %60 %59 = OpLabel OpBranch %58 %60 = OpLabel OpBranch %46 %58 = OpLabel OpStore %x_68 %false OpStore %x_76_phi %false OpBranch %61 %61 = OpLabel OpLoopMerge %62 %63 None OpBranch %64 %64 = OpLabel %71 = OpLoad %bool %x_76_phi OpStore %x_30 %int_0 OpStore %x_81_phi %71 OpStore %x_32_phi %int_0 OpBranch %72 %72 = OpLabel OpLoopMerge %73 %74 None OpBranch %75 %75 = OpLabel %76 = OpLoad %bool %x_81_phi OpStore %x_81 %76 %77 = OpLoad %int %x_32_phi OpStore %x_32 %77 %80 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %81 = OpLoad %float %80 OpStore %x_33_phi %int_0 %82 = OpLoad %bool %x_81 OpStore %x_90_phi %82 %83 = OpLoad %int %x_32 %84 = OpConvertFToS %int %81 %85 = OpSLessThan %bool %83 %84 OpSelectionMerge %86 None OpBranchConditional %85 %87 %88 %87 = OpLabel OpBranch %86 %88 = OpLabel OpBranch %73 %86 = OpLabel OpStore %x_68 %true %90 = OpLoad %int %x_32 OpStore %x_29 %90 %91 = OpLoad %int %x_32 OpStore %x_33_phi %91 OpStore %x_90_phi %true OpBranch %73 %74 = OpLabel OpStore %x_81_phi %false OpStore %x_32_phi %int_0 OpBranch %72 %73 = OpLabel %92 = OpLoad %int %x_33_phi OpStore %x_33 %92 %93 = OpLoad %bool %x_90_phi %94 = OpLoad %int %x_33 OpStore %x_34_phi %94 OpSelectionMerge %95 None OpBranchConditional %93 %96 %95 %96 = OpLabel OpBranch %62 %95 = OpLabel OpStore %x_92 %int_0 OpStore %x_68 %true %97 = OpLoad %int %x_92 OpStore %x_29 %97 %98 = OpLoad %int %x_92 OpStore %x_34_phi %98 OpBranch %62 %63 = OpLabel OpStore %x_76_phi %false OpBranch %61 %62 = OpLabel %99 = OpLoad %int %x_34_phi OpStore %x_31 %99 %100 = OpLoad %int %x_31 %101 = OpLoad %_arr_int_uint_2 %localNumbers OpStore %x_22_1 %101 %104 = OpAccessChain %_ptr_Function_int %x_22_1 %uint_1 OpStore %104 %100 %105 = OpLoad %_arr_int_uint_2 %x_22_1 OpStore %localNumbers %105 %106 = OpAccessChain %_ptr_Function_int %globalNumbers %int_0 OpStore %106 %int_0 %107 = OpCompositeExtract %int %105 1 OpStore %param %107 OpStore %x_17 %int_0 OpStore %x_25_phi %int_0 OpBranch %108 %108 = OpLabel OpLoopMerge %109 %110 None OpBranch %111 %111 = OpLabel %112 = OpLoad %int %x_25_phi %113 = OpSLessThanEqual %bool %112 %107 OpSelectionMerge %114 None OpBranchConditional %113 %115 %116 %115 = OpLabel OpBranch %114 %116 = OpLabel OpBranch %109 %114 = OpLabel %117 = OpAccessChain %_ptr_Function_int %globalNumbers %107 %118 = OpLoad %int %117 %120 = OpSLessThanEqual %bool %118 %int_1 OpSelectionMerge %121 None OpBranchConditional %120 %122 %121 %122 = OpLabel %123 = OpAccessChain %_ptr_Function_int %globalNumbers %107 OpStore %123 %int_1 OpBranch %121 %121 = OpLabel OpBranch %110 %110 = OpLabel %124 = OpIAdd %int %112 %int_1 OpStore %x_17 %124 OpStore %x_25_phi %124 OpBranch %108 %109 = OpLabel %125 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %126 = OpLoad %float %125 %127 = OpConvertFToS %int %126 %128 = OpISub %int %127 %int_1 %129 = OpAccessChain %_ptr_Function_int %globalNumbers %128 %130 = OpLoad %int %129 %132 = OpLoad %int %x_24 %133 = OpCopyObject %int %130 %134 = OpIAdd %int %132 %133 %131 = OpCopyObject %int %134 OpStore %acc %131 OpBranch %47 %47 = OpLabel %135 = OpIAdd %int %55 %int_1 OpStore %i_1 %135 OpStore %x_24_phi %131 OpStore %x_23_phi %135 OpBranch %45 %46 = OpLabel %136 = OpLoad %int %x_24 %137 = OpCopyObject %int %int_4 %138 = OpIEqual %bool %136 %137 OpSelectionMerge %139 None OpBranchConditional %138 %140 %141 %140 = OpLabel OpStore %x_GLF_color %144 OpBranch %139 %141 = OpLabel OpStore %x_GLF_color %145 OpBranch %139 %139 = OpLabel OpReturn OpFunctionEnd %tint_symbol_2 = OpFunction %void None %146 %tint_symbol = OpFunctionParameter %main_out %150 = OpLabel %151 = OpCompositeExtract %v4float %tint_symbol 0 OpStore %tint_symbol_1 %151 OpReturn OpFunctionEnd %main = OpFunction %void None %11 %153 = OpLabel %154 = OpFunctionCall %void %main_1 %156 = OpLoad %v4float %x_GLF_color %157 = OpCompositeConstruct %main_out %156 %155 = OpFunctionCall %void %tint_symbol_2 %157 OpReturn OpFunctionEnd %yieldsZero_ = OpFunction %int None %158 %160 = OpLabel %x_116 = OpVariable %_ptr_Function_bool Function %19 %x_20 = OpVariable %_ptr_Function_int Function %23 %i = OpVariable %_ptr_Function_int Function %23 %x_26 = OpVariable %_ptr_Function_int Function %23 %x_134 = OpVariable %_ptr_Function_int Function %23 %x_118_phi = OpVariable %_ptr_Function_bool Function %19 %x_27_phi = OpVariable %_ptr_Function_int Function %23 %x_123 = OpVariable %_ptr_Function_bool Function %19 %x_28 = OpVariable %_ptr_Function_int Function %23 %x_123_phi = OpVariable %_ptr_Function_bool Function %19 %x_28_phi = OpVariable %_ptr_Function_int Function %23 %x_26_phi = OpVariable %_ptr_Function_int Function %23 %x_132_phi = OpVariable %_ptr_Function_bool Function %19 OpStore %x_116 %false OpStore %x_118_phi %false OpBranch %168 %168 = OpLabel OpLoopMerge %169 %170 None OpBranch %171 %171 = OpLabel %178 = OpLoad %bool %x_118_phi OpStore %i %int_0 OpStore %x_123_phi %178 OpStore %x_28_phi %int_0 OpBranch %179 %179 = OpLabel OpLoopMerge %180 %181 None OpBranch %182 %182 = OpLabel %183 = OpLoad %bool %x_123_phi OpStore %x_123 %183 %184 = OpLoad %int %x_28_phi OpStore %x_28 %184 %185 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %186 = OpLoad %float %185 OpStore %x_26_phi %int_0 %187 = OpLoad %bool %x_123 OpStore %x_132_phi %187 %188 = OpLoad %int %x_28 %189 = OpConvertFToS %int %186 %190 = OpSLessThan %bool %188 %189 OpSelectionMerge %191 None OpBranchConditional %190 %192 %193 %192 = OpLabel OpBranch %191 %193 = OpLabel OpBranch %180 %191 = OpLabel OpStore %x_116 %true %194 = OpLoad %int %x_28 OpStore %x_20 %194 %195 = OpLoad %int %x_28 OpStore %x_26_phi %195 OpStore %x_132_phi %true OpBranch %180 %181 = OpLabel OpStore %x_123_phi %false OpStore %x_28_phi %int_0 OpBranch %179 %180 = OpLabel %196 = OpLoad %int %x_26_phi OpStore %x_26 %196 %197 = OpLoad %bool %x_132_phi %198 = OpLoad %int %x_26 OpStore %x_27_phi %198 OpSelectionMerge %199 None OpBranchConditional %197 %200 %199 %200 = OpLabel OpBranch %169 %199 = OpLabel OpStore %x_134 %int_0 OpStore %x_116 %true %201 = OpLoad %int %x_134 OpStore %x_20 %201 %202 = OpLoad %int %x_134 OpStore %x_27_phi %202 OpBranch %169 %170 = OpLabel OpStore %x_118_phi %false OpBranch %168 %169 = OpLabel %203 = OpLoad %int %x_27_phi OpReturnValue %203 OpFunctionEnd