aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkConvolver.cpp
diff options
context:
space:
mode:
authorGravatar humper <humper@google.com>2014-08-28 14:01:31 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-08-28 14:01:31 -0700
commit4e4b935d526f5720b3f15c4742eef84d49ebb984 (patch)
tree916dae6b4c10f7131e181c5acba13d22a565bd55 /src/core/SkConvolver.cpp
parent228a6f275d7c5c17c48c20b57df971d9848f5dff (diff)
disable autovec on 32 *and* 64 bit builds for horiz. convolve
Works around some garbage bottom rows for certain scaled images. Will land a separate GM that demonstrates. BUG=skia: R=mtklein@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/513833003
Diffstat (limited to 'src/core/SkConvolver.cpp')
-rw-r--r--src/core/SkConvolver.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/SkConvolver.cpp b/src/core/SkConvolver.cpp
index 23a1ee3aaf..49688db03d 100644
--- a/src/core/SkConvolver.cpp
+++ b/src/core/SkConvolver.cpp
@@ -158,9 +158,12 @@ template<bool hasAlpha>
}
}
- // There's a bug somewhere here with GCC autovectorization (-ftree-vectorize) on 32 bit builds.
+ // There's a bug somewhere here with GCC autovectorization (-ftree-vectorize). We originally
+ // thought this was 32 bit only, but subsequent tests show that some 64 bit gcc compiles
+ // suffer here too.
+ //
// Dropping to -O2 disables -ftree-vectorize. GCC 4.6 needs noinline. http://skbug.com/2575
- #if defined(__i386) && SK_HAS_ATTRIBUTE(optimize) && defined(SK_RELEASE)
+ #if SK_HAS_ATTRIBUTE(optimize) && defined(SK_RELEASE)
#define SK_MAYBE_DISABLE_VECTORIZATION __attribute__((optimize("O2"), noinline))
#else
#define SK_MAYBE_DISABLE_VECTORIZATION