diff options
author | epoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-02-02 20:41:45 +0000 |
---|---|---|
committer | epoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-02-02 20:41:45 +0000 |
commit | 5468c9006e125a79f14a05e830dbf15a00661936 (patch) | |
tree | a369a18e0d37bd6f121b431cf5e28c4ba5c8d36e /src/effects/SkGradientShader.cpp | |
parent | b02af6edf3f23948c6298e90113cd2b40fc5f2e0 (diff) |
Disable optimization of certain bit-shift operations on Visual Studio 2010 only
to address http://code.google.com/p/skia/issues/detail?id=472
Review URL: https://codereview.appspot.com/5607058
git-svn-id: http://skia.googlecode.com/svn/trunk@3137 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/effects/SkGradientShader.cpp')
-rw-r--r-- | src/effects/SkGradientShader.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/effects/SkGradientShader.cpp b/src/effects/SkGradientShader.cpp index ef3edc04f0..4bbc96c42f 100644 --- a/src/effects/SkGradientShader.cpp +++ b/src/effects/SkGradientShader.cpp @@ -71,6 +71,12 @@ static inline int repeat_8bits(int x) { // Mirror +// Visual Studio 2010 (MSC_VER=1600) optimizes bit-shift code incorrectly. +// See http://code.google.com/p/skia/issues/detail?id=472 +#if defined(_MSC_VER) && (_MSC_VER >= 1600) +#pragma optimize("", off) +#endif + static inline SkFixed mirror_tileproc(SkFixed x) { int s = x << 15 >> 31; return (x ^ s) & 0xFFFF; @@ -99,6 +105,10 @@ static inline int mirror_8bits(int x) { #endif } +#if defined(_MSC_VER) && (_MSC_VER >= 1600) +#pragma optimize("", on) +#endif + /////////////////////////////////////////////////////////////////////////////// typedef SkFixed (*TileProc)(SkFixed); |