| 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 "SkBitmapFilter_opts_SSE2.h" | 8 #include "SkBitmapFilter_opts_SSE2.h" |
| 9 #include "SkBitmapProcState_opts_SSE2.h" | 9 #include "SkBitmapProcState_opts_SSE2.h" |
| 10 #include "SkBitmapProcState_opts_SSSE3.h" | 10 #include "SkBitmapProcState_opts_SSSE3.h" |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 237 return ColorRect32_SSE2; | 237 return ColorRect32_SSE2; |
| 238 } else { | 238 } else { |
| 239 return NULL; | 239 return NULL; |
| 240 } | 240 } |
| 241 */ | 241 */ |
| 242 return NULL; | 242 return NULL; |
| 243 } | 243 } |
| 244 | 244 |
| 245 //////////////////////////////////////////////////////////////////////////////// | 245 //////////////////////////////////////////////////////////////////////////////// |
| 246 | 246 |
| 247 SkBlitMask::ColorProc SkBlitMask::PlatformColorProcs(SkBitmap::Config dstConfig, | 247 SkBlitMask::ColorProc SkBlitMask::PlatformColorProcs(SkColorType dstCT, |
| 248 SkMask::Format maskFormat, | 248 SkMask::Format maskFormat, |
| 249 SkColor color) { | 249 SkColor color) { |
| 250 if (SkMask::kA8_Format != maskFormat) { | 250 if (SkMask::kA8_Format != maskFormat) { |
| 251 return NULL; | 251 return NULL; |
| 252 } | 252 } |
| 253 | 253 |
| 254 ColorProc proc = NULL; | 254 ColorProc proc = NULL; |
| 255 if (supports_simd(SK_CPU_SSE_LEVEL_SSE2)) { | 255 if (supports_simd(SK_CPU_SSE_LEVEL_SSE2)) { |
| 256 switch (dstConfig) { | 256 switch (dstCT) { |
| 257 case SkBitmap::kARGB_8888_Config: | 257 case kN32_SkColorType: |
| 258 // The SSE2 version is not (yet) faster for black, so we check | 258 // The SSE2 version is not (yet) faster for black, so we check |
| 259 // for that. | 259 // for that. |
| 260 if (SK_ColorBLACK != color) { | 260 if (SK_ColorBLACK != color) { |
| 261 proc = SkARGB32_A8_BlitMask_SSE2; | 261 proc = SkARGB32_A8_BlitMask_SSE2; |
| 262 } | 262 } |
| 263 break; | 263 break; |
| 264 default: | 264 default: |
| 265 break; | 265 break; |
| 266 } | 266 } |
| 267 } | 267 } |
| 268 return proc; | 268 return proc; |
| 269 } | 269 } |
| 270 | 270 |
| 271 SkBlitMask::BlitLCD16RowProc SkBlitMask::PlatformBlitRowProcs16(bool isOpaque) { | 271 SkBlitMask::BlitLCD16RowProc SkBlitMask::PlatformBlitRowProcs16(bool isOpaque) { |
| 272 if (supports_simd(SK_CPU_SSE_LEVEL_SSE2)) { | 272 if (supports_simd(SK_CPU_SSE_LEVEL_SSE2)) { |
| 273 if (isOpaque) { | 273 if (isOpaque) { |
| 274 return SkBlitLCD16OpaqueRow_SSE2; | 274 return SkBlitLCD16OpaqueRow_SSE2; |
| 275 } else { | 275 } else { |
| 276 return SkBlitLCD16Row_SSE2; | 276 return SkBlitLCD16Row_SSE2; |
| 277 } | 277 } |
| 278 } else { | 278 } else { |
| 279 return NULL; | 279 return NULL; |
| 280 } | 280 } |
| 281 | 281 |
| 282 } | 282 } |
| 283 | 283 |
| 284 SkBlitMask::RowProc SkBlitMask::PlatformRowProcs(SkBitmap::Config dstConfig, | 284 SkBlitMask::RowProc SkBlitMask::PlatformRowProcs(SkColorType, SkMask::Format, Ro
wFlags) { |
| 285 SkMask::Format maskFormat, | |
| 286 RowFlags flags) { | |
| 287 return NULL; | 285 return NULL; |
| 288 } | 286 } |
| 289 | 287 |
| 290 //////////////////////////////////////////////////////////////////////////////// | 288 //////////////////////////////////////////////////////////////////////////////// |
| 291 | 289 |
| 292 SkMemset16Proc SkMemset16GetPlatformProc() { | 290 SkMemset16Proc SkMemset16GetPlatformProc() { |
| 293 if (supports_simd(SK_CPU_SSE_LEVEL_SSE2)) { | 291 if (supports_simd(SK_CPU_SSE_LEVEL_SSE2)) { |
| 294 return sk_memset16_SSE2; | 292 return sk_memset16_SSE2; |
| 295 } else { | 293 } else { |
| 296 return NULL; | 294 return NULL; |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 } else { | 370 } else { |
| 373 return SkPlatformXfermodeFactory_impl(rec, mode); | 371 return SkPlatformXfermodeFactory_impl(rec, mode); |
| 374 } | 372 } |
| 375 } | 373 } |
| 376 | 374 |
| 377 SkXfermodeProc SkPlatformXfermodeProcFactory(SkXfermode::Mode mode); | 375 SkXfermodeProc SkPlatformXfermodeProcFactory(SkXfermode::Mode mode); |
| 378 | 376 |
| 379 SkXfermodeProc SkPlatformXfermodeProcFactory(SkXfermode::Mode mode) { | 377 SkXfermodeProc SkPlatformXfermodeProcFactory(SkXfermode::Mode mode) { |
| 380 return NULL; | 378 return NULL; |
| 381 } | 379 } |
| OLD | NEW |