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 "colorGreen" 10cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 1 "colorRed" 11cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 2 "colorWhite" 12cb93a386Sopenharmony_ciOpName %_entrypoint_v "_entrypoint_v" 13cb93a386Sopenharmony_ciOpName %out_half_vh "out_half_vh" 14cb93a386Sopenharmony_ciOpName %out_half2_vh2 "out_half2_vh2" 15cb93a386Sopenharmony_ciOpName %out_half3_vh3 "out_half3_vh3" 16cb93a386Sopenharmony_ciOpName %out_half4_vh4 "out_half4_vh4" 17cb93a386Sopenharmony_ciOpName %out_half2x2_vh22 "out_half2x2_vh22" 18cb93a386Sopenharmony_ciOpName %out_half3x3_vh33 "out_half3x3_vh33" 19cb93a386Sopenharmony_ciOpName %out_half4x4_vh44 "out_half4x4_vh44" 20cb93a386Sopenharmony_ciOpName %out_int_vi "out_int_vi" 21cb93a386Sopenharmony_ciOpName %out_int2_vi2 "out_int2_vi2" 22cb93a386Sopenharmony_ciOpName %out_int3_vi3 "out_int3_vi3" 23cb93a386Sopenharmony_ciOpName %out_int4_vi4 "out_int4_vi4" 24cb93a386Sopenharmony_ciOpName %out_float_vf "out_float_vf" 25cb93a386Sopenharmony_ciOpName %out_float2_vf2 "out_float2_vf2" 26cb93a386Sopenharmony_ciOpName %out_float3_vf3 "out_float3_vf3" 27cb93a386Sopenharmony_ciOpName %out_float4_vf4 "out_float4_vf4" 28cb93a386Sopenharmony_ciOpName %out_float2x2_vf22 "out_float2x2_vf22" 29cb93a386Sopenharmony_ciOpName %out_float3x3_vf33 "out_float3x3_vf33" 30cb93a386Sopenharmony_ciOpName %out_float4x4_vf44 "out_float4x4_vf44" 31cb93a386Sopenharmony_ciOpName %out_bool_vb "out_bool_vb" 32cb93a386Sopenharmony_ciOpName %out_bool2_vb2 "out_bool2_vb2" 33cb93a386Sopenharmony_ciOpName %out_bool3_vb3 "out_bool3_vb3" 34cb93a386Sopenharmony_ciOpName %out_bool4_vb4 "out_bool4_vb4" 35cb93a386Sopenharmony_ciOpName %main "main" 36cb93a386Sopenharmony_ciOpName %h "h" 37cb93a386Sopenharmony_ciOpName %h2 "h2" 38cb93a386Sopenharmony_ciOpName %h3 "h3" 39cb93a386Sopenharmony_ciOpName %h4 "h4" 40cb93a386Sopenharmony_ciOpName %h2x2 "h2x2" 41cb93a386Sopenharmony_ciOpName %h3x3 "h3x3" 42cb93a386Sopenharmony_ciOpName %h4x4 "h4x4" 43cb93a386Sopenharmony_ciOpName %i "i" 44cb93a386Sopenharmony_ciOpName %i2 "i2" 45cb93a386Sopenharmony_ciOpName %i3 "i3" 46cb93a386Sopenharmony_ciOpName %i4 "i4" 47cb93a386Sopenharmony_ciOpName %f "f" 48cb93a386Sopenharmony_ciOpName %f2 "f2" 49cb93a386Sopenharmony_ciOpName %f3 "f3" 50cb93a386Sopenharmony_ciOpName %f4 "f4" 51cb93a386Sopenharmony_ciOpName %f2x2 "f2x2" 52cb93a386Sopenharmony_ciOpName %f3x3 "f3x3" 53cb93a386Sopenharmony_ciOpName %f4x4 "f4x4" 54cb93a386Sopenharmony_ciOpName %b "b" 55cb93a386Sopenharmony_ciOpName %b2 "b2" 56cb93a386Sopenharmony_ciOpName %b3 "b3" 57cb93a386Sopenharmony_ciOpName %b4 "b4" 58cb93a386Sopenharmony_ciOpName %ok "ok" 59cb93a386Sopenharmony_ciOpDecorate %sk_FragColor RelaxedPrecision 60cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Location 0 61cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Index 0 62cb93a386Sopenharmony_ciOpDecorate %sk_Clockwise BuiltIn FrontFacing 63cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 Offset 0 64cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 65cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 Offset 16 66cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 RelaxedPrecision 67cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 Offset 32 68cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 RelaxedPrecision 69cb93a386Sopenharmony_ciOpDecorate %_UniformBuffer Block 70cb93a386Sopenharmony_ciOpDecorate %32 Binding 0 71cb93a386Sopenharmony_ciOpDecorate %32 DescriptorSet 0 72cb93a386Sopenharmony_ciOpDecorate %53 RelaxedPrecision 73cb93a386Sopenharmony_ciOpDecorate %54 RelaxedPrecision 74cb93a386Sopenharmony_ciOpDecorate %59 RelaxedPrecision 75cb93a386Sopenharmony_ciOpDecorate %60 RelaxedPrecision 76cb93a386Sopenharmony_ciOpDecorate %61 RelaxedPrecision 77cb93a386Sopenharmony_ciOpDecorate %68 RelaxedPrecision 78cb93a386Sopenharmony_ciOpDecorate %69 RelaxedPrecision 79cb93a386Sopenharmony_ciOpDecorate %70 RelaxedPrecision 80cb93a386Sopenharmony_ciOpDecorate %76 RelaxedPrecision 81cb93a386Sopenharmony_ciOpDecorate %77 RelaxedPrecision 82cb93a386Sopenharmony_ciOpDecorate %78 RelaxedPrecision 83cb93a386Sopenharmony_ciOpDecorate %85 RelaxedPrecision 84cb93a386Sopenharmony_ciOpDecorate %86 RelaxedPrecision 85cb93a386Sopenharmony_ciOpDecorate %87 RelaxedPrecision 86cb93a386Sopenharmony_ciOpDecorate %88 RelaxedPrecision 87cb93a386Sopenharmony_ciOpDecorate %89 RelaxedPrecision 88cb93a386Sopenharmony_ciOpDecorate %96 RelaxedPrecision 89cb93a386Sopenharmony_ciOpDecorate %97 RelaxedPrecision 90cb93a386Sopenharmony_ciOpDecorate %98 RelaxedPrecision 91cb93a386Sopenharmony_ciOpDecorate %99 RelaxedPrecision 92cb93a386Sopenharmony_ciOpDecorate %100 RelaxedPrecision 93cb93a386Sopenharmony_ciOpDecorate %101 RelaxedPrecision 94cb93a386Sopenharmony_ciOpDecorate %108 RelaxedPrecision 95cb93a386Sopenharmony_ciOpDecorate %109 RelaxedPrecision 96cb93a386Sopenharmony_ciOpDecorate %110 RelaxedPrecision 97cb93a386Sopenharmony_ciOpDecorate %111 RelaxedPrecision 98cb93a386Sopenharmony_ciOpDecorate %112 RelaxedPrecision 99cb93a386Sopenharmony_ciOpDecorate %113 RelaxedPrecision 100cb93a386Sopenharmony_ciOpDecorate %114 RelaxedPrecision 101cb93a386Sopenharmony_ciOpDecorate %120 RelaxedPrecision 102cb93a386Sopenharmony_ciOpDecorate %121 RelaxedPrecision 103cb93a386Sopenharmony_ciOpDecorate %129 RelaxedPrecision 104cb93a386Sopenharmony_ciOpDecorate %130 RelaxedPrecision 105cb93a386Sopenharmony_ciOpDecorate %139 RelaxedPrecision 106cb93a386Sopenharmony_ciOpDecorate %140 RelaxedPrecision 107cb93a386Sopenharmony_ciOpDecorate %149 RelaxedPrecision 108cb93a386Sopenharmony_ciOpDecorate %150 RelaxedPrecision 109cb93a386Sopenharmony_ciOpDecorate %156 RelaxedPrecision 110cb93a386Sopenharmony_ciOpDecorate %157 RelaxedPrecision 111cb93a386Sopenharmony_ciOpDecorate %161 RelaxedPrecision 112cb93a386Sopenharmony_ciOpDecorate %162 RelaxedPrecision 113cb93a386Sopenharmony_ciOpDecorate %167 RelaxedPrecision 114cb93a386Sopenharmony_ciOpDecorate %168 RelaxedPrecision 115cb93a386Sopenharmony_ciOpDecorate %173 RelaxedPrecision 116cb93a386Sopenharmony_ciOpDecorate %174 RelaxedPrecision 117cb93a386Sopenharmony_ciOpDecorate %179 RelaxedPrecision 118cb93a386Sopenharmony_ciOpDecorate %180 RelaxedPrecision 119cb93a386Sopenharmony_ciOpDecorate %187 RelaxedPrecision 120cb93a386Sopenharmony_ciOpDecorate %188 RelaxedPrecision 121cb93a386Sopenharmony_ciOpDecorate %196 RelaxedPrecision 122cb93a386Sopenharmony_ciOpDecorate %197 RelaxedPrecision 123cb93a386Sopenharmony_ciOpDecorate %208 RelaxedPrecision 124cb93a386Sopenharmony_ciOpDecorate %209 RelaxedPrecision 125cb93a386Sopenharmony_ciOpDecorate %217 RelaxedPrecision 126cb93a386Sopenharmony_ciOpDecorate %218 RelaxedPrecision 127cb93a386Sopenharmony_ciOpDecorate %227 RelaxedPrecision 128cb93a386Sopenharmony_ciOpDecorate %228 RelaxedPrecision 129cb93a386Sopenharmony_ciOpDecorate %237 RelaxedPrecision 130cb93a386Sopenharmony_ciOpDecorate %238 RelaxedPrecision 131cb93a386Sopenharmony_ciOpDecorate %h RelaxedPrecision 132cb93a386Sopenharmony_ciOpDecorate %h2 RelaxedPrecision 133cb93a386Sopenharmony_ciOpDecorate %h3 RelaxedPrecision 134cb93a386Sopenharmony_ciOpDecorate %h4 RelaxedPrecision 135cb93a386Sopenharmony_ciOpDecorate %254 RelaxedPrecision 136cb93a386Sopenharmony_ciOpDecorate %256 RelaxedPrecision 137cb93a386Sopenharmony_ciOpDecorate %257 RelaxedPrecision 138cb93a386Sopenharmony_ciOpDecorate %259 RelaxedPrecision 139cb93a386Sopenharmony_ciOpDecorate %260 RelaxedPrecision 140cb93a386Sopenharmony_ciOpDecorate %261 RelaxedPrecision 141cb93a386Sopenharmony_ciOpDecorate %262 RelaxedPrecision 142cb93a386Sopenharmony_ciOpDecorate %264 RelaxedPrecision 143cb93a386Sopenharmony_ciOpDecorate %265 RelaxedPrecision 144cb93a386Sopenharmony_ciOpDecorate %266 RelaxedPrecision 145cb93a386Sopenharmony_ciOpDecorate %h2x2 RelaxedPrecision 146cb93a386Sopenharmony_ciOpDecorate %h3x3 RelaxedPrecision 147cb93a386Sopenharmony_ciOpDecorate %h4x4 RelaxedPrecision 148cb93a386Sopenharmony_ciOpDecorate %274 RelaxedPrecision 149cb93a386Sopenharmony_ciOpDecorate %276 RelaxedPrecision 150cb93a386Sopenharmony_ciOpDecorate %280 RelaxedPrecision 151cb93a386Sopenharmony_ciOpDecorate %282 RelaxedPrecision 152cb93a386Sopenharmony_ciOpDecorate %286 RelaxedPrecision 153cb93a386Sopenharmony_ciOpDecorate %288 RelaxedPrecision 154cb93a386Sopenharmony_ciOpDecorate %354 RelaxedPrecision 155cb93a386Sopenharmony_ciOpDecorate %358 RelaxedPrecision 156cb93a386Sopenharmony_ciOpDecorate %359 RelaxedPrecision 157cb93a386Sopenharmony_ciOpDecorate %360 RelaxedPrecision 158cb93a386Sopenharmony_ciOpDecorate %361 RelaxedPrecision 159cb93a386Sopenharmony_ciOpDecorate %362 RelaxedPrecision 160cb93a386Sopenharmony_ciOpDecorate %363 RelaxedPrecision 161cb93a386Sopenharmony_ciOpDecorate %364 RelaxedPrecision 162cb93a386Sopenharmony_ciOpDecorate %365 RelaxedPrecision 163cb93a386Sopenharmony_ciOpDecorate %366 RelaxedPrecision 164cb93a386Sopenharmony_ciOpDecorate %367 RelaxedPrecision 165cb93a386Sopenharmony_ciOpDecorate %369 RelaxedPrecision 166cb93a386Sopenharmony_ciOpDecorate %370 RelaxedPrecision 167cb93a386Sopenharmony_ciOpDecorate %371 RelaxedPrecision 168cb93a386Sopenharmony_ciOpDecorate %373 RelaxedPrecision 169cb93a386Sopenharmony_ciOpDecorate %374 RelaxedPrecision 170cb93a386Sopenharmony_ciOpDecorate %375 RelaxedPrecision 171cb93a386Sopenharmony_ciOpDecorate %377 RelaxedPrecision 172cb93a386Sopenharmony_ciOpDecorate %378 RelaxedPrecision 173cb93a386Sopenharmony_ciOpDecorate %379 RelaxedPrecision 174cb93a386Sopenharmony_ciOpDecorate %382 RelaxedPrecision 175cb93a386Sopenharmony_ciOpDecorate %409 RelaxedPrecision 176cb93a386Sopenharmony_ciOpDecorate %424 RelaxedPrecision 177cb93a386Sopenharmony_ciOpDecorate %427 RelaxedPrecision 178cb93a386Sopenharmony_ciOpDecorate %430 RelaxedPrecision 179cb93a386Sopenharmony_ciOpDecorate %435 RelaxedPrecision 180cb93a386Sopenharmony_ciOpDecorate %440 RelaxedPrecision 181cb93a386Sopenharmony_ciOpDecorate %444 RelaxedPrecision 182cb93a386Sopenharmony_ciOpDecorate %450 RelaxedPrecision 183cb93a386Sopenharmony_ciOpDecorate %452 RelaxedPrecision 184cb93a386Sopenharmony_ciOpDecorate %453 RelaxedPrecision 185cb93a386Sopenharmony_ci%float = OpTypeFloat 32 186cb93a386Sopenharmony_ci%v4float = OpTypeVector %float 4 187cb93a386Sopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float 188cb93a386Sopenharmony_ci%sk_FragColor = OpVariable %_ptr_Output_v4float Output 189cb93a386Sopenharmony_ci%bool = OpTypeBool 190cb93a386Sopenharmony_ci%_ptr_Input_bool = OpTypePointer Input %bool 191cb93a386Sopenharmony_ci%sk_Clockwise = OpVariable %_ptr_Input_bool Input 192cb93a386Sopenharmony_ci%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float 193cb93a386Sopenharmony_ci%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 194cb93a386Sopenharmony_ci%32 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 195cb93a386Sopenharmony_ci%void = OpTypeVoid 196cb93a386Sopenharmony_ci%37 = OpTypeFunction %void 197cb93a386Sopenharmony_ci%v2float = OpTypeVector %float 2 198cb93a386Sopenharmony_ci%float_0 = OpConstant %float 0 199cb93a386Sopenharmony_ci%41 = OpConstantComposite %v2float %float_0 %float_0 200cb93a386Sopenharmony_ci%_ptr_Function_v2float = OpTypePointer Function %v2float 201cb93a386Sopenharmony_ci%_ptr_Function_float = OpTypePointer Function %float 202cb93a386Sopenharmony_ci%45 = OpTypeFunction %void %_ptr_Function_float 203cb93a386Sopenharmony_ci%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 204cb93a386Sopenharmony_ci%int = OpTypeInt 32 1 205cb93a386Sopenharmony_ci%int_2 = OpConstant %int 2 206cb93a386Sopenharmony_ci%55 = OpTypeFunction %void %_ptr_Function_v2float 207cb93a386Sopenharmony_ci%v3float = OpTypeVector %float 3 208cb93a386Sopenharmony_ci%_ptr_Function_v3float = OpTypePointer Function %v3float 209cb93a386Sopenharmony_ci%63 = OpTypeFunction %void %_ptr_Function_v3float 210cb93a386Sopenharmony_ci%_ptr_Function_v4float = OpTypePointer Function %v4float 211cb93a386Sopenharmony_ci%71 = OpTypeFunction %void %_ptr_Function_v4float 212cb93a386Sopenharmony_ci%mat2v2float = OpTypeMatrix %v2float 2 213cb93a386Sopenharmony_ci%_ptr_Function_mat2v2float = OpTypePointer Function %mat2v2float 214cb93a386Sopenharmony_ci%80 = OpTypeFunction %void %_ptr_Function_mat2v2float 215cb93a386Sopenharmony_ci%mat3v3float = OpTypeMatrix %v3float 3 216cb93a386Sopenharmony_ci%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float 217cb93a386Sopenharmony_ci%91 = OpTypeFunction %void %_ptr_Function_mat3v3float 218cb93a386Sopenharmony_ci%mat4v4float = OpTypeMatrix %v4float 4 219cb93a386Sopenharmony_ci%_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float 220cb93a386Sopenharmony_ci%103 = OpTypeFunction %void %_ptr_Function_mat4v4float 221cb93a386Sopenharmony_ci%_ptr_Function_int = OpTypePointer Function %int 222cb93a386Sopenharmony_ci%115 = OpTypeFunction %void %_ptr_Function_int 223cb93a386Sopenharmony_ci%v2int = OpTypeVector %int 2 224cb93a386Sopenharmony_ci%_ptr_Function_v2int = OpTypePointer Function %v2int 225cb93a386Sopenharmony_ci%124 = OpTypeFunction %void %_ptr_Function_v2int 226cb93a386Sopenharmony_ci%v3int = OpTypeVector %int 3 227cb93a386Sopenharmony_ci%_ptr_Function_v3int = OpTypePointer Function %v3int 228cb93a386Sopenharmony_ci%134 = OpTypeFunction %void %_ptr_Function_v3int 229cb93a386Sopenharmony_ci%v4int = OpTypeVector %int 4 230cb93a386Sopenharmony_ci%_ptr_Function_v4int = OpTypePointer Function %v4int 231cb93a386Sopenharmony_ci%144 = OpTypeFunction %void %_ptr_Function_v4int 232cb93a386Sopenharmony_ci%_ptr_Function_bool = OpTypePointer Function %bool 233cb93a386Sopenharmony_ci%203 = OpTypeFunction %void %_ptr_Function_bool 234cb93a386Sopenharmony_ci%v2bool = OpTypeVector %bool 2 235cb93a386Sopenharmony_ci%_ptr_Function_v2bool = OpTypePointer Function %v2bool 236cb93a386Sopenharmony_ci%212 = OpTypeFunction %void %_ptr_Function_v2bool 237cb93a386Sopenharmony_ci%v3bool = OpTypeVector %bool 3 238cb93a386Sopenharmony_ci%_ptr_Function_v3bool = OpTypePointer Function %v3bool 239cb93a386Sopenharmony_ci%222 = OpTypeFunction %void %_ptr_Function_v3bool 240cb93a386Sopenharmony_ci%v4bool = OpTypeVector %bool 4 241cb93a386Sopenharmony_ci%_ptr_Function_v4bool = OpTypePointer Function %v4bool 242cb93a386Sopenharmony_ci%232 = OpTypeFunction %void %_ptr_Function_v4bool 243cb93a386Sopenharmony_ci%241 = OpTypeFunction %v4float %_ptr_Function_v2float 244cb93a386Sopenharmony_ci%int_1 = OpConstant %int 1 245cb93a386Sopenharmony_ci%int_3 = OpConstant %int 3 246cb93a386Sopenharmony_ci%int_0 = OpConstant %int 0 247cb93a386Sopenharmony_ci%true = OpConstantTrue %bool 248cb93a386Sopenharmony_ci%false = OpConstantFalse %bool 249cb93a386Sopenharmony_ci%float_1 = OpConstant %float 1 250cb93a386Sopenharmony_ci%_entrypoint_v = OpFunction %void None %37 251cb93a386Sopenharmony_ci%38 = OpLabel 252cb93a386Sopenharmony_ci%42 = OpVariable %_ptr_Function_v2float Function 253cb93a386Sopenharmony_ciOpStore %42 %41 254cb93a386Sopenharmony_ci%44 = OpFunctionCall %v4float %main %42 255cb93a386Sopenharmony_ciOpStore %sk_FragColor %44 256cb93a386Sopenharmony_ciOpReturn 257cb93a386Sopenharmony_ciOpFunctionEnd 258cb93a386Sopenharmony_ci%out_half_vh = OpFunction %void None %45 259cb93a386Sopenharmony_ci%47 = OpFunctionParameter %_ptr_Function_float 260cb93a386Sopenharmony_ci%48 = OpLabel 261cb93a386Sopenharmony_ci%49 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 262cb93a386Sopenharmony_ci%53 = OpLoad %v4float %49 263cb93a386Sopenharmony_ci%54 = OpCompositeExtract %float %53 0 264cb93a386Sopenharmony_ciOpStore %47 %54 265cb93a386Sopenharmony_ciOpReturn 266cb93a386Sopenharmony_ciOpFunctionEnd 267cb93a386Sopenharmony_ci%out_half2_vh2 = OpFunction %void None %55 268cb93a386Sopenharmony_ci%56 = OpFunctionParameter %_ptr_Function_v2float 269cb93a386Sopenharmony_ci%57 = OpLabel 270cb93a386Sopenharmony_ci%58 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 271cb93a386Sopenharmony_ci%59 = OpLoad %v4float %58 272cb93a386Sopenharmony_ci%60 = OpCompositeExtract %float %59 1 273cb93a386Sopenharmony_ci%61 = OpCompositeConstruct %v2float %60 %60 274cb93a386Sopenharmony_ciOpStore %56 %61 275cb93a386Sopenharmony_ciOpReturn 276cb93a386Sopenharmony_ciOpFunctionEnd 277cb93a386Sopenharmony_ci%out_half3_vh3 = OpFunction %void None %63 278cb93a386Sopenharmony_ci%65 = OpFunctionParameter %_ptr_Function_v3float 279cb93a386Sopenharmony_ci%66 = OpLabel 280cb93a386Sopenharmony_ci%67 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 281cb93a386Sopenharmony_ci%68 = OpLoad %v4float %67 282cb93a386Sopenharmony_ci%69 = OpCompositeExtract %float %68 2 283cb93a386Sopenharmony_ci%70 = OpCompositeConstruct %v3float %69 %69 %69 284cb93a386Sopenharmony_ciOpStore %65 %70 285cb93a386Sopenharmony_ciOpReturn 286cb93a386Sopenharmony_ciOpFunctionEnd 287cb93a386Sopenharmony_ci%out_half4_vh4 = OpFunction %void None %71 288cb93a386Sopenharmony_ci%73 = OpFunctionParameter %_ptr_Function_v4float 289cb93a386Sopenharmony_ci%74 = OpLabel 290cb93a386Sopenharmony_ci%75 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 291cb93a386Sopenharmony_ci%76 = OpLoad %v4float %75 292cb93a386Sopenharmony_ci%77 = OpCompositeExtract %float %76 3 293cb93a386Sopenharmony_ci%78 = OpCompositeConstruct %v4float %77 %77 %77 %77 294cb93a386Sopenharmony_ciOpStore %73 %78 295cb93a386Sopenharmony_ciOpReturn 296cb93a386Sopenharmony_ciOpFunctionEnd 297cb93a386Sopenharmony_ci%out_half2x2_vh22 = OpFunction %void None %80 298cb93a386Sopenharmony_ci%82 = OpFunctionParameter %_ptr_Function_mat2v2float 299cb93a386Sopenharmony_ci%83 = OpLabel 300cb93a386Sopenharmony_ci%84 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 301cb93a386Sopenharmony_ci%85 = OpLoad %v4float %84 302cb93a386Sopenharmony_ci%86 = OpCompositeExtract %float %85 0 303cb93a386Sopenharmony_ci%88 = OpCompositeConstruct %v2float %86 %float_0 304cb93a386Sopenharmony_ci%89 = OpCompositeConstruct %v2float %float_0 %86 305cb93a386Sopenharmony_ci%87 = OpCompositeConstruct %mat2v2float %88 %89 306cb93a386Sopenharmony_ciOpStore %82 %87 307cb93a386Sopenharmony_ciOpReturn 308cb93a386Sopenharmony_ciOpFunctionEnd 309cb93a386Sopenharmony_ci%out_half3x3_vh33 = OpFunction %void None %91 310cb93a386Sopenharmony_ci%93 = OpFunctionParameter %_ptr_Function_mat3v3float 311cb93a386Sopenharmony_ci%94 = OpLabel 312cb93a386Sopenharmony_ci%95 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 313cb93a386Sopenharmony_ci%96 = OpLoad %v4float %95 314cb93a386Sopenharmony_ci%97 = OpCompositeExtract %float %96 1 315cb93a386Sopenharmony_ci%99 = OpCompositeConstruct %v3float %97 %float_0 %float_0 316cb93a386Sopenharmony_ci%100 = OpCompositeConstruct %v3float %float_0 %97 %float_0 317cb93a386Sopenharmony_ci%101 = OpCompositeConstruct %v3float %float_0 %float_0 %97 318cb93a386Sopenharmony_ci%98 = OpCompositeConstruct %mat3v3float %99 %100 %101 319cb93a386Sopenharmony_ciOpStore %93 %98 320cb93a386Sopenharmony_ciOpReturn 321cb93a386Sopenharmony_ciOpFunctionEnd 322cb93a386Sopenharmony_ci%out_half4x4_vh44 = OpFunction %void None %103 323cb93a386Sopenharmony_ci%105 = OpFunctionParameter %_ptr_Function_mat4v4float 324cb93a386Sopenharmony_ci%106 = OpLabel 325cb93a386Sopenharmony_ci%107 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 326cb93a386Sopenharmony_ci%108 = OpLoad %v4float %107 327cb93a386Sopenharmony_ci%109 = OpCompositeExtract %float %108 2 328cb93a386Sopenharmony_ci%111 = OpCompositeConstruct %v4float %109 %float_0 %float_0 %float_0 329cb93a386Sopenharmony_ci%112 = OpCompositeConstruct %v4float %float_0 %109 %float_0 %float_0 330cb93a386Sopenharmony_ci%113 = OpCompositeConstruct %v4float %float_0 %float_0 %109 %float_0 331cb93a386Sopenharmony_ci%114 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %109 332cb93a386Sopenharmony_ci%110 = OpCompositeConstruct %mat4v4float %111 %112 %113 %114 333cb93a386Sopenharmony_ciOpStore %105 %110 334cb93a386Sopenharmony_ciOpReturn 335cb93a386Sopenharmony_ciOpFunctionEnd 336cb93a386Sopenharmony_ci%out_int_vi = OpFunction %void None %115 337cb93a386Sopenharmony_ci%117 = OpFunctionParameter %_ptr_Function_int 338cb93a386Sopenharmony_ci%118 = OpLabel 339cb93a386Sopenharmony_ci%119 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 340cb93a386Sopenharmony_ci%120 = OpLoad %v4float %119 341cb93a386Sopenharmony_ci%121 = OpCompositeExtract %float %120 0 342cb93a386Sopenharmony_ci%122 = OpConvertFToS %int %121 343cb93a386Sopenharmony_ciOpStore %117 %122 344cb93a386Sopenharmony_ciOpReturn 345cb93a386Sopenharmony_ciOpFunctionEnd 346cb93a386Sopenharmony_ci%out_int2_vi2 = OpFunction %void None %124 347cb93a386Sopenharmony_ci%126 = OpFunctionParameter %_ptr_Function_v2int 348cb93a386Sopenharmony_ci%127 = OpLabel 349cb93a386Sopenharmony_ci%128 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 350cb93a386Sopenharmony_ci%129 = OpLoad %v4float %128 351cb93a386Sopenharmony_ci%130 = OpCompositeExtract %float %129 1 352cb93a386Sopenharmony_ci%131 = OpConvertFToS %int %130 353cb93a386Sopenharmony_ci%132 = OpCompositeConstruct %v2int %131 %131 354cb93a386Sopenharmony_ciOpStore %126 %132 355cb93a386Sopenharmony_ciOpReturn 356cb93a386Sopenharmony_ciOpFunctionEnd 357cb93a386Sopenharmony_ci%out_int3_vi3 = OpFunction %void None %134 358cb93a386Sopenharmony_ci%136 = OpFunctionParameter %_ptr_Function_v3int 359cb93a386Sopenharmony_ci%137 = OpLabel 360cb93a386Sopenharmony_ci%138 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 361cb93a386Sopenharmony_ci%139 = OpLoad %v4float %138 362cb93a386Sopenharmony_ci%140 = OpCompositeExtract %float %139 2 363cb93a386Sopenharmony_ci%141 = OpConvertFToS %int %140 364cb93a386Sopenharmony_ci%142 = OpCompositeConstruct %v3int %141 %141 %141 365cb93a386Sopenharmony_ciOpStore %136 %142 366cb93a386Sopenharmony_ciOpReturn 367cb93a386Sopenharmony_ciOpFunctionEnd 368cb93a386Sopenharmony_ci%out_int4_vi4 = OpFunction %void None %144 369cb93a386Sopenharmony_ci%146 = OpFunctionParameter %_ptr_Function_v4int 370cb93a386Sopenharmony_ci%147 = OpLabel 371cb93a386Sopenharmony_ci%148 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 372cb93a386Sopenharmony_ci%149 = OpLoad %v4float %148 373cb93a386Sopenharmony_ci%150 = OpCompositeExtract %float %149 3 374cb93a386Sopenharmony_ci%151 = OpConvertFToS %int %150 375cb93a386Sopenharmony_ci%152 = OpCompositeConstruct %v4int %151 %151 %151 %151 376cb93a386Sopenharmony_ciOpStore %146 %152 377cb93a386Sopenharmony_ciOpReturn 378cb93a386Sopenharmony_ciOpFunctionEnd 379cb93a386Sopenharmony_ci%out_float_vf = OpFunction %void None %45 380cb93a386Sopenharmony_ci%153 = OpFunctionParameter %_ptr_Function_float 381cb93a386Sopenharmony_ci%154 = OpLabel 382cb93a386Sopenharmony_ci%155 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 383cb93a386Sopenharmony_ci%156 = OpLoad %v4float %155 384cb93a386Sopenharmony_ci%157 = OpCompositeExtract %float %156 0 385cb93a386Sopenharmony_ciOpStore %153 %157 386cb93a386Sopenharmony_ciOpReturn 387cb93a386Sopenharmony_ciOpFunctionEnd 388cb93a386Sopenharmony_ci%out_float2_vf2 = OpFunction %void None %55 389cb93a386Sopenharmony_ci%158 = OpFunctionParameter %_ptr_Function_v2float 390cb93a386Sopenharmony_ci%159 = OpLabel 391cb93a386Sopenharmony_ci%160 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 392cb93a386Sopenharmony_ci%161 = OpLoad %v4float %160 393cb93a386Sopenharmony_ci%162 = OpCompositeExtract %float %161 1 394cb93a386Sopenharmony_ci%163 = OpCompositeConstruct %v2float %162 %162 395cb93a386Sopenharmony_ciOpStore %158 %163 396cb93a386Sopenharmony_ciOpReturn 397cb93a386Sopenharmony_ciOpFunctionEnd 398cb93a386Sopenharmony_ci%out_float3_vf3 = OpFunction %void None %63 399cb93a386Sopenharmony_ci%164 = OpFunctionParameter %_ptr_Function_v3float 400cb93a386Sopenharmony_ci%165 = OpLabel 401cb93a386Sopenharmony_ci%166 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 402cb93a386Sopenharmony_ci%167 = OpLoad %v4float %166 403cb93a386Sopenharmony_ci%168 = OpCompositeExtract %float %167 2 404cb93a386Sopenharmony_ci%169 = OpCompositeConstruct %v3float %168 %168 %168 405cb93a386Sopenharmony_ciOpStore %164 %169 406cb93a386Sopenharmony_ciOpReturn 407cb93a386Sopenharmony_ciOpFunctionEnd 408cb93a386Sopenharmony_ci%out_float4_vf4 = OpFunction %void None %71 409cb93a386Sopenharmony_ci%170 = OpFunctionParameter %_ptr_Function_v4float 410cb93a386Sopenharmony_ci%171 = OpLabel 411cb93a386Sopenharmony_ci%172 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 412cb93a386Sopenharmony_ci%173 = OpLoad %v4float %172 413cb93a386Sopenharmony_ci%174 = OpCompositeExtract %float %173 3 414cb93a386Sopenharmony_ci%175 = OpCompositeConstruct %v4float %174 %174 %174 %174 415cb93a386Sopenharmony_ciOpStore %170 %175 416cb93a386Sopenharmony_ciOpReturn 417cb93a386Sopenharmony_ciOpFunctionEnd 418cb93a386Sopenharmony_ci%out_float2x2_vf22 = OpFunction %void None %80 419cb93a386Sopenharmony_ci%176 = OpFunctionParameter %_ptr_Function_mat2v2float 420cb93a386Sopenharmony_ci%177 = OpLabel 421cb93a386Sopenharmony_ci%178 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 422cb93a386Sopenharmony_ci%179 = OpLoad %v4float %178 423cb93a386Sopenharmony_ci%180 = OpCompositeExtract %float %179 0 424cb93a386Sopenharmony_ci%182 = OpCompositeConstruct %v2float %180 %float_0 425cb93a386Sopenharmony_ci%183 = OpCompositeConstruct %v2float %float_0 %180 426cb93a386Sopenharmony_ci%181 = OpCompositeConstruct %mat2v2float %182 %183 427cb93a386Sopenharmony_ciOpStore %176 %181 428cb93a386Sopenharmony_ciOpReturn 429cb93a386Sopenharmony_ciOpFunctionEnd 430cb93a386Sopenharmony_ci%out_float3x3_vf33 = OpFunction %void None %91 431cb93a386Sopenharmony_ci%184 = OpFunctionParameter %_ptr_Function_mat3v3float 432cb93a386Sopenharmony_ci%185 = OpLabel 433cb93a386Sopenharmony_ci%186 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 434cb93a386Sopenharmony_ci%187 = OpLoad %v4float %186 435cb93a386Sopenharmony_ci%188 = OpCompositeExtract %float %187 1 436cb93a386Sopenharmony_ci%190 = OpCompositeConstruct %v3float %188 %float_0 %float_0 437cb93a386Sopenharmony_ci%191 = OpCompositeConstruct %v3float %float_0 %188 %float_0 438cb93a386Sopenharmony_ci%192 = OpCompositeConstruct %v3float %float_0 %float_0 %188 439cb93a386Sopenharmony_ci%189 = OpCompositeConstruct %mat3v3float %190 %191 %192 440cb93a386Sopenharmony_ciOpStore %184 %189 441cb93a386Sopenharmony_ciOpReturn 442cb93a386Sopenharmony_ciOpFunctionEnd 443cb93a386Sopenharmony_ci%out_float4x4_vf44 = OpFunction %void None %103 444cb93a386Sopenharmony_ci%193 = OpFunctionParameter %_ptr_Function_mat4v4float 445cb93a386Sopenharmony_ci%194 = OpLabel 446cb93a386Sopenharmony_ci%195 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 447cb93a386Sopenharmony_ci%196 = OpLoad %v4float %195 448cb93a386Sopenharmony_ci%197 = OpCompositeExtract %float %196 2 449cb93a386Sopenharmony_ci%199 = OpCompositeConstruct %v4float %197 %float_0 %float_0 %float_0 450cb93a386Sopenharmony_ci%200 = OpCompositeConstruct %v4float %float_0 %197 %float_0 %float_0 451cb93a386Sopenharmony_ci%201 = OpCompositeConstruct %v4float %float_0 %float_0 %197 %float_0 452cb93a386Sopenharmony_ci%202 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %197 453cb93a386Sopenharmony_ci%198 = OpCompositeConstruct %mat4v4float %199 %200 %201 %202 454cb93a386Sopenharmony_ciOpStore %193 %198 455cb93a386Sopenharmony_ciOpReturn 456cb93a386Sopenharmony_ciOpFunctionEnd 457cb93a386Sopenharmony_ci%out_bool_vb = OpFunction %void None %203 458cb93a386Sopenharmony_ci%205 = OpFunctionParameter %_ptr_Function_bool 459cb93a386Sopenharmony_ci%206 = OpLabel 460cb93a386Sopenharmony_ci%207 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 461cb93a386Sopenharmony_ci%208 = OpLoad %v4float %207 462cb93a386Sopenharmony_ci%209 = OpCompositeExtract %float %208 0 463cb93a386Sopenharmony_ci%210 = OpFUnordNotEqual %bool %209 %float_0 464cb93a386Sopenharmony_ciOpStore %205 %210 465cb93a386Sopenharmony_ciOpReturn 466cb93a386Sopenharmony_ciOpFunctionEnd 467cb93a386Sopenharmony_ci%out_bool2_vb2 = OpFunction %void None %212 468cb93a386Sopenharmony_ci%214 = OpFunctionParameter %_ptr_Function_v2bool 469cb93a386Sopenharmony_ci%215 = OpLabel 470cb93a386Sopenharmony_ci%216 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 471cb93a386Sopenharmony_ci%217 = OpLoad %v4float %216 472cb93a386Sopenharmony_ci%218 = OpCompositeExtract %float %217 1 473cb93a386Sopenharmony_ci%219 = OpFUnordNotEqual %bool %218 %float_0 474cb93a386Sopenharmony_ci%220 = OpCompositeConstruct %v2bool %219 %219 475cb93a386Sopenharmony_ciOpStore %214 %220 476cb93a386Sopenharmony_ciOpReturn 477cb93a386Sopenharmony_ciOpFunctionEnd 478cb93a386Sopenharmony_ci%out_bool3_vb3 = OpFunction %void None %222 479cb93a386Sopenharmony_ci%224 = OpFunctionParameter %_ptr_Function_v3bool 480cb93a386Sopenharmony_ci%225 = OpLabel 481cb93a386Sopenharmony_ci%226 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 482cb93a386Sopenharmony_ci%227 = OpLoad %v4float %226 483cb93a386Sopenharmony_ci%228 = OpCompositeExtract %float %227 2 484cb93a386Sopenharmony_ci%229 = OpFUnordNotEqual %bool %228 %float_0 485cb93a386Sopenharmony_ci%230 = OpCompositeConstruct %v3bool %229 %229 %229 486cb93a386Sopenharmony_ciOpStore %224 %230 487cb93a386Sopenharmony_ciOpReturn 488cb93a386Sopenharmony_ciOpFunctionEnd 489cb93a386Sopenharmony_ci%out_bool4_vb4 = OpFunction %void None %232 490cb93a386Sopenharmony_ci%234 = OpFunctionParameter %_ptr_Function_v4bool 491cb93a386Sopenharmony_ci%235 = OpLabel 492cb93a386Sopenharmony_ci%236 = OpAccessChain %_ptr_Uniform_v4float %32 %int_2 493cb93a386Sopenharmony_ci%237 = OpLoad %v4float %236 494cb93a386Sopenharmony_ci%238 = OpCompositeExtract %float %237 3 495cb93a386Sopenharmony_ci%239 = OpFUnordNotEqual %bool %238 %float_0 496cb93a386Sopenharmony_ci%240 = OpCompositeConstruct %v4bool %239 %239 %239 %239 497cb93a386Sopenharmony_ciOpStore %234 %240 498cb93a386Sopenharmony_ciOpReturn 499cb93a386Sopenharmony_ciOpFunctionEnd 500cb93a386Sopenharmony_ci%main = OpFunction %v4float None %241 501cb93a386Sopenharmony_ci%242 = OpFunctionParameter %_ptr_Function_v2float 502cb93a386Sopenharmony_ci%243 = OpLabel 503cb93a386Sopenharmony_ci%h = OpVariable %_ptr_Function_float Function 504cb93a386Sopenharmony_ci%h2 = OpVariable %_ptr_Function_v2float Function 505cb93a386Sopenharmony_ci%h3 = OpVariable %_ptr_Function_v3float Function 506cb93a386Sopenharmony_ci%h4 = OpVariable %_ptr_Function_v4float Function 507cb93a386Sopenharmony_ci%254 = OpVariable %_ptr_Function_float Function 508cb93a386Sopenharmony_ci%257 = OpVariable %_ptr_Function_v2float Function 509cb93a386Sopenharmony_ci%262 = OpVariable %_ptr_Function_v4float Function 510cb93a386Sopenharmony_ci%h2x2 = OpVariable %_ptr_Function_mat2v2float Function 511cb93a386Sopenharmony_ci%h3x3 = OpVariable %_ptr_Function_mat3v3float Function 512cb93a386Sopenharmony_ci%h4x4 = OpVariable %_ptr_Function_mat4v4float Function 513cb93a386Sopenharmony_ci%274 = OpVariable %_ptr_Function_v3float Function 514cb93a386Sopenharmony_ci%280 = OpVariable %_ptr_Function_float Function 515cb93a386Sopenharmony_ci%286 = OpVariable %_ptr_Function_float Function 516cb93a386Sopenharmony_ci%i = OpVariable %_ptr_Function_int Function 517cb93a386Sopenharmony_ci%i2 = OpVariable %_ptr_Function_v2int Function 518cb93a386Sopenharmony_ci%i3 = OpVariable %_ptr_Function_v3int Function 519cb93a386Sopenharmony_ci%i4 = OpVariable %_ptr_Function_v4int Function 520cb93a386Sopenharmony_ci%297 = OpVariable %_ptr_Function_v3int Function 521cb93a386Sopenharmony_ci%303 = OpVariable %_ptr_Function_int Function 522cb93a386Sopenharmony_ci%f = OpVariable %_ptr_Function_float Function 523cb93a386Sopenharmony_ci%f2 = OpVariable %_ptr_Function_v2float Function 524cb93a386Sopenharmony_ci%f3 = OpVariable %_ptr_Function_v3float Function 525cb93a386Sopenharmony_ci%f4 = OpVariable %_ptr_Function_v4float Function 526cb93a386Sopenharmony_ci%314 = OpVariable %_ptr_Function_v2float Function 527cb93a386Sopenharmony_ci%320 = OpVariable %_ptr_Function_float Function 528cb93a386Sopenharmony_ci%f2x2 = OpVariable %_ptr_Function_mat2v2float Function 529cb93a386Sopenharmony_ci%f3x3 = OpVariable %_ptr_Function_mat3v3float Function 530cb93a386Sopenharmony_ci%f4x4 = OpVariable %_ptr_Function_mat4v4float Function 531cb93a386Sopenharmony_ci%331 = OpVariable %_ptr_Function_float Function 532cb93a386Sopenharmony_ci%b = OpVariable %_ptr_Function_bool Function 533cb93a386Sopenharmony_ci%b2 = OpVariable %_ptr_Function_v2bool Function 534cb93a386Sopenharmony_ci%b3 = OpVariable %_ptr_Function_v3bool Function 535cb93a386Sopenharmony_ci%b4 = OpVariable %_ptr_Function_v4bool Function 536cb93a386Sopenharmony_ci%342 = OpVariable %_ptr_Function_v2bool Function 537cb93a386Sopenharmony_ci%348 = OpVariable %_ptr_Function_bool Function 538cb93a386Sopenharmony_ci%ok = OpVariable %_ptr_Function_bool Function 539cb93a386Sopenharmony_ci%445 = OpVariable %_ptr_Function_v4float Function 540cb93a386Sopenharmony_ci%245 = OpFunctionCall %void %out_half_vh %h 541cb93a386Sopenharmony_ci%247 = OpFunctionCall %void %out_half2_vh2 %h2 542cb93a386Sopenharmony_ci%249 = OpFunctionCall %void %out_half3_vh3 %h3 543cb93a386Sopenharmony_ci%251 = OpFunctionCall %void %out_half4_vh4 %h4 544cb93a386Sopenharmony_ci%252 = OpAccessChain %_ptr_Function_float %h3 %int_1 545cb93a386Sopenharmony_ci%255 = OpFunctionCall %void %out_half_vh %254 546cb93a386Sopenharmony_ci%256 = OpLoad %float %254 547cb93a386Sopenharmony_ciOpStore %252 %256 548cb93a386Sopenharmony_ci%258 = OpFunctionCall %void %out_half2_vh2 %257 549cb93a386Sopenharmony_ci%259 = OpLoad %v2float %257 550cb93a386Sopenharmony_ci%260 = OpLoad %v3float %h3 551cb93a386Sopenharmony_ci%261 = OpVectorShuffle %v3float %260 %259 3 1 4 552cb93a386Sopenharmony_ciOpStore %h3 %261 553cb93a386Sopenharmony_ci%263 = OpFunctionCall %void %out_half4_vh4 %262 554cb93a386Sopenharmony_ci%264 = OpLoad %v4float %262 555cb93a386Sopenharmony_ci%265 = OpLoad %v4float %h4 556cb93a386Sopenharmony_ci%266 = OpVectorShuffle %v4float %265 %264 6 7 4 5 557cb93a386Sopenharmony_ciOpStore %h4 %266 558cb93a386Sopenharmony_ci%268 = OpFunctionCall %void %out_half2x2_vh22 %h2x2 559cb93a386Sopenharmony_ci%270 = OpFunctionCall %void %out_half3x3_vh33 %h3x3 560cb93a386Sopenharmony_ci%272 = OpFunctionCall %void %out_half4x4_vh44 %h4x4 561cb93a386Sopenharmony_ci%273 = OpAccessChain %_ptr_Function_v3float %h3x3 %int_1 562cb93a386Sopenharmony_ci%275 = OpFunctionCall %void %out_half3_vh3 %274 563cb93a386Sopenharmony_ci%276 = OpLoad %v3float %274 564cb93a386Sopenharmony_ciOpStore %273 %276 565cb93a386Sopenharmony_ci%278 = OpAccessChain %_ptr_Function_v4float %h4x4 %int_3 566cb93a386Sopenharmony_ci%279 = OpAccessChain %_ptr_Function_float %278 %int_3 567cb93a386Sopenharmony_ci%281 = OpFunctionCall %void %out_half_vh %280 568cb93a386Sopenharmony_ci%282 = OpLoad %float %280 569cb93a386Sopenharmony_ciOpStore %279 %282 570cb93a386Sopenharmony_ci%284 = OpAccessChain %_ptr_Function_v2float %h2x2 %int_0 571cb93a386Sopenharmony_ci%285 = OpAccessChain %_ptr_Function_float %284 %int_0 572cb93a386Sopenharmony_ci%287 = OpFunctionCall %void %out_half_vh %286 573cb93a386Sopenharmony_ci%288 = OpLoad %float %286 574cb93a386Sopenharmony_ciOpStore %285 %288 575cb93a386Sopenharmony_ci%290 = OpFunctionCall %void %out_int_vi %i 576cb93a386Sopenharmony_ci%292 = OpFunctionCall %void %out_int2_vi2 %i2 577cb93a386Sopenharmony_ci%294 = OpFunctionCall %void %out_int3_vi3 %i3 578cb93a386Sopenharmony_ci%296 = OpFunctionCall %void %out_int4_vi4 %i4 579cb93a386Sopenharmony_ci%298 = OpFunctionCall %void %out_int3_vi3 %297 580cb93a386Sopenharmony_ci%299 = OpLoad %v3int %297 581cb93a386Sopenharmony_ci%300 = OpLoad %v4int %i4 582cb93a386Sopenharmony_ci%301 = OpVectorShuffle %v4int %300 %299 4 5 6 3 583cb93a386Sopenharmony_ciOpStore %i4 %301 584cb93a386Sopenharmony_ci%302 = OpAccessChain %_ptr_Function_int %i2 %int_1 585cb93a386Sopenharmony_ci%304 = OpFunctionCall %void %out_int_vi %303 586cb93a386Sopenharmony_ci%305 = OpLoad %int %303 587cb93a386Sopenharmony_ciOpStore %302 %305 588cb93a386Sopenharmony_ci%307 = OpFunctionCall %void %out_float_vf %f 589cb93a386Sopenharmony_ci%309 = OpFunctionCall %void %out_float2_vf2 %f2 590cb93a386Sopenharmony_ci%311 = OpFunctionCall %void %out_float3_vf3 %f3 591cb93a386Sopenharmony_ci%313 = OpFunctionCall %void %out_float4_vf4 %f4 592cb93a386Sopenharmony_ci%315 = OpFunctionCall %void %out_float2_vf2 %314 593cb93a386Sopenharmony_ci%316 = OpLoad %v2float %314 594cb93a386Sopenharmony_ci%317 = OpLoad %v3float %f3 595cb93a386Sopenharmony_ci%318 = OpVectorShuffle %v3float %317 %316 3 4 2 596cb93a386Sopenharmony_ciOpStore %f3 %318 597cb93a386Sopenharmony_ci%319 = OpAccessChain %_ptr_Function_float %f2 %int_0 598cb93a386Sopenharmony_ci%321 = OpFunctionCall %void %out_float_vf %320 599cb93a386Sopenharmony_ci%322 = OpLoad %float %320 600cb93a386Sopenharmony_ciOpStore %319 %322 601cb93a386Sopenharmony_ci%324 = OpFunctionCall %void %out_float2x2_vf22 %f2x2 602cb93a386Sopenharmony_ci%326 = OpFunctionCall %void %out_float3x3_vf33 %f3x3 603cb93a386Sopenharmony_ci%328 = OpFunctionCall %void %out_float4x4_vf44 %f4x4 604cb93a386Sopenharmony_ci%329 = OpAccessChain %_ptr_Function_v2float %f2x2 %int_0 605cb93a386Sopenharmony_ci%330 = OpAccessChain %_ptr_Function_float %329 %int_0 606cb93a386Sopenharmony_ci%332 = OpFunctionCall %void %out_float_vf %331 607cb93a386Sopenharmony_ci%333 = OpLoad %float %331 608cb93a386Sopenharmony_ciOpStore %330 %333 609cb93a386Sopenharmony_ci%335 = OpFunctionCall %void %out_bool_vb %b 610cb93a386Sopenharmony_ci%337 = OpFunctionCall %void %out_bool2_vb2 %b2 611cb93a386Sopenharmony_ci%339 = OpFunctionCall %void %out_bool3_vb3 %b3 612cb93a386Sopenharmony_ci%341 = OpFunctionCall %void %out_bool4_vb4 %b4 613cb93a386Sopenharmony_ci%343 = OpFunctionCall %void %out_bool2_vb2 %342 614cb93a386Sopenharmony_ci%344 = OpLoad %v2bool %342 615cb93a386Sopenharmony_ci%345 = OpLoad %v4bool %b4 616cb93a386Sopenharmony_ci%346 = OpVectorShuffle %v4bool %345 %344 4 1 2 5 617cb93a386Sopenharmony_ciOpStore %b4 %346 618cb93a386Sopenharmony_ci%347 = OpAccessChain %_ptr_Function_bool %b3 %int_2 619cb93a386Sopenharmony_ci%349 = OpFunctionCall %void %out_bool_vb %348 620cb93a386Sopenharmony_ci%350 = OpLoad %bool %348 621cb93a386Sopenharmony_ciOpStore %347 %350 622cb93a386Sopenharmony_ciOpStore %ok %true 623cb93a386Sopenharmony_ci%354 = OpLoad %bool %ok 624cb93a386Sopenharmony_ciOpSelectionMerge %356 None 625cb93a386Sopenharmony_ciOpBranchConditional %354 %355 %356 626cb93a386Sopenharmony_ci%355 = OpLabel 627cb93a386Sopenharmony_ci%358 = OpLoad %float %h 628cb93a386Sopenharmony_ci%359 = OpLoad %v2float %h2 629cb93a386Sopenharmony_ci%360 = OpCompositeExtract %float %359 0 630cb93a386Sopenharmony_ci%361 = OpFMul %float %358 %360 631cb93a386Sopenharmony_ci%362 = OpLoad %v3float %h3 632cb93a386Sopenharmony_ci%363 = OpCompositeExtract %float %362 0 633cb93a386Sopenharmony_ci%364 = OpFMul %float %361 %363 634cb93a386Sopenharmony_ci%365 = OpLoad %v4float %h4 635cb93a386Sopenharmony_ci%366 = OpCompositeExtract %float %365 0 636cb93a386Sopenharmony_ci%367 = OpFMul %float %364 %366 637cb93a386Sopenharmony_ci%368 = OpAccessChain %_ptr_Function_v2float %h2x2 %int_0 638cb93a386Sopenharmony_ci%369 = OpLoad %v2float %368 639cb93a386Sopenharmony_ci%370 = OpCompositeExtract %float %369 0 640cb93a386Sopenharmony_ci%371 = OpFMul %float %367 %370 641cb93a386Sopenharmony_ci%372 = OpAccessChain %_ptr_Function_v3float %h3x3 %int_0 642cb93a386Sopenharmony_ci%373 = OpLoad %v3float %372 643cb93a386Sopenharmony_ci%374 = OpCompositeExtract %float %373 0 644cb93a386Sopenharmony_ci%375 = OpFMul %float %371 %374 645cb93a386Sopenharmony_ci%376 = OpAccessChain %_ptr_Function_v4float %h4x4 %int_0 646cb93a386Sopenharmony_ci%377 = OpLoad %v4float %376 647cb93a386Sopenharmony_ci%378 = OpCompositeExtract %float %377 0 648cb93a386Sopenharmony_ci%379 = OpFMul %float %375 %378 649cb93a386Sopenharmony_ci%380 = OpFOrdEqual %bool %float_1 %379 650cb93a386Sopenharmony_ciOpBranch %356 651cb93a386Sopenharmony_ci%356 = OpLabel 652cb93a386Sopenharmony_ci%381 = OpPhi %bool %false %243 %380 %355 653cb93a386Sopenharmony_ciOpStore %ok %381 654cb93a386Sopenharmony_ci%382 = OpLoad %bool %ok 655cb93a386Sopenharmony_ciOpSelectionMerge %384 None 656cb93a386Sopenharmony_ciOpBranchConditional %382 %383 %384 657cb93a386Sopenharmony_ci%383 = OpLabel 658cb93a386Sopenharmony_ci%385 = OpLoad %float %f 659cb93a386Sopenharmony_ci%386 = OpLoad %v2float %f2 660cb93a386Sopenharmony_ci%387 = OpCompositeExtract %float %386 0 661cb93a386Sopenharmony_ci%388 = OpFMul %float %385 %387 662cb93a386Sopenharmony_ci%389 = OpLoad %v3float %f3 663cb93a386Sopenharmony_ci%390 = OpCompositeExtract %float %389 0 664cb93a386Sopenharmony_ci%391 = OpFMul %float %388 %390 665cb93a386Sopenharmony_ci%392 = OpLoad %v4float %f4 666cb93a386Sopenharmony_ci%393 = OpCompositeExtract %float %392 0 667cb93a386Sopenharmony_ci%394 = OpFMul %float %391 %393 668cb93a386Sopenharmony_ci%395 = OpAccessChain %_ptr_Function_v2float %f2x2 %int_0 669cb93a386Sopenharmony_ci%396 = OpLoad %v2float %395 670cb93a386Sopenharmony_ci%397 = OpCompositeExtract %float %396 0 671cb93a386Sopenharmony_ci%398 = OpFMul %float %394 %397 672cb93a386Sopenharmony_ci%399 = OpAccessChain %_ptr_Function_v3float %f3x3 %int_0 673cb93a386Sopenharmony_ci%400 = OpLoad %v3float %399 674cb93a386Sopenharmony_ci%401 = OpCompositeExtract %float %400 0 675cb93a386Sopenharmony_ci%402 = OpFMul %float %398 %401 676cb93a386Sopenharmony_ci%403 = OpAccessChain %_ptr_Function_v4float %f4x4 %int_0 677cb93a386Sopenharmony_ci%404 = OpLoad %v4float %403 678cb93a386Sopenharmony_ci%405 = OpCompositeExtract %float %404 0 679cb93a386Sopenharmony_ci%406 = OpFMul %float %402 %405 680cb93a386Sopenharmony_ci%407 = OpFOrdEqual %bool %float_1 %406 681cb93a386Sopenharmony_ciOpBranch %384 682cb93a386Sopenharmony_ci%384 = OpLabel 683cb93a386Sopenharmony_ci%408 = OpPhi %bool %false %356 %407 %383 684cb93a386Sopenharmony_ciOpStore %ok %408 685cb93a386Sopenharmony_ci%409 = OpLoad %bool %ok 686cb93a386Sopenharmony_ciOpSelectionMerge %411 None 687cb93a386Sopenharmony_ciOpBranchConditional %409 %410 %411 688cb93a386Sopenharmony_ci%410 = OpLabel 689cb93a386Sopenharmony_ci%412 = OpLoad %int %i 690cb93a386Sopenharmony_ci%413 = OpLoad %v2int %i2 691cb93a386Sopenharmony_ci%414 = OpCompositeExtract %int %413 0 692cb93a386Sopenharmony_ci%415 = OpIMul %int %412 %414 693cb93a386Sopenharmony_ci%416 = OpLoad %v3int %i3 694cb93a386Sopenharmony_ci%417 = OpCompositeExtract %int %416 0 695cb93a386Sopenharmony_ci%418 = OpIMul %int %415 %417 696cb93a386Sopenharmony_ci%419 = OpLoad %v4int %i4 697cb93a386Sopenharmony_ci%420 = OpCompositeExtract %int %419 0 698cb93a386Sopenharmony_ci%421 = OpIMul %int %418 %420 699cb93a386Sopenharmony_ci%422 = OpIEqual %bool %int_1 %421 700cb93a386Sopenharmony_ciOpBranch %411 701cb93a386Sopenharmony_ci%411 = OpLabel 702cb93a386Sopenharmony_ci%423 = OpPhi %bool %false %384 %422 %410 703cb93a386Sopenharmony_ciOpStore %ok %423 704cb93a386Sopenharmony_ci%424 = OpLoad %bool %ok 705cb93a386Sopenharmony_ciOpSelectionMerge %426 None 706cb93a386Sopenharmony_ciOpBranchConditional %424 %425 %426 707cb93a386Sopenharmony_ci%425 = OpLabel 708cb93a386Sopenharmony_ci%427 = OpLoad %bool %b 709cb93a386Sopenharmony_ciOpSelectionMerge %429 None 710cb93a386Sopenharmony_ciOpBranchConditional %427 %428 %429 711cb93a386Sopenharmony_ci%428 = OpLabel 712cb93a386Sopenharmony_ci%430 = OpLoad %v2bool %b2 713cb93a386Sopenharmony_ci%431 = OpCompositeExtract %bool %430 0 714cb93a386Sopenharmony_ciOpBranch %429 715cb93a386Sopenharmony_ci%429 = OpLabel 716cb93a386Sopenharmony_ci%432 = OpPhi %bool %false %425 %431 %428 717cb93a386Sopenharmony_ciOpSelectionMerge %434 None 718cb93a386Sopenharmony_ciOpBranchConditional %432 %433 %434 719cb93a386Sopenharmony_ci%433 = OpLabel 720cb93a386Sopenharmony_ci%435 = OpLoad %v3bool %b3 721cb93a386Sopenharmony_ci%436 = OpCompositeExtract %bool %435 0 722cb93a386Sopenharmony_ciOpBranch %434 723cb93a386Sopenharmony_ci%434 = OpLabel 724cb93a386Sopenharmony_ci%437 = OpPhi %bool %false %429 %436 %433 725cb93a386Sopenharmony_ciOpSelectionMerge %439 None 726cb93a386Sopenharmony_ciOpBranchConditional %437 %438 %439 727cb93a386Sopenharmony_ci%438 = OpLabel 728cb93a386Sopenharmony_ci%440 = OpLoad %v4bool %b4 729cb93a386Sopenharmony_ci%441 = OpCompositeExtract %bool %440 0 730cb93a386Sopenharmony_ciOpBranch %439 731cb93a386Sopenharmony_ci%439 = OpLabel 732cb93a386Sopenharmony_ci%442 = OpPhi %bool %false %434 %441 %438 733cb93a386Sopenharmony_ciOpBranch %426 734cb93a386Sopenharmony_ci%426 = OpLabel 735cb93a386Sopenharmony_ci%443 = OpPhi %bool %false %411 %442 %439 736cb93a386Sopenharmony_ciOpStore %ok %443 737cb93a386Sopenharmony_ci%444 = OpLoad %bool %ok 738cb93a386Sopenharmony_ciOpSelectionMerge %448 None 739cb93a386Sopenharmony_ciOpBranchConditional %444 %446 %447 740cb93a386Sopenharmony_ci%446 = OpLabel 741cb93a386Sopenharmony_ci%449 = OpAccessChain %_ptr_Uniform_v4float %32 %int_0 742cb93a386Sopenharmony_ci%450 = OpLoad %v4float %449 743cb93a386Sopenharmony_ciOpStore %445 %450 744cb93a386Sopenharmony_ciOpBranch %448 745cb93a386Sopenharmony_ci%447 = OpLabel 746cb93a386Sopenharmony_ci%451 = OpAccessChain %_ptr_Uniform_v4float %32 %int_1 747cb93a386Sopenharmony_ci%452 = OpLoad %v4float %451 748cb93a386Sopenharmony_ciOpStore %445 %452 749cb93a386Sopenharmony_ciOpBranch %448 750cb93a386Sopenharmony_ci%448 = OpLabel 751cb93a386Sopenharmony_ci%453 = OpLoad %v4float %445 752cb93a386Sopenharmony_ciOpReturnValue %453 753cb93a386Sopenharmony_ciOpFunctionEnd 754