Index: src/opts/opts_check_SSE2.cpp |
diff --git a/src/opts/opts_check_SSE2.cpp b/src/opts/opts_check_SSE2.cpp |
index 37ce9036ca40267e9bc4c98572295b3dc57239b5..0bb450356d7b05a61917fe86a2b773b829ec5564 100644 |
--- a/src/opts/opts_check_SSE2.cpp |
+++ b/src/opts/opts_check_SSE2.cpp |
@@ -107,6 +107,16 @@ static bool cachedHasSSSE3() { |
SK_CONF_DECLARE( bool, c_hqfilter_sse, "bitmap.filter.highQualitySSE", false, "Use SSE optimized version of high quality image filters"); |
+void SkBitmapProcState::platformConvolutionProcs() { |
+ if (cachedHasSSE2()) { |
+ fConvolutionProcs->fExtraHorizontalReads = 3; |
+ fConvolutionProcs->fConvolveVertically = &convolveVertically_SSE2; |
+ fConvolutionProcs->fConvolve4RowsHorizontally = &convolve4RowsHorizontally_SSE2; |
+ fConvolutionProcs->fConvolveHorizontally = &convolveHorizontally_SSE2; |
+ fConvolutionProcs->fApplySIMDPadding = &applySIMDPadding_SSE2; |
+ } |
+} |
+ |
void SkBitmapProcState::platformProcs() { |
if (cachedHasSSSE3()) { |
#if !defined(SK_BUILD_FOR_ANDROID) |
@@ -151,9 +161,6 @@ void SkBitmapProcState::platformProcs() { |
if (fShaderProc32 == highQualityFilter) { |
fShaderProc32 = highQualityFilter_SSE2; |
} |
- if (fShaderProc32 == highQualityFilter_ScaleOnly) { |
- fShaderProc32 = highQualityFilter_ScaleOnly_SSE2; |
- } |
} |
} |
} |