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