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