1cb93a386Sopenharmony_ciOpCapability Shader 2cb93a386Sopenharmony_ci%1 = OpExtInstImport "GLSL.std.450" 3cb93a386Sopenharmony_ciOpMemoryModel Logical GLSL450 4cb93a386Sopenharmony_ciOpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise 5cb93a386Sopenharmony_ciOpExecutionMode %_entrypoint_v OriginUpperLeft 6cb93a386Sopenharmony_ciOpName %sk_FragColor "sk_FragColor" 7cb93a386Sopenharmony_ciOpName %sk_Clockwise "sk_Clockwise" 8cb93a386Sopenharmony_ciOpName %_UniformBuffer "_UniformBuffer" 9cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 0 "testInputs" 10cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 1 "colorGreen" 11cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 2 "colorRed" 12cb93a386Sopenharmony_ciOpName %_entrypoint_v "_entrypoint_v" 13cb93a386Sopenharmony_ciOpName %main "main" 14cb93a386Sopenharmony_ciOpName %constVal "constVal" 15cb93a386Sopenharmony_ciOpName %expectedA "expectedA" 16cb93a386Sopenharmony_ciOpName %expectedB "expectedB" 17cb93a386Sopenharmony_ciOpDecorate %sk_FragColor RelaxedPrecision 18cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Location 0 19cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Index 0 20cb93a386Sopenharmony_ciOpDecorate %sk_Clockwise BuiltIn FrontFacing 21cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 Offset 0 22cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 23cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 Offset 16 24cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 25cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 Offset 32 26cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 RelaxedPrecision 27cb93a386Sopenharmony_ciOpDecorate %_UniformBuffer Block 28cb93a386Sopenharmony_ciOpDecorate %10 Binding 0 29cb93a386Sopenharmony_ciOpDecorate %10 DescriptorSet 0 30cb93a386Sopenharmony_ciOpDecorate %constVal RelaxedPrecision 31cb93a386Sopenharmony_ciOpDecorate %31 RelaxedPrecision 32cb93a386Sopenharmony_ciOpDecorate %expectedA RelaxedPrecision 33cb93a386Sopenharmony_ciOpDecorate %35 RelaxedPrecision 34cb93a386Sopenharmony_ciOpDecorate %expectedB RelaxedPrecision 35cb93a386Sopenharmony_ciOpDecorate %37 RelaxedPrecision 36cb93a386Sopenharmony_ciOpDecorate %39 RelaxedPrecision 37cb93a386Sopenharmony_ciOpDecorate %40 RelaxedPrecision 38cb93a386Sopenharmony_ciOpDecorate %44 RelaxedPrecision 39cb93a386Sopenharmony_ciOpDecorate %45 RelaxedPrecision 40cb93a386Sopenharmony_ciOpDecorate %53 RelaxedPrecision 41cb93a386Sopenharmony_ciOpDecorate %54 RelaxedPrecision 42cb93a386Sopenharmony_ciOpDecorate %55 RelaxedPrecision 43cb93a386Sopenharmony_ciOpDecorate %62 RelaxedPrecision 44cb93a386Sopenharmony_ciOpDecorate %69 RelaxedPrecision 45cb93a386Sopenharmony_ciOpDecorate %70 RelaxedPrecision 46cb93a386Sopenharmony_ciOpDecorate %75 RelaxedPrecision 47cb93a386Sopenharmony_ciOpDecorate %76 RelaxedPrecision 48cb93a386Sopenharmony_ciOpDecorate %82 RelaxedPrecision 49cb93a386Sopenharmony_ciOpDecorate %83 RelaxedPrecision 50cb93a386Sopenharmony_ciOpDecorate %89 RelaxedPrecision 51cb93a386Sopenharmony_ciOpDecorate %100 RelaxedPrecision 52cb93a386Sopenharmony_ciOpDecorate %101 RelaxedPrecision 53cb93a386Sopenharmony_ciOpDecorate %104 RelaxedPrecision 54cb93a386Sopenharmony_ciOpDecorate %105 RelaxedPrecision 55cb93a386Sopenharmony_ciOpDecorate %106 RelaxedPrecision 56cb93a386Sopenharmony_ciOpDecorate %107 RelaxedPrecision 57cb93a386Sopenharmony_ciOpDecorate %114 RelaxedPrecision 58cb93a386Sopenharmony_ciOpDecorate %115 RelaxedPrecision 59cb93a386Sopenharmony_ciOpDecorate %116 RelaxedPrecision 60cb93a386Sopenharmony_ciOpDecorate %118 RelaxedPrecision 61cb93a386Sopenharmony_ciOpDecorate %119 RelaxedPrecision 62cb93a386Sopenharmony_ciOpDecorate %120 RelaxedPrecision 63cb93a386Sopenharmony_ciOpDecorate %121 RelaxedPrecision 64cb93a386Sopenharmony_ciOpDecorate %122 RelaxedPrecision 65cb93a386Sopenharmony_ciOpDecorate %123 RelaxedPrecision 66cb93a386Sopenharmony_ciOpDecorate %131 RelaxedPrecision 67cb93a386Sopenharmony_ciOpDecorate %132 RelaxedPrecision 68cb93a386Sopenharmony_ciOpDecorate %133 RelaxedPrecision 69cb93a386Sopenharmony_ciOpDecorate %135 RelaxedPrecision 70cb93a386Sopenharmony_ciOpDecorate %136 RelaxedPrecision 71cb93a386Sopenharmony_ciOpDecorate %137 RelaxedPrecision 72cb93a386Sopenharmony_ciOpDecorate %138 RelaxedPrecision 73cb93a386Sopenharmony_ciOpDecorate %139 RelaxedPrecision 74cb93a386Sopenharmony_ciOpDecorate %140 RelaxedPrecision 75cb93a386Sopenharmony_ciOpDecorate %148 RelaxedPrecision 76cb93a386Sopenharmony_ciOpDecorate %149 RelaxedPrecision 77cb93a386Sopenharmony_ciOpDecorate %150 RelaxedPrecision 78cb93a386Sopenharmony_ciOpDecorate %152 RelaxedPrecision 79cb93a386Sopenharmony_ciOpDecorate %153 RelaxedPrecision 80cb93a386Sopenharmony_ciOpDecorate %154 RelaxedPrecision 81cb93a386Sopenharmony_ciOpDecorate %155 RelaxedPrecision 82cb93a386Sopenharmony_ciOpDecorate %156 RelaxedPrecision 83cb93a386Sopenharmony_ciOpDecorate %162 RelaxedPrecision 84cb93a386Sopenharmony_ciOpDecorate %163 RelaxedPrecision 85cb93a386Sopenharmony_ciOpDecorate %168 RelaxedPrecision 86cb93a386Sopenharmony_ciOpDecorate %169 RelaxedPrecision 87cb93a386Sopenharmony_ciOpDecorate %170 RelaxedPrecision 88cb93a386Sopenharmony_ciOpDecorate %176 RelaxedPrecision 89cb93a386Sopenharmony_ciOpDecorate %177 RelaxedPrecision 90cb93a386Sopenharmony_ciOpDecorate %178 RelaxedPrecision 91cb93a386Sopenharmony_ciOpDecorate %184 RelaxedPrecision 92cb93a386Sopenharmony_ciOpDecorate %192 RelaxedPrecision 93cb93a386Sopenharmony_ciOpDecorate %193 RelaxedPrecision 94cb93a386Sopenharmony_ciOpDecorate %195 RelaxedPrecision 95cb93a386Sopenharmony_ciOpDecorate %196 RelaxedPrecision 96cb93a386Sopenharmony_ciOpDecorate %197 RelaxedPrecision 97cb93a386Sopenharmony_ciOpDecorate %198 RelaxedPrecision 98cb93a386Sopenharmony_ciOpDecorate %205 RelaxedPrecision 99cb93a386Sopenharmony_ciOpDecorate %206 RelaxedPrecision 100cb93a386Sopenharmony_ciOpDecorate %208 RelaxedPrecision 101cb93a386Sopenharmony_ciOpDecorate %209 RelaxedPrecision 102cb93a386Sopenharmony_ciOpDecorate %210 RelaxedPrecision 103cb93a386Sopenharmony_ciOpDecorate %211 RelaxedPrecision 104cb93a386Sopenharmony_ciOpDecorate %219 RelaxedPrecision 105cb93a386Sopenharmony_ciOpDecorate %220 RelaxedPrecision 106cb93a386Sopenharmony_ciOpDecorate %222 RelaxedPrecision 107cb93a386Sopenharmony_ciOpDecorate %223 RelaxedPrecision 108cb93a386Sopenharmony_ciOpDecorate %224 RelaxedPrecision 109cb93a386Sopenharmony_ciOpDecorate %225 RelaxedPrecision 110cb93a386Sopenharmony_ciOpDecorate %233 RelaxedPrecision 111cb93a386Sopenharmony_ciOpDecorate %235 RelaxedPrecision 112cb93a386Sopenharmony_ciOpDecorate %236 RelaxedPrecision 113cb93a386Sopenharmony_ciOpDecorate %237 RelaxedPrecision 114cb93a386Sopenharmony_ciOpDecorate %246 RelaxedPrecision 115cb93a386Sopenharmony_ciOpDecorate %248 RelaxedPrecision 116cb93a386Sopenharmony_ciOpDecorate %249 RelaxedPrecision 117cb93a386Sopenharmony_ci%float = OpTypeFloat 32 118cb93a386Sopenharmony_ci%v4float = OpTypeVector %float 4 119cb93a386Sopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float 120cb93a386Sopenharmony_ci%sk_FragColor = OpVariable %_ptr_Output_v4float Output 121cb93a386Sopenharmony_ci%bool = OpTypeBool 122cb93a386Sopenharmony_ci%_ptr_Input_bool = OpTypePointer Input %bool 123cb93a386Sopenharmony_ci%sk_Clockwise = OpVariable %_ptr_Input_bool Input 124cb93a386Sopenharmony_ci%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float 125cb93a386Sopenharmony_ci%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 126cb93a386Sopenharmony_ci%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 127cb93a386Sopenharmony_ci%void = OpTypeVoid 128cb93a386Sopenharmony_ci%15 = OpTypeFunction %void 129cb93a386Sopenharmony_ci%v2float = OpTypeVector %float 2 130cb93a386Sopenharmony_ci%float_0 = OpConstant %float 0 131cb93a386Sopenharmony_ci%19 = OpConstantComposite %v2float %float_0 %float_0 132cb93a386Sopenharmony_ci%_ptr_Function_v2float = OpTypePointer Function %v2float 133cb93a386Sopenharmony_ci%23 = OpTypeFunction %v4float %_ptr_Function_v2float 134cb93a386Sopenharmony_ci%_ptr_Function_v4float = OpTypePointer Function %v4float 135cb93a386Sopenharmony_ci%float_n1_25 = OpConstant %float -1.25 136cb93a386Sopenharmony_ci%float_0_75 = OpConstant %float 0.75 137cb93a386Sopenharmony_ci%float_2_25 = OpConstant %float 2.25 138cb93a386Sopenharmony_ci%31 = OpConstantComposite %v4float %float_n1_25 %float_0 %float_0_75 %float_2_25 139cb93a386Sopenharmony_ci%float_0_84375 = OpConstant %float 0.84375 140cb93a386Sopenharmony_ci%float_1 = OpConstant %float 1 141cb93a386Sopenharmony_ci%35 = OpConstantComposite %v4float %float_0 %float_0 %float_0_84375 %float_1 142cb93a386Sopenharmony_ci%37 = OpConstantComposite %v4float %float_1 %float_0 %float_1 %float_1 143cb93a386Sopenharmony_ci%false = OpConstantFalse %bool 144cb93a386Sopenharmony_ci%v2bool = OpTypeVector %bool 2 145cb93a386Sopenharmony_ci%v3float = OpTypeVector %float 3 146cb93a386Sopenharmony_ci%53 = OpConstantComposite %v3float %float_0 %float_0 %float_0_84375 147cb93a386Sopenharmony_ci%v3bool = OpTypeVector %bool 3 148cb93a386Sopenharmony_ci%v4bool = OpTypeVector %bool 4 149cb93a386Sopenharmony_ci%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 150cb93a386Sopenharmony_ci%int = OpTypeInt 32 1 151cb93a386Sopenharmony_ci%int_2 = OpConstant %int 2 152cb93a386Sopenharmony_ci%int_1 = OpConstant %int 1 153cb93a386Sopenharmony_ci%121 = OpConstantComposite %v2float %float_n1_25 %float_0 154cb93a386Sopenharmony_ci%138 = OpConstantComposite %v3float %float_n1_25 %float_0 %float_0_75 155cb93a386Sopenharmony_ci%168 = OpConstantComposite %v2float %float_1 %float_0 156cb93a386Sopenharmony_ci%176 = OpConstantComposite %v3float %float_1 %float_0 %float_1 157cb93a386Sopenharmony_ci%_entrypoint_v = OpFunction %void None %15 158cb93a386Sopenharmony_ci%16 = OpLabel 159cb93a386Sopenharmony_ci%20 = OpVariable %_ptr_Function_v2float Function 160cb93a386Sopenharmony_ciOpStore %20 %19 161cb93a386Sopenharmony_ci%22 = OpFunctionCall %v4float %main %20 162cb93a386Sopenharmony_ciOpStore %sk_FragColor %22 163cb93a386Sopenharmony_ciOpReturn 164cb93a386Sopenharmony_ciOpFunctionEnd 165cb93a386Sopenharmony_ci%main = OpFunction %v4float None %23 166cb93a386Sopenharmony_ci%24 = OpFunctionParameter %_ptr_Function_v2float 167cb93a386Sopenharmony_ci%25 = OpLabel 168cb93a386Sopenharmony_ci%constVal = OpVariable %_ptr_Function_v4float Function 169cb93a386Sopenharmony_ci%expectedA = OpVariable %_ptr_Function_v4float Function 170cb93a386Sopenharmony_ci%expectedB = OpVariable %_ptr_Function_v4float Function 171cb93a386Sopenharmony_ci%241 = OpVariable %_ptr_Function_v4float Function 172cb93a386Sopenharmony_ciOpStore %constVal %31 173cb93a386Sopenharmony_ciOpStore %expectedA %35 174cb93a386Sopenharmony_ciOpStore %expectedB %37 175cb93a386Sopenharmony_ci%39 = OpLoad %v4float %expectedA 176cb93a386Sopenharmony_ci%40 = OpCompositeExtract %float %39 0 177cb93a386Sopenharmony_ci%41 = OpFOrdEqual %bool %float_0 %40 178cb93a386Sopenharmony_ciOpSelectionMerge %43 None 179cb93a386Sopenharmony_ciOpBranchConditional %41 %42 %43 180cb93a386Sopenharmony_ci%42 = OpLabel 181cb93a386Sopenharmony_ci%44 = OpLoad %v4float %expectedA 182cb93a386Sopenharmony_ci%45 = OpVectorShuffle %v2float %44 %44 0 1 183cb93a386Sopenharmony_ci%46 = OpFOrdEqual %v2bool %19 %45 184cb93a386Sopenharmony_ci%48 = OpAll %bool %46 185cb93a386Sopenharmony_ciOpBranch %43 186cb93a386Sopenharmony_ci%43 = OpLabel 187cb93a386Sopenharmony_ci%49 = OpPhi %bool %false %25 %48 %42 188cb93a386Sopenharmony_ciOpSelectionMerge %51 None 189cb93a386Sopenharmony_ciOpBranchConditional %49 %50 %51 190cb93a386Sopenharmony_ci%50 = OpLabel 191cb93a386Sopenharmony_ci%54 = OpLoad %v4float %expectedA 192cb93a386Sopenharmony_ci%55 = OpVectorShuffle %v3float %54 %54 0 1 2 193cb93a386Sopenharmony_ci%56 = OpFOrdEqual %v3bool %53 %55 194cb93a386Sopenharmony_ci%58 = OpAll %bool %56 195cb93a386Sopenharmony_ciOpBranch %51 196cb93a386Sopenharmony_ci%51 = OpLabel 197cb93a386Sopenharmony_ci%59 = OpPhi %bool %false %43 %58 %50 198cb93a386Sopenharmony_ciOpSelectionMerge %61 None 199cb93a386Sopenharmony_ciOpBranchConditional %59 %60 %61 200cb93a386Sopenharmony_ci%60 = OpLabel 201cb93a386Sopenharmony_ci%62 = OpLoad %v4float %expectedA 202cb93a386Sopenharmony_ci%63 = OpFOrdEqual %v4bool %35 %62 203cb93a386Sopenharmony_ci%65 = OpAll %bool %63 204cb93a386Sopenharmony_ciOpBranch %61 205cb93a386Sopenharmony_ci%61 = OpLabel 206cb93a386Sopenharmony_ci%66 = OpPhi %bool %false %51 %65 %60 207cb93a386Sopenharmony_ciOpSelectionMerge %68 None 208cb93a386Sopenharmony_ciOpBranchConditional %66 %67 %68 209cb93a386Sopenharmony_ci%67 = OpLabel 210cb93a386Sopenharmony_ci%69 = OpLoad %v4float %expectedA 211cb93a386Sopenharmony_ci%70 = OpCompositeExtract %float %69 0 212cb93a386Sopenharmony_ci%71 = OpFOrdEqual %bool %float_0 %70 213cb93a386Sopenharmony_ciOpBranch %68 214cb93a386Sopenharmony_ci%68 = OpLabel 215cb93a386Sopenharmony_ci%72 = OpPhi %bool %false %61 %71 %67 216cb93a386Sopenharmony_ciOpSelectionMerge %74 None 217cb93a386Sopenharmony_ciOpBranchConditional %72 %73 %74 218cb93a386Sopenharmony_ci%73 = OpLabel 219cb93a386Sopenharmony_ci%75 = OpLoad %v4float %expectedA 220cb93a386Sopenharmony_ci%76 = OpVectorShuffle %v2float %75 %75 0 1 221cb93a386Sopenharmony_ci%77 = OpFOrdEqual %v2bool %19 %76 222cb93a386Sopenharmony_ci%78 = OpAll %bool %77 223cb93a386Sopenharmony_ciOpBranch %74 224cb93a386Sopenharmony_ci%74 = OpLabel 225cb93a386Sopenharmony_ci%79 = OpPhi %bool %false %68 %78 %73 226cb93a386Sopenharmony_ciOpSelectionMerge %81 None 227cb93a386Sopenharmony_ciOpBranchConditional %79 %80 %81 228cb93a386Sopenharmony_ci%80 = OpLabel 229cb93a386Sopenharmony_ci%82 = OpLoad %v4float %expectedA 230cb93a386Sopenharmony_ci%83 = OpVectorShuffle %v3float %82 %82 0 1 2 231cb93a386Sopenharmony_ci%84 = OpFOrdEqual %v3bool %53 %83 232cb93a386Sopenharmony_ci%85 = OpAll %bool %84 233cb93a386Sopenharmony_ciOpBranch %81 234cb93a386Sopenharmony_ci%81 = OpLabel 235cb93a386Sopenharmony_ci%86 = OpPhi %bool %false %74 %85 %80 236cb93a386Sopenharmony_ciOpSelectionMerge %88 None 237cb93a386Sopenharmony_ciOpBranchConditional %86 %87 %88 238cb93a386Sopenharmony_ci%87 = OpLabel 239cb93a386Sopenharmony_ci%89 = OpLoad %v4float %expectedA 240cb93a386Sopenharmony_ci%90 = OpFOrdEqual %v4bool %35 %89 241cb93a386Sopenharmony_ci%91 = OpAll %bool %90 242cb93a386Sopenharmony_ciOpBranch %88 243cb93a386Sopenharmony_ci%88 = OpLabel 244cb93a386Sopenharmony_ci%92 = OpPhi %bool %false %81 %91 %87 245cb93a386Sopenharmony_ciOpSelectionMerge %94 None 246cb93a386Sopenharmony_ciOpBranchConditional %92 %93 %94 247cb93a386Sopenharmony_ci%93 = OpLabel 248cb93a386Sopenharmony_ci%96 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 249cb93a386Sopenharmony_ci%100 = OpLoad %v4float %96 250cb93a386Sopenharmony_ci%101 = OpCompositeExtract %float %100 1 251cb93a386Sopenharmony_ci%102 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 252cb93a386Sopenharmony_ci%104 = OpLoad %v4float %102 253cb93a386Sopenharmony_ci%105 = OpCompositeExtract %float %104 1 254cb93a386Sopenharmony_ci%95 = OpExtInst %float %1 SmoothStep %101 %105 %float_n1_25 255cb93a386Sopenharmony_ci%106 = OpLoad %v4float %expectedA 256cb93a386Sopenharmony_ci%107 = OpCompositeExtract %float %106 0 257cb93a386Sopenharmony_ci%108 = OpFOrdEqual %bool %95 %107 258cb93a386Sopenharmony_ciOpBranch %94 259cb93a386Sopenharmony_ci%94 = OpLabel 260cb93a386Sopenharmony_ci%109 = OpPhi %bool %false %88 %108 %93 261cb93a386Sopenharmony_ciOpSelectionMerge %111 None 262cb93a386Sopenharmony_ciOpBranchConditional %109 %110 %111 263cb93a386Sopenharmony_ci%110 = OpLabel 264cb93a386Sopenharmony_ci%113 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 265cb93a386Sopenharmony_ci%114 = OpLoad %v4float %113 266cb93a386Sopenharmony_ci%115 = OpCompositeExtract %float %114 1 267cb93a386Sopenharmony_ci%116 = OpCompositeConstruct %v2float %115 %115 268cb93a386Sopenharmony_ci%117 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 269cb93a386Sopenharmony_ci%118 = OpLoad %v4float %117 270cb93a386Sopenharmony_ci%119 = OpCompositeExtract %float %118 1 271cb93a386Sopenharmony_ci%120 = OpCompositeConstruct %v2float %119 %119 272cb93a386Sopenharmony_ci%112 = OpExtInst %v2float %1 SmoothStep %116 %120 %121 273cb93a386Sopenharmony_ci%122 = OpLoad %v4float %expectedA 274cb93a386Sopenharmony_ci%123 = OpVectorShuffle %v2float %122 %122 0 1 275cb93a386Sopenharmony_ci%124 = OpFOrdEqual %v2bool %112 %123 276cb93a386Sopenharmony_ci%125 = OpAll %bool %124 277cb93a386Sopenharmony_ciOpBranch %111 278cb93a386Sopenharmony_ci%111 = OpLabel 279cb93a386Sopenharmony_ci%126 = OpPhi %bool %false %94 %125 %110 280cb93a386Sopenharmony_ciOpSelectionMerge %128 None 281cb93a386Sopenharmony_ciOpBranchConditional %126 %127 %128 282cb93a386Sopenharmony_ci%127 = OpLabel 283cb93a386Sopenharmony_ci%130 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 284cb93a386Sopenharmony_ci%131 = OpLoad %v4float %130 285cb93a386Sopenharmony_ci%132 = OpCompositeExtract %float %131 1 286cb93a386Sopenharmony_ci%133 = OpCompositeConstruct %v3float %132 %132 %132 287cb93a386Sopenharmony_ci%134 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 288cb93a386Sopenharmony_ci%135 = OpLoad %v4float %134 289cb93a386Sopenharmony_ci%136 = OpCompositeExtract %float %135 1 290cb93a386Sopenharmony_ci%137 = OpCompositeConstruct %v3float %136 %136 %136 291cb93a386Sopenharmony_ci%129 = OpExtInst %v3float %1 SmoothStep %133 %137 %138 292cb93a386Sopenharmony_ci%139 = OpLoad %v4float %expectedA 293cb93a386Sopenharmony_ci%140 = OpVectorShuffle %v3float %139 %139 0 1 2 294cb93a386Sopenharmony_ci%141 = OpFOrdEqual %v3bool %129 %140 295cb93a386Sopenharmony_ci%142 = OpAll %bool %141 296cb93a386Sopenharmony_ciOpBranch %128 297cb93a386Sopenharmony_ci%128 = OpLabel 298cb93a386Sopenharmony_ci%143 = OpPhi %bool %false %111 %142 %127 299cb93a386Sopenharmony_ciOpSelectionMerge %145 None 300cb93a386Sopenharmony_ciOpBranchConditional %143 %144 %145 301cb93a386Sopenharmony_ci%144 = OpLabel 302cb93a386Sopenharmony_ci%147 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 303cb93a386Sopenharmony_ci%148 = OpLoad %v4float %147 304cb93a386Sopenharmony_ci%149 = OpCompositeExtract %float %148 1 305cb93a386Sopenharmony_ci%150 = OpCompositeConstruct %v4float %149 %149 %149 %149 306cb93a386Sopenharmony_ci%151 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 307cb93a386Sopenharmony_ci%152 = OpLoad %v4float %151 308cb93a386Sopenharmony_ci%153 = OpCompositeExtract %float %152 1 309cb93a386Sopenharmony_ci%154 = OpCompositeConstruct %v4float %153 %153 %153 %153 310cb93a386Sopenharmony_ci%155 = OpLoad %v4float %constVal 311cb93a386Sopenharmony_ci%146 = OpExtInst %v4float %1 SmoothStep %150 %154 %155 312cb93a386Sopenharmony_ci%156 = OpLoad %v4float %expectedA 313cb93a386Sopenharmony_ci%157 = OpFOrdEqual %v4bool %146 %156 314cb93a386Sopenharmony_ci%158 = OpAll %bool %157 315cb93a386Sopenharmony_ciOpBranch %145 316cb93a386Sopenharmony_ci%145 = OpLabel 317cb93a386Sopenharmony_ci%159 = OpPhi %bool %false %128 %158 %144 318cb93a386Sopenharmony_ciOpSelectionMerge %161 None 319cb93a386Sopenharmony_ciOpBranchConditional %159 %160 %161 320cb93a386Sopenharmony_ci%160 = OpLabel 321cb93a386Sopenharmony_ci%162 = OpLoad %v4float %expectedB 322cb93a386Sopenharmony_ci%163 = OpCompositeExtract %float %162 0 323cb93a386Sopenharmony_ci%164 = OpFOrdEqual %bool %float_1 %163 324cb93a386Sopenharmony_ciOpBranch %161 325cb93a386Sopenharmony_ci%161 = OpLabel 326cb93a386Sopenharmony_ci%165 = OpPhi %bool %false %145 %164 %160 327cb93a386Sopenharmony_ciOpSelectionMerge %167 None 328cb93a386Sopenharmony_ciOpBranchConditional %165 %166 %167 329cb93a386Sopenharmony_ci%166 = OpLabel 330cb93a386Sopenharmony_ci%169 = OpLoad %v4float %expectedB 331cb93a386Sopenharmony_ci%170 = OpVectorShuffle %v2float %169 %169 0 1 332cb93a386Sopenharmony_ci%171 = OpFOrdEqual %v2bool %168 %170 333cb93a386Sopenharmony_ci%172 = OpAll %bool %171 334cb93a386Sopenharmony_ciOpBranch %167 335cb93a386Sopenharmony_ci%167 = OpLabel 336cb93a386Sopenharmony_ci%173 = OpPhi %bool %false %161 %172 %166 337cb93a386Sopenharmony_ciOpSelectionMerge %175 None 338cb93a386Sopenharmony_ciOpBranchConditional %173 %174 %175 339cb93a386Sopenharmony_ci%174 = OpLabel 340cb93a386Sopenharmony_ci%177 = OpLoad %v4float %expectedB 341cb93a386Sopenharmony_ci%178 = OpVectorShuffle %v3float %177 %177 0 1 2 342cb93a386Sopenharmony_ci%179 = OpFOrdEqual %v3bool %176 %178 343cb93a386Sopenharmony_ci%180 = OpAll %bool %179 344cb93a386Sopenharmony_ciOpBranch %175 345cb93a386Sopenharmony_ci%175 = OpLabel 346cb93a386Sopenharmony_ci%181 = OpPhi %bool %false %167 %180 %174 347cb93a386Sopenharmony_ciOpSelectionMerge %183 None 348cb93a386Sopenharmony_ciOpBranchConditional %181 %182 %183 349cb93a386Sopenharmony_ci%182 = OpLabel 350cb93a386Sopenharmony_ci%184 = OpLoad %v4float %expectedB 351cb93a386Sopenharmony_ci%185 = OpFOrdEqual %v4bool %37 %184 352cb93a386Sopenharmony_ci%186 = OpAll %bool %185 353cb93a386Sopenharmony_ciOpBranch %183 354cb93a386Sopenharmony_ci%183 = OpLabel 355cb93a386Sopenharmony_ci%187 = OpPhi %bool %false %175 %186 %182 356cb93a386Sopenharmony_ciOpSelectionMerge %189 None 357cb93a386Sopenharmony_ciOpBranchConditional %187 %188 %189 358cb93a386Sopenharmony_ci%188 = OpLabel 359cb93a386Sopenharmony_ci%191 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 360cb93a386Sopenharmony_ci%192 = OpLoad %v4float %191 361cb93a386Sopenharmony_ci%193 = OpCompositeExtract %float %192 0 362cb93a386Sopenharmony_ci%194 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 363cb93a386Sopenharmony_ci%195 = OpLoad %v4float %194 364cb93a386Sopenharmony_ci%196 = OpCompositeExtract %float %195 0 365cb93a386Sopenharmony_ci%190 = OpExtInst %float %1 SmoothStep %193 %196 %float_n1_25 366cb93a386Sopenharmony_ci%197 = OpLoad %v4float %expectedB 367cb93a386Sopenharmony_ci%198 = OpCompositeExtract %float %197 0 368cb93a386Sopenharmony_ci%199 = OpFOrdEqual %bool %190 %198 369cb93a386Sopenharmony_ciOpBranch %189 370cb93a386Sopenharmony_ci%189 = OpLabel 371cb93a386Sopenharmony_ci%200 = OpPhi %bool %false %183 %199 %188 372cb93a386Sopenharmony_ciOpSelectionMerge %202 None 373cb93a386Sopenharmony_ciOpBranchConditional %200 %201 %202 374cb93a386Sopenharmony_ci%201 = OpLabel 375cb93a386Sopenharmony_ci%204 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 376cb93a386Sopenharmony_ci%205 = OpLoad %v4float %204 377cb93a386Sopenharmony_ci%206 = OpVectorShuffle %v2float %205 %205 0 1 378cb93a386Sopenharmony_ci%207 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 379cb93a386Sopenharmony_ci%208 = OpLoad %v4float %207 380cb93a386Sopenharmony_ci%209 = OpVectorShuffle %v2float %208 %208 0 1 381cb93a386Sopenharmony_ci%203 = OpExtInst %v2float %1 SmoothStep %206 %209 %121 382cb93a386Sopenharmony_ci%210 = OpLoad %v4float %expectedB 383cb93a386Sopenharmony_ci%211 = OpVectorShuffle %v2float %210 %210 0 1 384cb93a386Sopenharmony_ci%212 = OpFOrdEqual %v2bool %203 %211 385cb93a386Sopenharmony_ci%213 = OpAll %bool %212 386cb93a386Sopenharmony_ciOpBranch %202 387cb93a386Sopenharmony_ci%202 = OpLabel 388cb93a386Sopenharmony_ci%214 = OpPhi %bool %false %189 %213 %201 389cb93a386Sopenharmony_ciOpSelectionMerge %216 None 390cb93a386Sopenharmony_ciOpBranchConditional %214 %215 %216 391cb93a386Sopenharmony_ci%215 = OpLabel 392cb93a386Sopenharmony_ci%218 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 393cb93a386Sopenharmony_ci%219 = OpLoad %v4float %218 394cb93a386Sopenharmony_ci%220 = OpVectorShuffle %v3float %219 %219 0 1 2 395cb93a386Sopenharmony_ci%221 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 396cb93a386Sopenharmony_ci%222 = OpLoad %v4float %221 397cb93a386Sopenharmony_ci%223 = OpVectorShuffle %v3float %222 %222 0 1 2 398cb93a386Sopenharmony_ci%217 = OpExtInst %v3float %1 SmoothStep %220 %223 %138 399cb93a386Sopenharmony_ci%224 = OpLoad %v4float %expectedB 400cb93a386Sopenharmony_ci%225 = OpVectorShuffle %v3float %224 %224 0 1 2 401cb93a386Sopenharmony_ci%226 = OpFOrdEqual %v3bool %217 %225 402cb93a386Sopenharmony_ci%227 = OpAll %bool %226 403cb93a386Sopenharmony_ciOpBranch %216 404cb93a386Sopenharmony_ci%216 = OpLabel 405cb93a386Sopenharmony_ci%228 = OpPhi %bool %false %202 %227 %215 406cb93a386Sopenharmony_ciOpSelectionMerge %230 None 407cb93a386Sopenharmony_ciOpBranchConditional %228 %229 %230 408cb93a386Sopenharmony_ci%229 = OpLabel 409cb93a386Sopenharmony_ci%232 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 410cb93a386Sopenharmony_ci%233 = OpLoad %v4float %232 411cb93a386Sopenharmony_ci%234 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 412cb93a386Sopenharmony_ci%235 = OpLoad %v4float %234 413cb93a386Sopenharmony_ci%236 = OpLoad %v4float %constVal 414cb93a386Sopenharmony_ci%231 = OpExtInst %v4float %1 SmoothStep %233 %235 %236 415cb93a386Sopenharmony_ci%237 = OpLoad %v4float %expectedB 416cb93a386Sopenharmony_ci%238 = OpFOrdEqual %v4bool %231 %237 417cb93a386Sopenharmony_ci%239 = OpAll %bool %238 418cb93a386Sopenharmony_ciOpBranch %230 419cb93a386Sopenharmony_ci%230 = OpLabel 420cb93a386Sopenharmony_ci%240 = OpPhi %bool %false %216 %239 %229 421cb93a386Sopenharmony_ciOpSelectionMerge %244 None 422cb93a386Sopenharmony_ciOpBranchConditional %240 %242 %243 423cb93a386Sopenharmony_ci%242 = OpLabel 424cb93a386Sopenharmony_ci%245 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1 425cb93a386Sopenharmony_ci%246 = OpLoad %v4float %245 426cb93a386Sopenharmony_ciOpStore %241 %246 427cb93a386Sopenharmony_ciOpBranch %244 428cb93a386Sopenharmony_ci%243 = OpLabel 429cb93a386Sopenharmony_ci%247 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2 430cb93a386Sopenharmony_ci%248 = OpLoad %v4float %247 431cb93a386Sopenharmony_ciOpStore %241 %248 432cb93a386Sopenharmony_ciOpBranch %244 433cb93a386Sopenharmony_ci%244 = OpLabel 434cb93a386Sopenharmony_ci%249 = OpLoad %v4float %241 435cb93a386Sopenharmony_ciOpReturnValue %249 436cb93a386Sopenharmony_ciOpFunctionEnd 437