Revert to enabling all of -O2 as it exposes a bug in the toolchain.
authordjsollen <djsollen@google.com>
Wed, 3 Sep 2014 20:38:32 +0000 (13:38 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 3 Sep 2014 20:38:32 +0000 (13:38 -0700)
Instead as a workaround we will temporarily disable tiling the
few GMs that produce errors with the existing 64-bit ARM toolchain.

BUG=skia:2908
R=mtklein@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/537713002

gm/bitmaprect.cpp
gm/resizeimagefilter.cpp
gm/tilemodes_scaled.cpp
gyp/common_conditions.gypi

index 8b292837f321180ae7b5a011e1cd7dc9d86238f1..badffb9a939060c0e4bdd04c5a29bab3f559cae4 100644 (file)
@@ -45,6 +45,13 @@ protected:
         return SkISize::Make(640, 480);
     }
 
+#ifdef SK_CPU_ARM64
+    // Skip tiled drawing on 64-bit ARM until https://skbug.com/2908 is fixed.
+    virtual uint32_t onGetFlags() const SK_OVERRIDE {
+        return kSkipTiled_Flag;
+    }
+#endif
+
     virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
         canvas->drawColor(0xFFCCCCCC);
 
index e87dff0d35480a24d4b2eece45c9954e531f8f29..bb09e0b079f0a74d92b043a317be23b398c9ab21 100644 (file)
@@ -25,6 +25,13 @@ protected:
         return SkString("resizeimagefilter");
     }
 
+#ifdef SK_CPU_ARM64
+    // Skip tiled drawing on 64-bit ARM until https://skbug.com/2908 is fixed.
+    virtual uint32_t onGetFlags() const SK_OVERRIDE {
+        return kSkipTiled_Flag;
+    }
+#endif
+
     void draw(SkCanvas* canvas,
               const SkRect& rect,
               const SkSize& deviceSize,
index 360539ca499a6d512a2d23888def116d7874eaa4..93a3db3f9073cf2b5b885a4d27fe6a6dc91e0d2f 100644 (file)
@@ -73,6 +73,13 @@ protected:
         return name;
     }
 
+#ifdef SK_CPU_ARM64
+    // Skip tiled drawing on 64-bit ARM until https://skbug.com/2908 is fixed.
+    virtual uint32_t onGetFlags() const SK_OVERRIDE {
+        return kSkipTiled_Flag;
+    }
+#endif
+
     SkISize onISize() { return SkISize::Make(880, 760); }
 
     virtual void onOnceBeforeDraw() SK_OVERRIDE {
index 0075b250ea6a95a3c53ff8fd4c90d78e57c8c731..aa6da5160fd5c981cb17d74e71b34f3931bd81e9 100644 (file)
               '-fno-omit-frame-pointer',
             ],
           }],
-          [ 'skia_arch_type == "arm64"', {
-            # this flag causes tiling errors with GCC 4.9 (pre-release) toolchain
-            # see skbug.com/ 
-            'cflags': [
-              '-fno-expensive-optimizations'
-            ],
-          }],
           [ 'skia_arch_type == "arm" and arm_thumb == 1', {
             'cflags': [
               '-mthumb',