OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2009 The Android Open Source Project | 2 * Copyright 2009 The Android Open Source Project |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkBitmapProcState_opts_SSE2.h" | 8 #include "SkBitmapProcState_opts_SSE2.h" |
9 #include "SkBitmapProcState_opts_SSSE3.h" | 9 #include "SkBitmapProcState_opts_SSSE3.h" |
10 #include "SkBitmapFilter_opts_SSE2.h" | 10 #include "SkBitmapFilter_opts_SSE2.h" |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 fMatrixProc = ClampX_ClampY_nofilter_affine_SSE2; | 158 fMatrixProc = ClampX_ClampY_nofilter_affine_SSE2; |
159 } | 159 } |
160 if (c_hqfilter_sse) { | 160 if (c_hqfilter_sse) { |
161 if (fShaderProc32 == highQualityFilter32) { | 161 if (fShaderProc32 == highQualityFilter32) { |
162 fShaderProc32 = highQualityFilter_SSE2; | 162 fShaderProc32 = highQualityFilter_SSE2; |
163 } | 163 } |
164 } | 164 } |
165 } | 165 } |
166 } | 166 } |
167 | 167 |
| 168 static SkBlitRow::Proc platform_16_procs[] = { |
| 169 NULL, // S32_D565_Opaque |
| 170 NULL, // S32_D565_Blend |
| 171 S32A_D565_Opaque_SSE2, // S32A_D565_Opaque |
| 172 NULL, // S32A_D565_Blend |
| 173 NULL, // S32_D565_Opaque_Dither |
| 174 NULL, // S32_D565_Blend_Dither |
| 175 NULL, // S32A_D565_Opaque_Dither |
| 176 NULL, // S32A_D565_Blend_Dither |
| 177 }; |
| 178 |
168 static SkBlitRow::Proc32 platform_32_procs[] = { | 179 static SkBlitRow::Proc32 platform_32_procs[] = { |
169 NULL, // S32_Opaque, | 180 NULL, // S32_Opaque, |
170 S32_Blend_BlitRow32_SSE2, // S32_Blend, | 181 S32_Blend_BlitRow32_SSE2, // S32_Blend, |
171 S32A_Opaque_BlitRow32_SSE2, // S32A_Opaque | 182 S32A_Opaque_BlitRow32_SSE2, // S32A_Opaque |
172 S32A_Blend_BlitRow32_SSE2, // S32A_Blend, | 183 S32A_Blend_BlitRow32_SSE2, // S32A_Blend, |
173 }; | 184 }; |
174 | 185 |
175 SkBlitRow::Proc SkBlitRow::PlatformProcs565(unsigned flags) { | 186 SkBlitRow::Proc SkBlitRow::PlatformProcs565(unsigned flags) { |
176 return NULL; | 187 if (cachedHasSSE2()) { |
| 188 return platform_16_procs[flags]; |
| 189 } else { |
| 190 return NULL; |
| 191 } |
177 } | 192 } |
178 | 193 |
179 SkBlitRow::ColorProc SkBlitRow::PlatformColorProc() { | 194 SkBlitRow::ColorProc SkBlitRow::PlatformColorProc() { |
180 if (cachedHasSSE2()) { | 195 if (cachedHasSSE2()) { |
181 return Color32_SSE2; | 196 return Color32_SSE2; |
182 } else { | 197 } else { |
183 return NULL; | 198 return NULL; |
184 } | 199 } |
185 } | 200 } |
186 | 201 |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
285 | 300 |
286 SkBlitRow::ColorRectProc PlatformColorRectProcFactory(); // suppress warning | 301 SkBlitRow::ColorRectProc PlatformColorRectProcFactory(); // suppress warning |
287 | 302 |
288 SkBlitRow::ColorRectProc PlatformColorRectProcFactory() { | 303 SkBlitRow::ColorRectProc PlatformColorRectProcFactory() { |
289 if (cachedHasSSE2()) { | 304 if (cachedHasSSE2()) { |
290 return ColorRect32_SSE2; | 305 return ColorRect32_SSE2; |
291 } else { | 306 } else { |
292 return NULL; | 307 return NULL; |
293 } | 308 } |
294 } | 309 } |
OLD | NEW |