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