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