• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 %constVal "constVal"
15OpName %expectedA "expectedA"
16OpName %expectedB "expectedB"
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 %10 Binding 0
29OpDecorate %10 DescriptorSet 0
30OpDecorate %constVal RelaxedPrecision
31OpDecorate %31 RelaxedPrecision
32OpDecorate %expectedA RelaxedPrecision
33OpDecorate %35 RelaxedPrecision
34OpDecorate %expectedB RelaxedPrecision
35OpDecorate %37 RelaxedPrecision
36OpDecorate %39 RelaxedPrecision
37OpDecorate %40 RelaxedPrecision
38OpDecorate %44 RelaxedPrecision
39OpDecorate %45 RelaxedPrecision
40OpDecorate %53 RelaxedPrecision
41OpDecorate %54 RelaxedPrecision
42OpDecorate %55 RelaxedPrecision
43OpDecorate %62 RelaxedPrecision
44OpDecorate %69 RelaxedPrecision
45OpDecorate %70 RelaxedPrecision
46OpDecorate %75 RelaxedPrecision
47OpDecorate %76 RelaxedPrecision
48OpDecorate %82 RelaxedPrecision
49OpDecorate %83 RelaxedPrecision
50OpDecorate %89 RelaxedPrecision
51OpDecorate %100 RelaxedPrecision
52OpDecorate %101 RelaxedPrecision
53OpDecorate %104 RelaxedPrecision
54OpDecorate %105 RelaxedPrecision
55OpDecorate %106 RelaxedPrecision
56OpDecorate %107 RelaxedPrecision
57OpDecorate %114 RelaxedPrecision
58OpDecorate %115 RelaxedPrecision
59OpDecorate %116 RelaxedPrecision
60OpDecorate %118 RelaxedPrecision
61OpDecorate %119 RelaxedPrecision
62OpDecorate %120 RelaxedPrecision
63OpDecorate %121 RelaxedPrecision
64OpDecorate %122 RelaxedPrecision
65OpDecorate %123 RelaxedPrecision
66OpDecorate %131 RelaxedPrecision
67OpDecorate %132 RelaxedPrecision
68OpDecorate %133 RelaxedPrecision
69OpDecorate %135 RelaxedPrecision
70OpDecorate %136 RelaxedPrecision
71OpDecorate %137 RelaxedPrecision
72OpDecorate %138 RelaxedPrecision
73OpDecorate %139 RelaxedPrecision
74OpDecorate %140 RelaxedPrecision
75OpDecorate %148 RelaxedPrecision
76OpDecorate %149 RelaxedPrecision
77OpDecorate %150 RelaxedPrecision
78OpDecorate %152 RelaxedPrecision
79OpDecorate %153 RelaxedPrecision
80OpDecorate %154 RelaxedPrecision
81OpDecorate %155 RelaxedPrecision
82OpDecorate %156 RelaxedPrecision
83OpDecorate %162 RelaxedPrecision
84OpDecorate %163 RelaxedPrecision
85OpDecorate %168 RelaxedPrecision
86OpDecorate %169 RelaxedPrecision
87OpDecorate %170 RelaxedPrecision
88OpDecorate %176 RelaxedPrecision
89OpDecorate %177 RelaxedPrecision
90OpDecorate %178 RelaxedPrecision
91OpDecorate %184 RelaxedPrecision
92OpDecorate %192 RelaxedPrecision
93OpDecorate %193 RelaxedPrecision
94OpDecorate %195 RelaxedPrecision
95OpDecorate %196 RelaxedPrecision
96OpDecorate %197 RelaxedPrecision
97OpDecorate %198 RelaxedPrecision
98OpDecorate %205 RelaxedPrecision
99OpDecorate %206 RelaxedPrecision
100OpDecorate %208 RelaxedPrecision
101OpDecorate %209 RelaxedPrecision
102OpDecorate %210 RelaxedPrecision
103OpDecorate %211 RelaxedPrecision
104OpDecorate %219 RelaxedPrecision
105OpDecorate %220 RelaxedPrecision
106OpDecorate %222 RelaxedPrecision
107OpDecorate %223 RelaxedPrecision
108OpDecorate %224 RelaxedPrecision
109OpDecorate %225 RelaxedPrecision
110OpDecorate %233 RelaxedPrecision
111OpDecorate %235 RelaxedPrecision
112OpDecorate %236 RelaxedPrecision
113OpDecorate %237 RelaxedPrecision
114OpDecorate %246 RelaxedPrecision
115OpDecorate %248 RelaxedPrecision
116OpDecorate %249 RelaxedPrecision
117%float = OpTypeFloat 32
118%v4float = OpTypeVector %float 4
119%_ptr_Output_v4float = OpTypePointer Output %v4float
120%sk_FragColor = OpVariable %_ptr_Output_v4float Output
121%bool = OpTypeBool
122%_ptr_Input_bool = OpTypePointer Input %bool
123%sk_Clockwise = OpVariable %_ptr_Input_bool Input
124%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float
125%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
126%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
127%void = OpTypeVoid
128%15 = OpTypeFunction %void
129%v2float = OpTypeVector %float 2
130%float_0 = OpConstant %float 0
131%19 = OpConstantComposite %v2float %float_0 %float_0
132%_ptr_Function_v2float = OpTypePointer Function %v2float
133%23 = OpTypeFunction %v4float %_ptr_Function_v2float
134%_ptr_Function_v4float = OpTypePointer Function %v4float
135%float_n1_25 = OpConstant %float -1.25
136%float_0_75 = OpConstant %float 0.75
137%float_2_25 = OpConstant %float 2.25
138%31 = OpConstantComposite %v4float %float_n1_25 %float_0 %float_0_75 %float_2_25
139%float_0_84375 = OpConstant %float 0.84375
140%float_1 = OpConstant %float 1
141%35 = OpConstantComposite %v4float %float_0 %float_0 %float_0_84375 %float_1
142%37 = OpConstantComposite %v4float %float_1 %float_0 %float_1 %float_1
143%false = OpConstantFalse %bool
144%v2bool = OpTypeVector %bool 2
145%v3float = OpTypeVector %float 3
146%53 = OpConstantComposite %v3float %float_0 %float_0 %float_0_84375
147%v3bool = OpTypeVector %bool 3
148%v4bool = OpTypeVector %bool 4
149%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
150%int = OpTypeInt 32 1
151%int_2 = OpConstant %int 2
152%int_1 = OpConstant %int 1
153%121 = OpConstantComposite %v2float %float_n1_25 %float_0
154%138 = OpConstantComposite %v3float %float_n1_25 %float_0 %float_0_75
155%168 = OpConstantComposite %v2float %float_1 %float_0
156%176 = OpConstantComposite %v3float %float_1 %float_0 %float_1
157%_entrypoint_v = OpFunction %void None %15
158%16 = OpLabel
159%20 = OpVariable %_ptr_Function_v2float Function
160OpStore %20 %19
161%22 = OpFunctionCall %v4float %main %20
162OpStore %sk_FragColor %22
163OpReturn
164OpFunctionEnd
165%main = OpFunction %v4float None %23
166%24 = OpFunctionParameter %_ptr_Function_v2float
167%25 = OpLabel
168%constVal = OpVariable %_ptr_Function_v4float Function
169%expectedA = OpVariable %_ptr_Function_v4float Function
170%expectedB = OpVariable %_ptr_Function_v4float Function
171%241 = OpVariable %_ptr_Function_v4float Function
172OpStore %constVal %31
173OpStore %expectedA %35
174OpStore %expectedB %37
175%39 = OpLoad %v4float %expectedA
176%40 = OpCompositeExtract %float %39 0
177%41 = OpFOrdEqual %bool %float_0 %40
178OpSelectionMerge %43 None
179OpBranchConditional %41 %42 %43
180%42 = OpLabel
181%44 = OpLoad %v4float %expectedA
182%45 = OpVectorShuffle %v2float %44 %44 0 1
183%46 = OpFOrdEqual %v2bool %19 %45
184%48 = OpAll %bool %46
185OpBranch %43
186%43 = OpLabel
187%49 = OpPhi %bool %false %25 %48 %42
188OpSelectionMerge %51 None
189OpBranchConditional %49 %50 %51
190%50 = OpLabel
191%54 = OpLoad %v4float %expectedA
192%55 = OpVectorShuffle %v3float %54 %54 0 1 2
193%56 = OpFOrdEqual %v3bool %53 %55
194%58 = OpAll %bool %56
195OpBranch %51
196%51 = OpLabel
197%59 = OpPhi %bool %false %43 %58 %50
198OpSelectionMerge %61 None
199OpBranchConditional %59 %60 %61
200%60 = OpLabel
201%62 = OpLoad %v4float %expectedA
202%63 = OpFOrdEqual %v4bool %35 %62
203%65 = OpAll %bool %63
204OpBranch %61
205%61 = OpLabel
206%66 = OpPhi %bool %false %51 %65 %60
207OpSelectionMerge %68 None
208OpBranchConditional %66 %67 %68
209%67 = OpLabel
210%69 = OpLoad %v4float %expectedA
211%70 = OpCompositeExtract %float %69 0
212%71 = OpFOrdEqual %bool %float_0 %70
213OpBranch %68
214%68 = OpLabel
215%72 = OpPhi %bool %false %61 %71 %67
216OpSelectionMerge %74 None
217OpBranchConditional %72 %73 %74
218%73 = OpLabel
219%75 = OpLoad %v4float %expectedA
220%76 = OpVectorShuffle %v2float %75 %75 0 1
221%77 = OpFOrdEqual %v2bool %19 %76
222%78 = OpAll %bool %77
223OpBranch %74
224%74 = OpLabel
225%79 = OpPhi %bool %false %68 %78 %73
226OpSelectionMerge %81 None
227OpBranchConditional %79 %80 %81
228%80 = OpLabel
229%82 = OpLoad %v4float %expectedA
230%83 = OpVectorShuffle %v3float %82 %82 0 1 2
231%84 = OpFOrdEqual %v3bool %53 %83
232%85 = OpAll %bool %84
233OpBranch %81
234%81 = OpLabel
235%86 = OpPhi %bool %false %74 %85 %80
236OpSelectionMerge %88 None
237OpBranchConditional %86 %87 %88
238%87 = OpLabel
239%89 = OpLoad %v4float %expectedA
240%90 = OpFOrdEqual %v4bool %35 %89
241%91 = OpAll %bool %90
242OpBranch %88
243%88 = OpLabel
244%92 = OpPhi %bool %false %81 %91 %87
245OpSelectionMerge %94 None
246OpBranchConditional %92 %93 %94
247%93 = OpLabel
248%96 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
249%100 = OpLoad %v4float %96
250%101 = OpCompositeExtract %float %100 1
251%102 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
252%104 = OpLoad %v4float %102
253%105 = OpCompositeExtract %float %104 1
254%95 = OpExtInst %float %1 SmoothStep %101 %105 %float_n1_25
255%106 = OpLoad %v4float %expectedA
256%107 = OpCompositeExtract %float %106 0
257%108 = OpFOrdEqual %bool %95 %107
258OpBranch %94
259%94 = OpLabel
260%109 = OpPhi %bool %false %88 %108 %93
261OpSelectionMerge %111 None
262OpBranchConditional %109 %110 %111
263%110 = OpLabel
264%113 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
265%114 = OpLoad %v4float %113
266%115 = OpCompositeExtract %float %114 1
267%116 = OpCompositeConstruct %v2float %115 %115
268%117 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
269%118 = OpLoad %v4float %117
270%119 = OpCompositeExtract %float %118 1
271%120 = OpCompositeConstruct %v2float %119 %119
272%112 = OpExtInst %v2float %1 SmoothStep %116 %120 %121
273%122 = OpLoad %v4float %expectedA
274%123 = OpVectorShuffle %v2float %122 %122 0 1
275%124 = OpFOrdEqual %v2bool %112 %123
276%125 = OpAll %bool %124
277OpBranch %111
278%111 = OpLabel
279%126 = OpPhi %bool %false %94 %125 %110
280OpSelectionMerge %128 None
281OpBranchConditional %126 %127 %128
282%127 = OpLabel
283%130 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
284%131 = OpLoad %v4float %130
285%132 = OpCompositeExtract %float %131 1
286%133 = OpCompositeConstruct %v3float %132 %132 %132
287%134 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
288%135 = OpLoad %v4float %134
289%136 = OpCompositeExtract %float %135 1
290%137 = OpCompositeConstruct %v3float %136 %136 %136
291%129 = OpExtInst %v3float %1 SmoothStep %133 %137 %138
292%139 = OpLoad %v4float %expectedA
293%140 = OpVectorShuffle %v3float %139 %139 0 1 2
294%141 = OpFOrdEqual %v3bool %129 %140
295%142 = OpAll %bool %141
296OpBranch %128
297%128 = OpLabel
298%143 = OpPhi %bool %false %111 %142 %127
299OpSelectionMerge %145 None
300OpBranchConditional %143 %144 %145
301%144 = OpLabel
302%147 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
303%148 = OpLoad %v4float %147
304%149 = OpCompositeExtract %float %148 1
305%150 = OpCompositeConstruct %v4float %149 %149 %149 %149
306%151 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
307%152 = OpLoad %v4float %151
308%153 = OpCompositeExtract %float %152 1
309%154 = OpCompositeConstruct %v4float %153 %153 %153 %153
310%155 = OpLoad %v4float %constVal
311%146 = OpExtInst %v4float %1 SmoothStep %150 %154 %155
312%156 = OpLoad %v4float %expectedA
313%157 = OpFOrdEqual %v4bool %146 %156
314%158 = OpAll %bool %157
315OpBranch %145
316%145 = OpLabel
317%159 = OpPhi %bool %false %128 %158 %144
318OpSelectionMerge %161 None
319OpBranchConditional %159 %160 %161
320%160 = OpLabel
321%162 = OpLoad %v4float %expectedB
322%163 = OpCompositeExtract %float %162 0
323%164 = OpFOrdEqual %bool %float_1 %163
324OpBranch %161
325%161 = OpLabel
326%165 = OpPhi %bool %false %145 %164 %160
327OpSelectionMerge %167 None
328OpBranchConditional %165 %166 %167
329%166 = OpLabel
330%169 = OpLoad %v4float %expectedB
331%170 = OpVectorShuffle %v2float %169 %169 0 1
332%171 = OpFOrdEqual %v2bool %168 %170
333%172 = OpAll %bool %171
334OpBranch %167
335%167 = OpLabel
336%173 = OpPhi %bool %false %161 %172 %166
337OpSelectionMerge %175 None
338OpBranchConditional %173 %174 %175
339%174 = OpLabel
340%177 = OpLoad %v4float %expectedB
341%178 = OpVectorShuffle %v3float %177 %177 0 1 2
342%179 = OpFOrdEqual %v3bool %176 %178
343%180 = OpAll %bool %179
344OpBranch %175
345%175 = OpLabel
346%181 = OpPhi %bool %false %167 %180 %174
347OpSelectionMerge %183 None
348OpBranchConditional %181 %182 %183
349%182 = OpLabel
350%184 = OpLoad %v4float %expectedB
351%185 = OpFOrdEqual %v4bool %37 %184
352%186 = OpAll %bool %185
353OpBranch %183
354%183 = OpLabel
355%187 = OpPhi %bool %false %175 %186 %182
356OpSelectionMerge %189 None
357OpBranchConditional %187 %188 %189
358%188 = OpLabel
359%191 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
360%192 = OpLoad %v4float %191
361%193 = OpCompositeExtract %float %192 0
362%194 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
363%195 = OpLoad %v4float %194
364%196 = OpCompositeExtract %float %195 0
365%190 = OpExtInst %float %1 SmoothStep %193 %196 %float_n1_25
366%197 = OpLoad %v4float %expectedB
367%198 = OpCompositeExtract %float %197 0
368%199 = OpFOrdEqual %bool %190 %198
369OpBranch %189
370%189 = OpLabel
371%200 = OpPhi %bool %false %183 %199 %188
372OpSelectionMerge %202 None
373OpBranchConditional %200 %201 %202
374%201 = OpLabel
375%204 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
376%205 = OpLoad %v4float %204
377%206 = OpVectorShuffle %v2float %205 %205 0 1
378%207 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
379%208 = OpLoad %v4float %207
380%209 = OpVectorShuffle %v2float %208 %208 0 1
381%203 = OpExtInst %v2float %1 SmoothStep %206 %209 %121
382%210 = OpLoad %v4float %expectedB
383%211 = OpVectorShuffle %v2float %210 %210 0 1
384%212 = OpFOrdEqual %v2bool %203 %211
385%213 = OpAll %bool %212
386OpBranch %202
387%202 = OpLabel
388%214 = OpPhi %bool %false %189 %213 %201
389OpSelectionMerge %216 None
390OpBranchConditional %214 %215 %216
391%215 = OpLabel
392%218 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
393%219 = OpLoad %v4float %218
394%220 = OpVectorShuffle %v3float %219 %219 0 1 2
395%221 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
396%222 = OpLoad %v4float %221
397%223 = OpVectorShuffle %v3float %222 %222 0 1 2
398%217 = OpExtInst %v3float %1 SmoothStep %220 %223 %138
399%224 = OpLoad %v4float %expectedB
400%225 = OpVectorShuffle %v3float %224 %224 0 1 2
401%226 = OpFOrdEqual %v3bool %217 %225
402%227 = OpAll %bool %226
403OpBranch %216
404%216 = OpLabel
405%228 = OpPhi %bool %false %202 %227 %215
406OpSelectionMerge %230 None
407OpBranchConditional %228 %229 %230
408%229 = OpLabel
409%232 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
410%233 = OpLoad %v4float %232
411%234 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
412%235 = OpLoad %v4float %234
413%236 = OpLoad %v4float %constVal
414%231 = OpExtInst %v4float %1 SmoothStep %233 %235 %236
415%237 = OpLoad %v4float %expectedB
416%238 = OpFOrdEqual %v4bool %231 %237
417%239 = OpAll %bool %238
418OpBranch %230
419%230 = OpLabel
420%240 = OpPhi %bool %false %216 %239 %229
421OpSelectionMerge %244 None
422OpBranchConditional %240 %242 %243
423%242 = OpLabel
424%245 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
425%246 = OpLoad %v4float %245
426OpStore %241 %246
427OpBranch %244
428%243 = OpLabel
429%247 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
430%248 = OpLoad %v4float %247
431OpStore %241 %248
432OpBranch %244
433%244 = OpLabel
434%249 = OpLoad %v4float %241
435OpReturnValue %249
436OpFunctionEnd
437