New bitmap filter checkin; this time with less build breakage
BUG=
Review URL: https://codereview.chromium.org/18942002
git-svn-id: http://skia.googlecode.com/svn/trunk@9944 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/opts/opts_check_SSE2.cpp b/src/opts/opts_check_SSE2.cpp
index d23e384..37ce903 100644
--- a/src/opts/opts_check_SSE2.cpp
+++ b/src/opts/opts_check_SSE2.cpp
@@ -7,6 +7,7 @@
#include "SkBitmapProcState_opts_SSE2.h"
#include "SkBitmapProcState_opts_SSSE3.h"
+#include "SkBitmapFilter_opts_SSE2.h"
#include "SkBlitMask.h"
#include "SkBlitRow.h"
#include "SkBlitRect_opts_SSE2.h"
@@ -14,6 +15,8 @@
#include "SkUtils_opts_SSE2.h"
#include "SkUtils.h"
+#include "SkRTConf.h"
+
#if defined(_MSC_VER) && defined(_WIN64)
#include <intrin.h>
#endif
@@ -102,6 +105,8 @@
return gHasSSSE3;
}
+SK_CONF_DECLARE( bool, c_hqfilter_sse, "bitmap.filter.highQualitySSE", false, "Use SSE optimized version of high quality image filters");
+
void SkBitmapProcState::platformProcs() {
if (cachedHasSSSE3()) {
#if !defined(SK_BUILD_FOR_ANDROID)
@@ -142,6 +147,14 @@
} else if (fMatrixProc == ClampX_ClampY_nofilter_affine) {
fMatrixProc = ClampX_ClampY_nofilter_affine_SSE2;
}
+ if (c_hqfilter_sse) {
+ if (fShaderProc32 == highQualityFilter) {
+ fShaderProc32 = highQualityFilter_SSE2;
+ }
+ if (fShaderProc32 == highQualityFilter_ScaleOnly) {
+ fShaderProc32 = highQualityFilter_ScaleOnly_SSE2;
+ }
+ }
}
}