| Index: src/opts/opts_check_x86.cpp
|
| diff --git a/src/opts/opts_check_x86.cpp b/src/opts/opts_check_x86.cpp
|
| index 84a4913021bb7b60057f18f8305f639ca725dcf0..2d3b794283dd85cf5d3c346eb58231844543bf73 100644
|
| --- a/src/opts/opts_check_x86.cpp
|
| +++ b/src/opts/opts_check_x86.cpp
|
| @@ -197,7 +197,7 @@ void SkBitmapProcState::platformProcs() {
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
|
|
| -static SkBlitRow::Proc16 platform_16_procs[] = {
|
| +static const SkBlitRow::Proc16 platform_16_procs[] = {
|
| S32_D565_Opaque_SSE2, // S32_D565_Opaque
|
| NULL, // S32_D565_Blend
|
| S32A_D565_Opaque_SSE2, // S32A_D565_Opaque
|
| @@ -216,18 +216,27 @@ SkBlitRow::Proc16 SkBlitRow::PlatformFactory565(unsigned flags) {
|
| }
|
| }
|
|
|
| +static const SkBlitRow::ColorProc16 platform_565_colorprocs_SSE4[] = {
|
| + Color32A_D565_SSE4, // Color32A_D565,
|
| + NULL, // Color32A_D565_Dither
|
| +};
|
| +
|
| SkBlitRow::ColorProc16 SkBlitRow::PlatformColorFactory565(unsigned flags) {
|
| - return NULL;
|
| + if (supports_simd(SK_CPU_SSE_LEVEL_SSE41)) {
|
| + return platform_565_colorprocs_SSE4[flags];
|
| + } else {
|
| + return NULL;
|
| + }
|
| }
|
|
|
| -static SkBlitRow::Proc32 platform_32_procs_SSE2[] = {
|
| +static const SkBlitRow::Proc32 platform_32_procs_SSE2[] = {
|
| NULL, // S32_Opaque,
|
| S32_Blend_BlitRow32_SSE2, // S32_Blend,
|
| S32A_Opaque_BlitRow32_SSE2, // S32A_Opaque
|
| S32A_Blend_BlitRow32_SSE2, // S32A_Blend,
|
| };
|
|
|
| -static SkBlitRow::Proc32 platform_32_procs_SSE4[] = {
|
| +static const SkBlitRow::Proc32 platform_32_procs_SSE4[] = {
|
| NULL, // S32_Opaque,
|
| S32_Blend_BlitRow32_SSE2, // S32_Blend,
|
| S32A_Opaque_BlitRow32_SSE4, // S32A_Opaque
|
|
|