1cb93a386Sopenharmony_ciOpCapability Shader 2cb93a386Sopenharmony_ci%1 = OpExtInstImport "GLSL.std.450" 3cb93a386Sopenharmony_ciOpMemoryModel Logical GLSL450 4cb93a386Sopenharmony_ciOpEntryPoint Fragment %main "main" %sk_FragColor %sk_Clockwise 5cb93a386Sopenharmony_ciOpExecutionMode %main OriginUpperLeft 6cb93a386Sopenharmony_ciOpName %sk_FragColor "sk_FragColor" 7cb93a386Sopenharmony_ciOpName %sk_Clockwise "sk_Clockwise" 8cb93a386Sopenharmony_ciOpName %main "main" 9cb93a386Sopenharmony_ciOpName %sksl_synthetic_uniforms "sksl_synthetic_uniforms" 10cb93a386Sopenharmony_ciOpMemberName %sksl_synthetic_uniforms 0 "u_skRTFlip" 11cb93a386Sopenharmony_ciOpDecorate %sk_FragColor RelaxedPrecision 12cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Location 0 13cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Index 0 14cb93a386Sopenharmony_ciOpDecorate %sk_Clockwise BuiltIn FrontFacing 15cb93a386Sopenharmony_ciOpMemberDecorate %sksl_synthetic_uniforms 0 Offset 16384 16cb93a386Sopenharmony_ciOpDecorate %sksl_synthetic_uniforms Block 17cb93a386Sopenharmony_ciOpDecorate %13 Binding 0 18cb93a386Sopenharmony_ciOpDecorate %13 DescriptorSet 0 19cb93a386Sopenharmony_ciOpDecorate %31 RelaxedPrecision 20cb93a386Sopenharmony_ciOpDecorate %32 RelaxedPrecision 21cb93a386Sopenharmony_ciOpDecorate %37 RelaxedPrecision 22cb93a386Sopenharmony_ciOpDecorate %38 RelaxedPrecision 23cb93a386Sopenharmony_ci%float = OpTypeFloat 32 24cb93a386Sopenharmony_ci%v4float = OpTypeVector %float 4 25cb93a386Sopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float 26cb93a386Sopenharmony_ci%sk_FragColor = OpVariable %_ptr_Output_v4float Output 27cb93a386Sopenharmony_ci%bool = OpTypeBool 28cb93a386Sopenharmony_ci%_ptr_Input_bool = OpTypePointer Input %bool 29cb93a386Sopenharmony_ci%sk_Clockwise = OpVariable %_ptr_Input_bool Input 30cb93a386Sopenharmony_ci%void = OpTypeVoid 31cb93a386Sopenharmony_ci%11 = OpTypeFunction %void 32cb93a386Sopenharmony_ci%v2float = OpTypeVector %float 2 33cb93a386Sopenharmony_ci%sksl_synthetic_uniforms = OpTypeStruct %v2float 34cb93a386Sopenharmony_ci%_ptr_Uniform_sksl_synthetic_uniforms = OpTypePointer Uniform %sksl_synthetic_uniforms 35cb93a386Sopenharmony_ci%13 = OpVariable %_ptr_Uniform_sksl_synthetic_uniforms Uniform 36cb93a386Sopenharmony_ci%int = OpTypeInt 32 1 37cb93a386Sopenharmony_ci%int_0 = OpConstant %int 0 38cb93a386Sopenharmony_ci%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float 39cb93a386Sopenharmony_ci%float_0 = OpConstant %float 0 40cb93a386Sopenharmony_ci%_ptr_Function_bool = OpTypePointer Function %bool 41cb93a386Sopenharmony_ci%int_1 = OpConstant %int 1 42cb93a386Sopenharmony_ci%int_n1 = OpConstant %int -1 43cb93a386Sopenharmony_ci%main = OpFunction %void None %11 44cb93a386Sopenharmony_ci%12 = OpLabel 45cb93a386Sopenharmony_ci%25 = OpVariable %_ptr_Function_bool Function 46cb93a386Sopenharmony_ci%19 = OpAccessChain %_ptr_Uniform_v2float %13 %int_0 47cb93a386Sopenharmony_ci%21 = OpLoad %v2float %19 48cb93a386Sopenharmony_ci%22 = OpCompositeExtract %float %21 1 49cb93a386Sopenharmony_ci%24 = OpFOrdGreaterThan %bool %22 %float_0 50cb93a386Sopenharmony_ciOpSelectionMerge %29 None 51cb93a386Sopenharmony_ciOpBranchConditional %24 %27 %28 52cb93a386Sopenharmony_ci%27 = OpLabel 53cb93a386Sopenharmony_ci%31 = OpLoad %bool %sk_Clockwise 54cb93a386Sopenharmony_ci%30 = OpLogicalNot %bool %31 55cb93a386Sopenharmony_ciOpStore %25 %30 56cb93a386Sopenharmony_ciOpBranch %29 57cb93a386Sopenharmony_ci%28 = OpLabel 58cb93a386Sopenharmony_ci%32 = OpLoad %bool %sk_Clockwise 59cb93a386Sopenharmony_ciOpStore %25 %32 60cb93a386Sopenharmony_ciOpBranch %29 61cb93a386Sopenharmony_ci%29 = OpLabel 62cb93a386Sopenharmony_ci%33 = OpLoad %bool %25 63cb93a386Sopenharmony_ci%34 = OpSelect %int %33 %int_1 %int_n1 64cb93a386Sopenharmony_ci%37 = OpConvertSToF %float %34 65cb93a386Sopenharmony_ci%38 = OpCompositeConstruct %v4float %37 %37 %37 %37 66cb93a386Sopenharmony_ciOpStore %sk_FragColor %38 67cb93a386Sopenharmony_ciOpReturn 68cb93a386Sopenharmony_ciOpFunctionEnd 69