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_ciOpName %_entrypoint_v "_entrypoint_v"
12cb93a386Sopenharmony_ciOpName %main "main"
13cb93a386Sopenharmony_ciOpName %result "result"
14cb93a386Sopenharmony_ciOpName %g "g"
15cb93a386Sopenharmony_ciOpName %h "h"
16cb93a386Sopenharmony_ciOpName %i "i"
17cb93a386Sopenharmony_ciOpName %j "j"
18cb93a386Sopenharmony_ciOpName %k "k"
19cb93a386Sopenharmony_ciOpName %l "l"
20cb93a386Sopenharmony_ciOpDecorate %sk_FragColor RelaxedPrecision
21cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Location 0
22cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Index 0
23cb93a386Sopenharmony_ciOpDecorate %sk_Clockwise BuiltIn FrontFacing
24cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 Offset 0
25cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
26cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 Offset 16
27cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
28cb93a386Sopenharmony_ciOpDecorate %_UniformBuffer Block
29cb93a386Sopenharmony_ciOpDecorate %10 Binding 0
30cb93a386Sopenharmony_ciOpDecorate %10 DescriptorSet 0
31cb93a386Sopenharmony_ciOpDecorate %164 RelaxedPrecision
32cb93a386Sopenharmony_ciOpDecorate %167 RelaxedPrecision
33cb93a386Sopenharmony_ciOpDecorate %168 RelaxedPrecision
34cb93a386Sopenharmony_ci%float = OpTypeFloat 32
35cb93a386Sopenharmony_ci%v4float = OpTypeVector %float 4
36cb93a386Sopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float
37cb93a386Sopenharmony_ci%sk_FragColor = OpVariable %_ptr_Output_v4float Output
38cb93a386Sopenharmony_ci%bool = OpTypeBool
39cb93a386Sopenharmony_ci%_ptr_Input_bool = OpTypePointer Input %bool
40cb93a386Sopenharmony_ci%sk_Clockwise = OpVariable %_ptr_Input_bool Input
41cb93a386Sopenharmony_ci%_UniformBuffer = OpTypeStruct %v4float %v4float
42cb93a386Sopenharmony_ci%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
43cb93a386Sopenharmony_ci%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
44cb93a386Sopenharmony_ci%void = OpTypeVoid
45cb93a386Sopenharmony_ci%15 = OpTypeFunction %void
46cb93a386Sopenharmony_ci%v2float = OpTypeVector %float 2
47cb93a386Sopenharmony_ci%float_0 = OpConstant %float 0
48cb93a386Sopenharmony_ci%19 = OpConstantComposite %v2float %float_0 %float_0
49cb93a386Sopenharmony_ci%_ptr_Function_v2float = OpTypePointer Function %v2float
50cb93a386Sopenharmony_ci%23 = OpTypeFunction %v4float %_ptr_Function_v2float
51cb93a386Sopenharmony_ci%_ptr_Function_float = OpTypePointer Function %float
52cb93a386Sopenharmony_ci%v3float = OpTypeVector %float 3
53cb93a386Sopenharmony_ci%mat3v3float = OpTypeMatrix %v3float 3
54cb93a386Sopenharmony_ci%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float
55cb93a386Sopenharmony_ci%float_1 = OpConstant %float 1
56cb93a386Sopenharmony_ci%mat2v3float = OpTypeMatrix %v3float 2
57cb93a386Sopenharmony_ci%int = OpTypeInt 32 1
58cb93a386Sopenharmony_ci%int_0 = OpConstant %int 0
59cb93a386Sopenharmony_ci%_ptr_Function_v3float = OpTypePointer Function %v3float
60cb93a386Sopenharmony_ci%mat3v2float = OpTypeMatrix %v2float 3
61cb93a386Sopenharmony_ci%mat4v4float = OpTypeMatrix %v4float 4
62cb93a386Sopenharmony_ci%_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float
63cb93a386Sopenharmony_ci%mat4v2float = OpTypeMatrix %v2float 4
64cb93a386Sopenharmony_ci%mat4v3float = OpTypeMatrix %v3float 4
65cb93a386Sopenharmony_ci%_ptr_Function_v4float = OpTypePointer Function %v4float
66cb93a386Sopenharmony_ci%mat2v4float = OpTypeMatrix %v4float 2
67cb93a386Sopenharmony_ci%mat3v4float = OpTypeMatrix %v4float 3
68cb93a386Sopenharmony_ci%_ptr_Function_mat2v4float = OpTypePointer Function %mat2v4float
69cb93a386Sopenharmony_ci%_ptr_Function_mat4v2float = OpTypePointer Function %mat4v2float
70cb93a386Sopenharmony_ci%float_6 = OpConstant %float 6
71cb93a386Sopenharmony_ci%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
72cb93a386Sopenharmony_ci%int_1 = OpConstant %int 1
73cb93a386Sopenharmony_ci%_entrypoint_v = OpFunction %void None %15
74cb93a386Sopenharmony_ci%16 = OpLabel
75cb93a386Sopenharmony_ci%20 = OpVariable %_ptr_Function_v2float Function
76cb93a386Sopenharmony_ciOpStore %20 %19
77cb93a386Sopenharmony_ci%22 = OpFunctionCall %v4float %main %20
78cb93a386Sopenharmony_ciOpStore %sk_FragColor %22
79cb93a386Sopenharmony_ciOpReturn
80cb93a386Sopenharmony_ciOpFunctionEnd
81cb93a386Sopenharmony_ci%main = OpFunction %v4float None %23
82cb93a386Sopenharmony_ci%24 = OpFunctionParameter %_ptr_Function_v2float
83cb93a386Sopenharmony_ci%25 = OpLabel
84cb93a386Sopenharmony_ci%result = OpVariable %_ptr_Function_float Function
85cb93a386Sopenharmony_ci%g = OpVariable %_ptr_Function_mat3v3float Function
86cb93a386Sopenharmony_ci%h = OpVariable %_ptr_Function_mat3v3float Function
87cb93a386Sopenharmony_ci%i = OpVariable %_ptr_Function_mat4v4float Function
88cb93a386Sopenharmony_ci%j = OpVariable %_ptr_Function_mat4v4float Function
89cb93a386Sopenharmony_ci%k = OpVariable %_ptr_Function_mat2v4float Function
90cb93a386Sopenharmony_ci%l = OpVariable %_ptr_Function_mat4v2float Function
91cb93a386Sopenharmony_ci%158 = OpVariable %_ptr_Function_v4float Function
92cb93a386Sopenharmony_ciOpStore %result %float_0
93cb93a386Sopenharmony_ci%34 = OpCompositeConstruct %v3float %float_1 %float_0 %float_0
94cb93a386Sopenharmony_ci%35 = OpCompositeConstruct %v3float %float_0 %float_1 %float_0
95cb93a386Sopenharmony_ci%33 = OpCompositeConstruct %mat2v3float %34 %35
96cb93a386Sopenharmony_ci%38 = OpCompositeExtract %v3float %33 0
97cb93a386Sopenharmony_ci%39 = OpCompositeExtract %v3float %33 1
98cb93a386Sopenharmony_ci%40 = OpCompositeConstruct %v3float %float_0 %float_0 %float_1
99cb93a386Sopenharmony_ci%37 = OpCompositeConstruct %mat3v3float %38 %39 %40
100cb93a386Sopenharmony_ciOpStore %g %37
101cb93a386Sopenharmony_ci%41 = OpLoad %float %result
102cb93a386Sopenharmony_ci%44 = OpAccessChain %_ptr_Function_v3float %g %int_0
103cb93a386Sopenharmony_ci%46 = OpLoad %v3float %44
104cb93a386Sopenharmony_ci%47 = OpCompositeExtract %float %46 0
105cb93a386Sopenharmony_ci%48 = OpFAdd %float %41 %47
106cb93a386Sopenharmony_ciOpStore %result %48
107cb93a386Sopenharmony_ci%51 = OpCompositeConstruct %v2float %float_1 %float_0
108cb93a386Sopenharmony_ci%52 = OpCompositeConstruct %v2float %float_0 %float_1
109cb93a386Sopenharmony_ci%53 = OpCompositeConstruct %v2float %float_0 %float_0
110cb93a386Sopenharmony_ci%50 = OpCompositeConstruct %mat3v2float %51 %52 %53
111cb93a386Sopenharmony_ci%56 = OpCompositeExtract %v2float %50 0
112cb93a386Sopenharmony_ci%57 = OpCompositeConstruct %v3float %56 %float_0
113cb93a386Sopenharmony_ci%58 = OpCompositeExtract %v2float %50 1
114cb93a386Sopenharmony_ci%59 = OpCompositeConstruct %v3float %58 %float_0
115cb93a386Sopenharmony_ci%60 = OpCompositeExtract %v2float %50 2
116cb93a386Sopenharmony_ci%61 = OpCompositeConstruct %v3float %60 %float_1
117cb93a386Sopenharmony_ci%55 = OpCompositeConstruct %mat3v3float %57 %59 %61
118cb93a386Sopenharmony_ciOpStore %h %55
119cb93a386Sopenharmony_ci%62 = OpLoad %float %result
120cb93a386Sopenharmony_ci%63 = OpAccessChain %_ptr_Function_v3float %h %int_0
121cb93a386Sopenharmony_ci%64 = OpLoad %v3float %63
122cb93a386Sopenharmony_ci%65 = OpCompositeExtract %float %64 0
123cb93a386Sopenharmony_ci%66 = OpFAdd %float %62 %65
124cb93a386Sopenharmony_ciOpStore %result %66
125cb93a386Sopenharmony_ci%71 = OpCompositeConstruct %v2float %float_1 %float_0
126cb93a386Sopenharmony_ci%72 = OpCompositeConstruct %v2float %float_0 %float_1
127cb93a386Sopenharmony_ci%73 = OpCompositeConstruct %v2float %float_0 %float_0
128cb93a386Sopenharmony_ci%74 = OpCompositeConstruct %v2float %float_0 %float_0
129cb93a386Sopenharmony_ci%70 = OpCompositeConstruct %mat4v2float %71 %72 %73 %74
130cb93a386Sopenharmony_ci%77 = OpCompositeExtract %v2float %70 0
131cb93a386Sopenharmony_ci%78 = OpCompositeConstruct %v3float %77 %float_0
132cb93a386Sopenharmony_ci%79 = OpCompositeExtract %v2float %70 1
133cb93a386Sopenharmony_ci%80 = OpCompositeConstruct %v3float %79 %float_0
134cb93a386Sopenharmony_ci%81 = OpCompositeExtract %v2float %70 2
135cb93a386Sopenharmony_ci%82 = OpCompositeConstruct %v3float %81 %float_1
136cb93a386Sopenharmony_ci%83 = OpCompositeExtract %v2float %70 3
137cb93a386Sopenharmony_ci%84 = OpCompositeConstruct %v3float %83 %float_0
138cb93a386Sopenharmony_ci%76 = OpCompositeConstruct %mat4v3float %78 %80 %82 %84
139cb93a386Sopenharmony_ci%87 = OpCompositeExtract %v3float %76 0
140cb93a386Sopenharmony_ci%88 = OpCompositeConstruct %v4float %87 %float_0
141cb93a386Sopenharmony_ci%89 = OpCompositeExtract %v3float %76 1
142cb93a386Sopenharmony_ci%90 = OpCompositeConstruct %v4float %89 %float_0
143cb93a386Sopenharmony_ci%91 = OpCompositeExtract %v3float %76 2
144cb93a386Sopenharmony_ci%92 = OpCompositeConstruct %v4float %91 %float_0
145cb93a386Sopenharmony_ci%93 = OpCompositeExtract %v3float %76 3
146cb93a386Sopenharmony_ci%94 = OpCompositeConstruct %v4float %93 %float_1
147cb93a386Sopenharmony_ci%86 = OpCompositeConstruct %mat4v4float %88 %90 %92 %94
148cb93a386Sopenharmony_ciOpStore %i %86
149cb93a386Sopenharmony_ci%95 = OpLoad %float %result
150cb93a386Sopenharmony_ci%96 = OpAccessChain %_ptr_Function_v4float %i %int_0
151cb93a386Sopenharmony_ci%98 = OpLoad %v4float %96
152cb93a386Sopenharmony_ci%99 = OpCompositeExtract %float %98 0
153cb93a386Sopenharmony_ci%100 = OpFAdd %float %95 %99
154cb93a386Sopenharmony_ciOpStore %result %100
155cb93a386Sopenharmony_ci%103 = OpCompositeConstruct %v4float %float_1 %float_0 %float_0 %float_0
156cb93a386Sopenharmony_ci%104 = OpCompositeConstruct %v4float %float_0 %float_1 %float_0 %float_0
157cb93a386Sopenharmony_ci%102 = OpCompositeConstruct %mat2v4float %103 %104
158cb93a386Sopenharmony_ci%107 = OpCompositeExtract %v4float %102 0
159cb93a386Sopenharmony_ci%108 = OpCompositeExtract %v4float %102 1
160cb93a386Sopenharmony_ci%109 = OpCompositeConstruct %v4float %float_0 %float_0 %float_1 %float_0
161cb93a386Sopenharmony_ci%106 = OpCompositeConstruct %mat3v4float %107 %108 %109
162cb93a386Sopenharmony_ci%112 = OpCompositeExtract %v4float %106 0
163cb93a386Sopenharmony_ci%113 = OpCompositeExtract %v4float %106 1
164cb93a386Sopenharmony_ci%114 = OpCompositeExtract %v4float %106 2
165cb93a386Sopenharmony_ci%115 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %float_1
166cb93a386Sopenharmony_ci%111 = OpCompositeConstruct %mat4v4float %112 %113 %114 %115
167cb93a386Sopenharmony_ciOpStore %j %111
168cb93a386Sopenharmony_ci%116 = OpLoad %float %result
169cb93a386Sopenharmony_ci%117 = OpAccessChain %_ptr_Function_v4float %j %int_0
170cb93a386Sopenharmony_ci%118 = OpLoad %v4float %117
171cb93a386Sopenharmony_ci%119 = OpCompositeExtract %float %118 0
172cb93a386Sopenharmony_ci%120 = OpFAdd %float %116 %119
173cb93a386Sopenharmony_ciOpStore %result %120
174cb93a386Sopenharmony_ci%124 = OpCompositeConstruct %v2float %float_1 %float_0
175cb93a386Sopenharmony_ci%125 = OpCompositeConstruct %v2float %float_0 %float_1
176cb93a386Sopenharmony_ci%126 = OpCompositeConstruct %v2float %float_0 %float_0
177cb93a386Sopenharmony_ci%127 = OpCompositeConstruct %v2float %float_0 %float_0
178cb93a386Sopenharmony_ci%123 = OpCompositeConstruct %mat4v2float %124 %125 %126 %127
179cb93a386Sopenharmony_ci%129 = OpCompositeExtract %v2float %123 0
180cb93a386Sopenharmony_ci%130 = OpCompositeConstruct %v4float %129 %float_0 %float_0
181cb93a386Sopenharmony_ci%131 = OpCompositeExtract %v2float %123 1
182cb93a386Sopenharmony_ci%132 = OpCompositeConstruct %v4float %131 %float_0 %float_0
183cb93a386Sopenharmony_ci%128 = OpCompositeConstruct %mat2v4float %130 %132
184cb93a386Sopenharmony_ciOpStore %k %128
185cb93a386Sopenharmony_ci%133 = OpLoad %float %result
186cb93a386Sopenharmony_ci%134 = OpAccessChain %_ptr_Function_v4float %k %int_0
187cb93a386Sopenharmony_ci%135 = OpLoad %v4float %134
188cb93a386Sopenharmony_ci%136 = OpCompositeExtract %float %135 0
189cb93a386Sopenharmony_ci%137 = OpFAdd %float %133 %136
190cb93a386Sopenharmony_ciOpStore %result %137
191cb93a386Sopenharmony_ci%141 = OpCompositeConstruct %v4float %float_1 %float_0 %float_0 %float_0
192cb93a386Sopenharmony_ci%142 = OpCompositeConstruct %v4float %float_0 %float_1 %float_0 %float_0
193cb93a386Sopenharmony_ci%140 = OpCompositeConstruct %mat2v4float %141 %142
194cb93a386Sopenharmony_ci%144 = OpCompositeExtract %v4float %140 0
195cb93a386Sopenharmony_ci%145 = OpVectorShuffle %v2float %144 %144 0 1
196cb93a386Sopenharmony_ci%146 = OpCompositeExtract %v4float %140 1
197cb93a386Sopenharmony_ci%147 = OpVectorShuffle %v2float %146 %146 0 1
198cb93a386Sopenharmony_ci%148 = OpCompositeConstruct %v2float %float_0 %float_0
199cb93a386Sopenharmony_ci%149 = OpCompositeConstruct %v2float %float_0 %float_0
200cb93a386Sopenharmony_ci%143 = OpCompositeConstruct %mat4v2float %145 %147 %148 %149
201cb93a386Sopenharmony_ciOpStore %l %143
202cb93a386Sopenharmony_ci%150 = OpLoad %float %result
203cb93a386Sopenharmony_ci%151 = OpAccessChain %_ptr_Function_v2float %l %int_0
204cb93a386Sopenharmony_ci%152 = OpLoad %v2float %151
205cb93a386Sopenharmony_ci%153 = OpCompositeExtract %float %152 0
206cb93a386Sopenharmony_ci%154 = OpFAdd %float %150 %153
207cb93a386Sopenharmony_ciOpStore %result %154
208cb93a386Sopenharmony_ci%155 = OpLoad %float %result
209cb93a386Sopenharmony_ci%157 = OpFOrdEqual %bool %155 %float_6
210cb93a386Sopenharmony_ciOpSelectionMerge %161 None
211cb93a386Sopenharmony_ciOpBranchConditional %157 %159 %160
212cb93a386Sopenharmony_ci%159 = OpLabel
213cb93a386Sopenharmony_ci%162 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
214cb93a386Sopenharmony_ci%164 = OpLoad %v4float %162
215cb93a386Sopenharmony_ciOpStore %158 %164
216cb93a386Sopenharmony_ciOpBranch %161
217cb93a386Sopenharmony_ci%160 = OpLabel
218cb93a386Sopenharmony_ci%165 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
219cb93a386Sopenharmony_ci%167 = OpLoad %v4float %165
220cb93a386Sopenharmony_ciOpStore %158 %167
221cb93a386Sopenharmony_ciOpBranch %161
222cb93a386Sopenharmony_ci%161 = OpLabel
223cb93a386Sopenharmony_ci%168 = OpLoad %v4float %158
224cb93a386Sopenharmony_ciOpReturnValue %168
225cb93a386Sopenharmony_ciOpFunctionEnd
226