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