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 %_entrypoint_v "_entrypoint_v" 9cb93a386Sopenharmony_ciOpName %main "main" 10cb93a386Sopenharmony_ciOpName %x "x" 11cb93a386Sopenharmony_ciOpName %y "y" 12cb93a386Sopenharmony_ciOpDecorate %sk_FragColor RelaxedPrecision 13cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Location 0 14cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Index 0 15cb93a386Sopenharmony_ciOpDecorate %sk_Clockwise BuiltIn FrontFacing 16cb93a386Sopenharmony_ciOpDecorate %x RelaxedPrecision 17cb93a386Sopenharmony_ciOpDecorate %29 RelaxedPrecision 18cb93a386Sopenharmony_ciOpDecorate %30 RelaxedPrecision 19cb93a386Sopenharmony_ciOpDecorate %31 RelaxedPrecision 20cb93a386Sopenharmony_ciOpDecorate %33 RelaxedPrecision 21cb93a386Sopenharmony_ciOpDecorate %34 RelaxedPrecision 22cb93a386Sopenharmony_ciOpDecorate %35 RelaxedPrecision 23cb93a386Sopenharmony_ciOpDecorate %36 RelaxedPrecision 24cb93a386Sopenharmony_ciOpDecorate %37 RelaxedPrecision 25cb93a386Sopenharmony_ciOpDecorate %38 RelaxedPrecision 26cb93a386Sopenharmony_ciOpDecorate %39 RelaxedPrecision 27cb93a386Sopenharmony_ci%float = OpTypeFloat 32 28cb93a386Sopenharmony_ci%v4float = OpTypeVector %float 4 29cb93a386Sopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float 30cb93a386Sopenharmony_ci%sk_FragColor = OpVariable %_ptr_Output_v4float Output 31cb93a386Sopenharmony_ci%bool = OpTypeBool 32cb93a386Sopenharmony_ci%_ptr_Input_bool = OpTypePointer Input %bool 33cb93a386Sopenharmony_ci%sk_Clockwise = OpVariable %_ptr_Input_bool Input 34cb93a386Sopenharmony_ci%void = OpTypeVoid 35cb93a386Sopenharmony_ci%12 = OpTypeFunction %void 36cb93a386Sopenharmony_ci%v2float = OpTypeVector %float 2 37cb93a386Sopenharmony_ci%float_0 = OpConstant %float 0 38cb93a386Sopenharmony_ci%16 = OpConstantComposite %v2float %float_0 %float_0 39cb93a386Sopenharmony_ci%_ptr_Function_v2float = OpTypePointer Function %v2float 40cb93a386Sopenharmony_ci%20 = OpTypeFunction %v4float %_ptr_Function_v2float 41cb93a386Sopenharmony_ci%mat2v2float = OpTypeMatrix %v2float 2 42cb93a386Sopenharmony_ci%_ptr_Function_mat2v2float = OpTypePointer Function %mat2v2float 43cb93a386Sopenharmony_ci%float_1 = OpConstant %float 1 44cb93a386Sopenharmony_ci%float_2 = OpConstant %float 2 45cb93a386Sopenharmony_ci%float_3 = OpConstant %float 3 46cb93a386Sopenharmony_ci%_entrypoint_v = OpFunction %void None %12 47cb93a386Sopenharmony_ci%13 = OpLabel 48cb93a386Sopenharmony_ci%17 = OpVariable %_ptr_Function_v2float Function 49cb93a386Sopenharmony_ciOpStore %17 %16 50cb93a386Sopenharmony_ci%19 = OpFunctionCall %v4float %main %17 51cb93a386Sopenharmony_ciOpStore %sk_FragColor %19 52cb93a386Sopenharmony_ciOpReturn 53cb93a386Sopenharmony_ciOpFunctionEnd 54cb93a386Sopenharmony_ci%main = OpFunction %v4float None %20 55cb93a386Sopenharmony_ci%21 = OpFunctionParameter %_ptr_Function_v2float 56cb93a386Sopenharmony_ci%22 = OpLabel 57cb93a386Sopenharmony_ci%x = OpVariable %_ptr_Function_mat2v2float Function 58cb93a386Sopenharmony_ci%y = OpVariable %_ptr_Function_v2float Function 59cb93a386Sopenharmony_ci%29 = OpCompositeConstruct %v2float %float_0 %float_1 60cb93a386Sopenharmony_ci%30 = OpCompositeConstruct %v2float %float_2 %float_3 61cb93a386Sopenharmony_ci%31 = OpCompositeConstruct %mat2v2float %29 %30 62cb93a386Sopenharmony_ciOpStore %x %31 63cb93a386Sopenharmony_ci%33 = OpLoad %mat2v2float %x 64cb93a386Sopenharmony_ci%34 = OpCompositeExtract %float %33 0 0 65cb93a386Sopenharmony_ci%35 = OpCompositeExtract %float %33 0 1 66cb93a386Sopenharmony_ci%36 = OpCompositeExtract %float %33 1 0 67cb93a386Sopenharmony_ci%37 = OpCompositeExtract %float %33 1 1 68cb93a386Sopenharmony_ci%38 = OpCompositeConstruct %v4float %34 %35 %36 %37 69cb93a386Sopenharmony_ci%39 = OpVectorShuffle %v2float %38 %38 0 1 70cb93a386Sopenharmony_ciOpStore %y %39 71cb93a386Sopenharmony_ci%40 = OpLoad %v2float %y 72cb93a386Sopenharmony_ci%41 = OpVectorShuffle %v4float %40 %40 0 1 0 1 73cb93a386Sopenharmony_ciOpReturnValue %41 74cb93a386Sopenharmony_ciOpFunctionEnd 75