1OpCapability Shader
2%1 = OpExtInstImport "GLSL.std.450"
3OpMemoryModel Logical GLSL450
4OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5OpExecutionMode %_entrypoint_v OriginUpperLeft
6OpName %sk_FragColor "sk_FragColor"
7OpName %sk_Clockwise "sk_Clockwise"
8OpName %_UniformBuffer "_UniformBuffer"
9OpMemberName %_UniformBuffer 0 "testInputs"
10OpMemberName %_UniformBuffer 1 "colorGreen"
11OpMemberName %_UniformBuffer 2 "colorRed"
12OpName %_entrypoint_v "_entrypoint_v"
13OpName %main "main"
14OpName %v "v"
15OpDecorate %sk_FragColor RelaxedPrecision
16OpDecorate %sk_FragColor Location 0
17OpDecorate %sk_FragColor Index 0
18OpDecorate %sk_Clockwise BuiltIn FrontFacing
19OpMemberDecorate %_UniformBuffer 0 Offset 0
20OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
21OpMemberDecorate %_UniformBuffer 1 Offset 16
22OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
23OpMemberDecorate %_UniformBuffer 2 Offset 32
24OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
25OpDecorate %_UniformBuffer Block
26OpDecorate %10 Binding 0
27OpDecorate %10 DescriptorSet 0
28OpDecorate %v RelaxedPrecision
29OpDecorate %32 RelaxedPrecision
30OpDecorate %33 RelaxedPrecision
31OpDecorate %34 RelaxedPrecision
32OpDecorate %36 RelaxedPrecision
33OpDecorate %37 RelaxedPrecision
34OpDecorate %38 RelaxedPrecision
35OpDecorate %39 RelaxedPrecision
36OpDecorate %40 RelaxedPrecision
37OpDecorate %41 RelaxedPrecision
38OpDecorate %42 RelaxedPrecision
39OpDecorate %43 RelaxedPrecision
40OpDecorate %44 RelaxedPrecision
41OpDecorate %45 RelaxedPrecision
42OpDecorate %46 RelaxedPrecision
43OpDecorate %47 RelaxedPrecision
44OpDecorate %48 RelaxedPrecision
45OpDecorate %49 RelaxedPrecision
46OpDecorate %51 RelaxedPrecision
47OpDecorate %52 RelaxedPrecision
48OpDecorate %53 RelaxedPrecision
49OpDecorate %54 RelaxedPrecision
50OpDecorate %55 RelaxedPrecision
51OpDecorate %56 RelaxedPrecision
52OpDecorate %57 RelaxedPrecision
53OpDecorate %58 RelaxedPrecision
54OpDecorate %59 RelaxedPrecision
55OpDecorate %60 RelaxedPrecision
56OpDecorate %61 RelaxedPrecision
57OpDecorate %62 RelaxedPrecision
58OpDecorate %63 RelaxedPrecision
59OpDecorate %64 RelaxedPrecision
60OpDecorate %65 RelaxedPrecision
61OpDecorate %66 RelaxedPrecision
62OpDecorate %67 RelaxedPrecision
63OpDecorate %68 RelaxedPrecision
64OpDecorate %69 RelaxedPrecision
65OpDecorate %70 RelaxedPrecision
66OpDecorate %71 RelaxedPrecision
67OpDecorate %72 RelaxedPrecision
68OpDecorate %73 RelaxedPrecision
69OpDecorate %74 RelaxedPrecision
70OpDecorate %75 RelaxedPrecision
71OpDecorate %76 RelaxedPrecision
72OpDecorate %77 RelaxedPrecision
73OpDecorate %78 RelaxedPrecision
74OpDecorate %79 RelaxedPrecision
75OpDecorate %80 RelaxedPrecision
76OpDecorate %81 RelaxedPrecision
77OpDecorate %82 RelaxedPrecision
78OpDecorate %83 RelaxedPrecision
79OpDecorate %84 RelaxedPrecision
80OpDecorate %85 RelaxedPrecision
81OpDecorate %86 RelaxedPrecision
82OpDecorate %87 RelaxedPrecision
83OpDecorate %88 RelaxedPrecision
84OpDecorate %89 RelaxedPrecision
85OpDecorate %90 RelaxedPrecision
86OpDecorate %91 RelaxedPrecision
87OpDecorate %92 RelaxedPrecision
88OpDecorate %93 RelaxedPrecision
89OpDecorate %94 RelaxedPrecision
90OpDecorate %95 RelaxedPrecision
91OpDecorate %96 RelaxedPrecision
92OpDecorate %97 RelaxedPrecision
93OpDecorate %98 RelaxedPrecision
94OpDecorate %99 RelaxedPrecision
95OpDecorate %100 RelaxedPrecision
96OpDecorate %101 RelaxedPrecision
97OpDecorate %102 RelaxedPrecision
98OpDecorate %103 RelaxedPrecision
99OpDecorate %104 RelaxedPrecision
100OpDecorate %105 RelaxedPrecision
101OpDecorate %106 RelaxedPrecision
102OpDecorate %107 RelaxedPrecision
103OpDecorate %108 RelaxedPrecision
104OpDecorate %109 RelaxedPrecision
105OpDecorate %110 RelaxedPrecision
106OpDecorate %111 RelaxedPrecision
107OpDecorate %112 RelaxedPrecision
108OpDecorate %113 RelaxedPrecision
109OpDecorate %114 RelaxedPrecision
110OpDecorate %115 RelaxedPrecision
111OpDecorate %116 RelaxedPrecision
112OpDecorate %117 RelaxedPrecision
113OpDecorate %118 RelaxedPrecision
114OpDecorate %119 RelaxedPrecision
115OpDecorate %120 RelaxedPrecision
116OpDecorate %121 RelaxedPrecision
117OpDecorate %122 RelaxedPrecision
118OpDecorate %123 RelaxedPrecision
119OpDecorate %124 RelaxedPrecision
120OpDecorate %125 RelaxedPrecision
121OpDecorate %126 RelaxedPrecision
122OpDecorate %127 RelaxedPrecision
123OpDecorate %128 RelaxedPrecision
124OpDecorate %129 RelaxedPrecision
125OpDecorate %130 RelaxedPrecision
126OpDecorate %131 RelaxedPrecision
127OpDecorate %132 RelaxedPrecision
128OpDecorate %133 RelaxedPrecision
129OpDecorate %134 RelaxedPrecision
130OpDecorate %135 RelaxedPrecision
131OpDecorate %136 RelaxedPrecision
132OpDecorate %137 RelaxedPrecision
133OpDecorate %138 RelaxedPrecision
134OpDecorate %139 RelaxedPrecision
135OpDecorate %140 RelaxedPrecision
136OpDecorate %141 RelaxedPrecision
137OpDecorate %142 RelaxedPrecision
138OpDecorate %143 RelaxedPrecision
139OpDecorate %144 RelaxedPrecision
140OpDecorate %145 RelaxedPrecision
141OpDecorate %146 RelaxedPrecision
142OpDecorate %147 RelaxedPrecision
143OpDecorate %148 RelaxedPrecision
144OpDecorate %158 RelaxedPrecision
145OpDecorate %161 RelaxedPrecision
146OpDecorate %162 RelaxedPrecision
147%float = OpTypeFloat 32
148%v4float = OpTypeVector %float 4
149%_ptr_Output_v4float = OpTypePointer Output %v4float
150%sk_FragColor = OpVariable %_ptr_Output_v4float Output
151%bool = OpTypeBool
152%_ptr_Input_bool = OpTypePointer Input %bool
153%sk_Clockwise = OpVariable %_ptr_Input_bool Input
154%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float
155%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
156%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
157%void = OpTypeVoid
158%15 = OpTypeFunction %void
159%v2float = OpTypeVector %float 2
160%float_0 = OpConstant %float 0
161%19 = OpConstantComposite %v2float %float_0 %float_0
162%_ptr_Function_v2float = OpTypePointer Function %v2float
163%23 = OpTypeFunction %v4float %_ptr_Function_v2float
164%_ptr_Function_v4float = OpTypePointer Function %v4float
165%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
166%int = OpTypeInt 32 1
167%int_0 = OpConstant %int 0
168%float_1 = OpConstant %float 1
169%v3float = OpTypeVector %float 3
170%148 = OpConstantComposite %v4float %float_0 %float_1 %float_1 %float_1
171%v4bool = OpTypeVector %bool 4
172%int_1 = OpConstant %int 1
173%int_2 = OpConstant %int 2
174%_entrypoint_v = OpFunction %void None %15
175%16 = OpLabel
176%20 = OpVariable %_ptr_Function_v2float Function
177OpStore %20 %19
178%22 = OpFunctionCall %v4float %main %20
179OpStore %sk_FragColor %22
180OpReturn
181OpFunctionEnd
182%main = OpFunction %v4float None %23
183%24 = OpFunctionParameter %_ptr_Function_v2float
184%25 = OpLabel
185%v = OpVariable %_ptr_Function_v4float Function
186%152 = OpVariable %_ptr_Function_v4float Function
187%28 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
188%32 = OpLoad %v4float %28
189OpStore %v %32
190%33 = OpLoad %v4float %v
191%34 = OpCompositeExtract %float %33 0
192%36 = OpCompositeConstruct %v4float %34 %float_1 %float_1 %float_1
193OpStore %v %36
194%37 = OpLoad %v4float %v
195%38 = OpVectorShuffle %v2float %37 %37 0 1
196%39 = OpCompositeExtract %float %38 0
197%40 = OpCompositeExtract %float %38 1
198%41 = OpCompositeConstruct %v4float %39 %40 %float_1 %float_1
199OpStore %v %41
200%42 = OpLoad %v4float %v
201%43 = OpCompositeExtract %float %42 0
202%44 = OpCompositeConstruct %v4float %43 %float_1 %float_1 %float_1
203OpStore %v %44
204%45 = OpLoad %v4float %v
205%46 = OpCompositeExtract %float %45 1
206%47 = OpCompositeConstruct %v4float %float_0 %46 %float_1 %float_1
207OpStore %v %47
208%48 = OpLoad %v4float %v
209%49 = OpVectorShuffle %v3float %48 %48 0 1 2
210%51 = OpCompositeExtract %float %49 0
211%52 = OpCompositeExtract %float %49 1
212%53 = OpCompositeExtract %float %49 2
213%54 = OpCompositeConstruct %v4float %51 %52 %53 %float_1
214OpStore %v %54
215%55 = OpLoad %v4float %v
216%56 = OpVectorShuffle %v2float %55 %55 0 1
217%57 = OpCompositeExtract %float %56 0
218%58 = OpCompositeExtract %float %56 1
219%59 = OpCompositeConstruct %v4float %57 %58 %float_1 %float_1
220OpStore %v %59
221%60 = OpLoad %v4float %v
222%61 = OpCompositeExtract %float %60 0
223%62 = OpLoad %v4float %v
224%63 = OpCompositeExtract %float %62 2
225%64 = OpCompositeConstruct %v4float %61 %float_0 %63 %float_1
226OpStore %v %64
227%65 = OpLoad %v4float %v
228%66 = OpCompositeExtract %float %65 0
229%67 = OpCompositeConstruct %v4float %66 %float_1 %float_0 %float_1
230OpStore %v %67
231%68 = OpLoad %v4float %v
232%69 = OpVectorShuffle %v2float %68 %68 1 2
233%70 = OpCompositeExtract %float %69 0
234%71 = OpCompositeExtract %float %69 1
235%72 = OpCompositeConstruct %v4float %float_1 %70 %71 %float_1
236OpStore %v %72
237%73 = OpLoad %v4float %v
238%74 = OpCompositeExtract %float %73 1
239%75 = OpCompositeConstruct %v4float %float_0 %74 %float_1 %float_1
240OpStore %v %75
241%76 = OpLoad %v4float %v
242%77 = OpCompositeExtract %float %76 2
243%78 = OpCompositeConstruct %v4float %float_1 %float_1 %77 %float_1
244OpStore %v %78
245%79 = OpLoad %v4float %v
246%80 = OpVectorShuffle %v3float %79 %79 0 1 2
247%81 = OpCompositeExtract %float %80 0
248%82 = OpCompositeExtract %float %80 1
249%83 = OpCompositeExtract %float %80 2
250%84 = OpCompositeConstruct %v4float %81 %82 %83 %float_1
251OpStore %v %84
252%85 = OpLoad %v4float %v
253%86 = OpVectorShuffle %v2float %85 %85 0 1
254%87 = OpCompositeExtract %float %86 0
255%88 = OpCompositeExtract %float %86 1
256%89 = OpLoad %v4float %v
257%90 = OpCompositeExtract %float %89 3
258%91 = OpCompositeConstruct %v4float %87 %88 %float_0 %90
259OpStore %v %91
260%92 = OpLoad %v4float %v
261%93 = OpVectorShuffle %v2float %92 %92 0 1
262%94 = OpCompositeExtract %float %93 0
263%95 = OpCompositeExtract %float %93 1
264%96 = OpCompositeConstruct %v4float %94 %95 %float_1 %float_0
265OpStore %v %96
266%97 = OpLoad %v4float %v
267%98 = OpCompositeExtract %float %97 0
268%99 = OpLoad %v4float %v
269%100 = OpVectorShuffle %v2float %99 %99 2 3
270%101 = OpCompositeExtract %float %100 0
271%102 = OpCompositeExtract %float %100 1
272%103 = OpCompositeConstruct %v4float %98 %float_1 %101 %102
273OpStore %v %103
274%104 = OpLoad %v4float %v
275%105 = OpCompositeExtract %float %104 0
276%106 = OpLoad %v4float %v
277%107 = OpCompositeExtract %float %106 2
278%108 = OpCompositeConstruct %v4float %105 %float_0 %107 %float_1
279OpStore %v %108
280%109 = OpLoad %v4float %v
281%110 = OpCompositeExtract %float %109 0
282%111 = OpLoad %v4float %v
283%112 = OpCompositeExtract %float %111 3
284%113 = OpCompositeConstruct %v4float %110 %float_1 %float_1 %112
285OpStore %v %113
286%114 = OpLoad %v4float %v
287%115 = OpCompositeExtract %float %114 0
288%116 = OpCompositeConstruct %v4float %115 %float_1 %float_0 %float_1
289OpStore %v %116
290%117 = OpLoad %v4float %v
291%118 = OpVectorShuffle %v3float %117 %117 1 2 3
292%119 = OpCompositeExtract %float %118 0
293%120 = OpCompositeExtract %float %118 1
294%121 = OpCompositeExtract %float %118 2
295%122 = OpCompositeConstruct %v4float %float_1 %119 %120 %121
296OpStore %v %122
297%123 = OpLoad %v4float %v
298%124 = OpVectorShuffle %v2float %123 %123 1 2
299%125 = OpCompositeExtract %float %124 0
300%126 = OpCompositeExtract %float %124 1
301%127 = OpCompositeConstruct %v4float %float_0 %125 %126 %float_1
302OpStore %v %127
303%128 = OpLoad %v4float %v
304%129 = OpCompositeExtract %float %128 1
305%130 = OpLoad %v4float %v
306%131 = OpCompositeExtract %float %130 3
307%132 = OpCompositeConstruct %v4float %float_0 %129 %float_1 %131
308OpStore %v %132
309%133 = OpLoad %v4float %v
310%134 = OpCompositeExtract %float %133 1
311%135 = OpCompositeConstruct %v4float %float_1 %134 %float_1 %float_1
312OpStore %v %135
313%136 = OpLoad %v4float %v
314%137 = OpVectorShuffle %v2float %136 %136 2 3
315%138 = OpCompositeExtract %float %137 0
316%139 = OpCompositeExtract %float %137 1
317%140 = OpCompositeConstruct %v4float %float_0 %float_0 %138 %139
318OpStore %v %140
319%141 = OpLoad %v4float %v
320%142 = OpCompositeExtract %float %141 2
321%143 = OpCompositeConstruct %v4float %float_0 %float_0 %142 %float_1
322OpStore %v %143
323%144 = OpLoad %v4float %v
324%145 = OpCompositeExtract %float %144 3
325%146 = OpCompositeConstruct %v4float %float_0 %float_1 %float_1 %145
326OpStore %v %146
327%147 = OpLoad %v4float %v
328%149 = OpFOrdEqual %v4bool %147 %148
329%151 = OpAll %bool %149
330OpSelectionMerge %155 None
331OpBranchConditional %151 %153 %154
332%153 = OpLabel
333%156 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
334%158 = OpLoad %v4float %156
335OpStore %152 %158
336OpBranch %155
337%154 = OpLabel
338%159 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
339%161 = OpLoad %v4float %159
340OpStore %152 %161
341OpBranch %155
342%155 = OpLabel
343%162 = OpLoad %v4float %152
344OpReturnValue %162
345OpFunctionEnd
346