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