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 %_UniformBuffer "_UniformBuffer"
9cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 0 "a"
10cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 1 "b"
11cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 2 "c"
12cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 3 "d"
13cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 4 "e"
14cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 5 "f"
15cb93a386Sopenharmony_ciOpName %main "main"
16cb93a386Sopenharmony_ciOpName %expectTTFF "expectTTFF"
17cb93a386Sopenharmony_ciOpName %expectFFTT "expectFFTT"
18cb93a386Sopenharmony_ciOpName %expectTTTT "expectTTTT"
19cb93a386Sopenharmony_ciOpDecorate %sk_FragColor RelaxedPrecision
20cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Location 0
21cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Index 0
22cb93a386Sopenharmony_ciOpDecorate %sk_Clockwise BuiltIn FrontFacing
23cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 Offset 0
24cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
25cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 Offset 16
26cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
27cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 Offset 32
28cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 3 Offset 40
29cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 4 Offset 48
30cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 5 Offset 64
31cb93a386Sopenharmony_ciOpDecorate %_UniformBuffer Block
32cb93a386Sopenharmony_ciOpDecorate %10 Binding 0
33cb93a386Sopenharmony_ciOpDecorate %10 DescriptorSet 0
34cb93a386Sopenharmony_ciOpDecorate %34 RelaxedPrecision
35cb93a386Sopenharmony_ciOpDecorate %37 RelaxedPrecision
36cb93a386Sopenharmony_ciOpDecorate %40 RelaxedPrecision
37cb93a386Sopenharmony_ciOpDecorate %54 RelaxedPrecision
38cb93a386Sopenharmony_ciOpDecorate %67 RelaxedPrecision
39cb93a386Sopenharmony_ciOpDecorate %70 RelaxedPrecision
40cb93a386Sopenharmony_ciOpDecorate %74 RelaxedPrecision
41cb93a386Sopenharmony_ciOpDecorate %79 RelaxedPrecision
42cb93a386Sopenharmony_ciOpDecorate %82 RelaxedPrecision
43cb93a386Sopenharmony_ci%float = OpTypeFloat 32
44cb93a386Sopenharmony_ci%v4float = OpTypeVector %float 4
45cb93a386Sopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float
46cb93a386Sopenharmony_ci%sk_FragColor = OpVariable %_ptr_Output_v4float Output
47cb93a386Sopenharmony_ci%bool = OpTypeBool
48cb93a386Sopenharmony_ci%_ptr_Input_bool = OpTypePointer Input %bool
49cb93a386Sopenharmony_ci%sk_Clockwise = OpVariable %_ptr_Input_bool Input
50cb93a386Sopenharmony_ci%uint = OpTypeInt 32 0
51cb93a386Sopenharmony_ci%v2uint = OpTypeVector %uint 2
52cb93a386Sopenharmony_ci%int = OpTypeInt 32 1
53cb93a386Sopenharmony_ci%v3int = OpTypeVector %int 3
54cb93a386Sopenharmony_ci%_UniformBuffer = OpTypeStruct %v4float %v4float %v2uint %v2uint %v3int %v3int
55cb93a386Sopenharmony_ci%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
56cb93a386Sopenharmony_ci%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
57cb93a386Sopenharmony_ci%void = OpTypeVoid
58cb93a386Sopenharmony_ci%18 = OpTypeFunction %void
59cb93a386Sopenharmony_ci%v4bool = OpTypeVector %bool 4
60cb93a386Sopenharmony_ci%_ptr_Function_v4bool = OpTypePointer Function %v4bool
61cb93a386Sopenharmony_ci%true = OpConstantTrue %bool
62cb93a386Sopenharmony_ci%false = OpConstantFalse %bool
63cb93a386Sopenharmony_ci%25 = OpConstantComposite %v4bool %true %true %false %false
64cb93a386Sopenharmony_ci%27 = OpConstantComposite %v4bool %false %false %true %true
65cb93a386Sopenharmony_ci%29 = OpConstantComposite %v4bool %true %true %true %true
66cb93a386Sopenharmony_ci%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
67cb93a386Sopenharmony_ci%int_0 = OpConstant %int 0
68cb93a386Sopenharmony_ci%int_1 = OpConstant %int 1
69cb93a386Sopenharmony_ci%_ptr_Output_float = OpTypePointer Output %float
70cb93a386Sopenharmony_ci%_ptr_Uniform_v2uint = OpTypePointer Uniform %v2uint
71cb93a386Sopenharmony_ci%int_2 = OpConstant %int 2
72cb93a386Sopenharmony_ci%int_3 = OpConstant %int 3
73cb93a386Sopenharmony_ci%v2bool = OpTypeVector %bool 2
74cb93a386Sopenharmony_ci%_ptr_Uniform_v3int = OpTypePointer Uniform %v3int
75cb93a386Sopenharmony_ci%int_4 = OpConstant %int 4
76cb93a386Sopenharmony_ci%int_5 = OpConstant %int 5
77cb93a386Sopenharmony_ci%v3bool = OpTypeVector %bool 3
78cb93a386Sopenharmony_ci%main = OpFunction %void None %18
79cb93a386Sopenharmony_ci%19 = OpLabel
80cb93a386Sopenharmony_ci%expectTTFF = OpVariable %_ptr_Function_v4bool Function
81cb93a386Sopenharmony_ci%expectFFTT = OpVariable %_ptr_Function_v4bool Function
82cb93a386Sopenharmony_ci%expectTTTT = OpVariable %_ptr_Function_v4bool Function
83cb93a386Sopenharmony_ciOpStore %expectTTFF %25
84cb93a386Sopenharmony_ciOpStore %expectFFTT %27
85cb93a386Sopenharmony_ciOpStore %expectTTTT %29
86cb93a386Sopenharmony_ci%31 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
87cb93a386Sopenharmony_ci%34 = OpLoad %v4float %31
88cb93a386Sopenharmony_ci%35 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
89cb93a386Sopenharmony_ci%37 = OpLoad %v4float %35
90cb93a386Sopenharmony_ci%30 = OpFOrdEqual %v4bool %34 %37
91cb93a386Sopenharmony_ci%38 = OpCompositeExtract %bool %30 0
92cb93a386Sopenharmony_ci%39 = OpSelect %int %38 %int_1 %int_0
93cb93a386Sopenharmony_ci%40 = OpConvertSToF %float %39
94cb93a386Sopenharmony_ci%41 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_0
95cb93a386Sopenharmony_ciOpStore %41 %40
96cb93a386Sopenharmony_ci%44 = OpAccessChain %_ptr_Uniform_v2uint %10 %int_2
97cb93a386Sopenharmony_ci%47 = OpLoad %v2uint %44
98cb93a386Sopenharmony_ci%48 = OpAccessChain %_ptr_Uniform_v2uint %10 %int_3
99cb93a386Sopenharmony_ci%50 = OpLoad %v2uint %48
100cb93a386Sopenharmony_ci%43 = OpIEqual %v2bool %47 %50
101cb93a386Sopenharmony_ci%52 = OpCompositeExtract %bool %43 1
102cb93a386Sopenharmony_ci%53 = OpSelect %int %52 %int_1 %int_0
103cb93a386Sopenharmony_ci%54 = OpConvertSToF %float %53
104cb93a386Sopenharmony_ci%55 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_1
105cb93a386Sopenharmony_ciOpStore %55 %54
106cb93a386Sopenharmony_ci%57 = OpAccessChain %_ptr_Uniform_v3int %10 %int_4
107cb93a386Sopenharmony_ci%60 = OpLoad %v3int %57
108cb93a386Sopenharmony_ci%61 = OpAccessChain %_ptr_Uniform_v3int %10 %int_5
109cb93a386Sopenharmony_ci%63 = OpLoad %v3int %61
110cb93a386Sopenharmony_ci%56 = OpIEqual %v3bool %60 %63
111cb93a386Sopenharmony_ci%65 = OpCompositeExtract %bool %56 2
112cb93a386Sopenharmony_ci%66 = OpSelect %int %65 %int_1 %int_0
113cb93a386Sopenharmony_ci%67 = OpConvertSToF %float %66
114cb93a386Sopenharmony_ci%68 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_2
115cb93a386Sopenharmony_ciOpStore %68 %67
116cb93a386Sopenharmony_ci%70 = OpLoad %v4bool %expectTTFF
117cb93a386Sopenharmony_ci%69 = OpAny %bool %70
118cb93a386Sopenharmony_ciOpSelectionMerge %72 None
119cb93a386Sopenharmony_ciOpBranchConditional %69 %72 %71
120cb93a386Sopenharmony_ci%71 = OpLabel
121cb93a386Sopenharmony_ci%74 = OpLoad %v4bool %expectFFTT
122cb93a386Sopenharmony_ci%73 = OpAny %bool %74
123cb93a386Sopenharmony_ciOpBranch %72
124cb93a386Sopenharmony_ci%72 = OpLabel
125cb93a386Sopenharmony_ci%75 = OpPhi %bool %true %19 %73 %71
126cb93a386Sopenharmony_ciOpSelectionMerge %77 None
127cb93a386Sopenharmony_ciOpBranchConditional %75 %77 %76
128cb93a386Sopenharmony_ci%76 = OpLabel
129cb93a386Sopenharmony_ci%79 = OpLoad %v4bool %expectTTTT
130cb93a386Sopenharmony_ci%78 = OpAny %bool %79
131cb93a386Sopenharmony_ciOpBranch %77
132cb93a386Sopenharmony_ci%77 = OpLabel
133cb93a386Sopenharmony_ci%80 = OpPhi %bool %true %72 %78 %76
134cb93a386Sopenharmony_ci%81 = OpSelect %int %80 %int_1 %int_0
135cb93a386Sopenharmony_ci%82 = OpConvertSToF %float %81
136cb93a386Sopenharmony_ci%83 = OpAccessChain %_ptr_Output_float %sk_FragColor %int_3
137cb93a386Sopenharmony_ciOpStore %83 %82
138cb93a386Sopenharmony_ciOpReturn
139cb93a386Sopenharmony_ciOpFunctionEnd
140