aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2014-12-19 07:40:26 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2014-12-19 07:40:26 -0800
commit438b0d754d8c7b781fa50718c748c262bf3a772d (patch)
tree1fdbfc82bdcba6c64dbb8c5503092b7410663cdf
parentb64e56941c9e88490ffdaf825ee25f7d830c6350 (diff)
Enable new gradients + suppress gms for now
-rw-r--r--expectations/gm/ignored-tests.txt31
-rw-r--r--gm/gradtext.cpp8
-rw-r--r--gyp/skia_for_chromium_defines.gypi1
-rw-r--r--src/effects/gradients/SkClampRange.cpp2
-rw-r--r--src/effects/gradients/SkClampRange.h2
-rw-r--r--tests/ClampRangeTest.cpp13
6 files changed, 47 insertions, 10 deletions
diff --git a/expectations/gm/ignored-tests.txt b/expectations/gm/ignored-tests.txt
index 44577413b8..6edfa60c2a 100644
--- a/expectations/gm/ignored-tests.txt
+++ b/expectations/gm/ignored-tests.txt
@@ -51,6 +51,37 @@ imagemagnifier
#reed
modecolorfilters
+#reed
+alphagradients
+arithmode
+c_gms
+colorcube
+composeshader_alpha
+composeshader
+patch_primitive
+gammagradienttext
+glyph_pos_align
+gradient_dirty_laundry
+gradients_many
+gradient_matrix
+gradients_no_texture
+gradtext
+lightingcolorfilter
+lumafilter
+shaderbounds_linear
+shallow_gradient_linear
+scaled_tilemodes_npot
+scaled_tilemode_gradient
+shadertext2
+shadertext3
+srcmode
+surfaceprops
+tablecolorfilter
+tilemode_gradient
+tilemodes_npot
+vertices
+vertices_80
+
#humper skia:2049
dashcubics
diff --git a/gm/gradtext.cpp b/gm/gradtext.cpp
index 96ce59f841..47440f6d18 100644
--- a/gm/gradtext.cpp
+++ b/gm/gradtext.cpp
@@ -106,7 +106,11 @@ protected:
return SkString("gradtext");
}
- virtual SkISize onISize() { return SkISize::Make(500, 480); }
+ uint32_t onGetFlags() const SK_OVERRIDE {
+ return kSkipTiled_Flag;
+ }
+
+ SkISize onISize() SK_OVERRIDE { return SkISize::Make(500, 480); }
static void draw_text(SkCanvas* canvas, const SkPaint& paint) {
const char* text = "When in the course of human events";
@@ -127,7 +131,7 @@ protected:
draw_text(canvas, p);
}
- virtual void onDraw(SkCanvas* canvas) {
+ void onDraw(SkCanvas* canvas) SK_OVERRIDE {
SkPaint paint;
sk_tool_utils::set_portable_typeface(&paint);
paint.setTextSize(SkIntToScalar(26));
diff --git a/gyp/skia_for_chromium_defines.gypi b/gyp/skia_for_chromium_defines.gypi
index 6a9adf5a8e..a214270034 100644
--- a/gyp/skia_for_chromium_defines.gypi
+++ b/gyp/skia_for_chromium_defines.gypi
@@ -13,6 +13,7 @@
# If these become 'permanent', they should be moved into skia_common.gypi
#
'skia_for_chromium_defines': [
+ 'SK_SUPPORT_LEGACY_GRADIENT_PRECISION',
],
},
}
diff --git a/src/effects/gradients/SkClampRange.cpp b/src/effects/gradients/SkClampRange.cpp
index cf302cd2a9..6f46923704 100644
--- a/src/effects/gradients/SkClampRange.cpp
+++ b/src/effects/gradients/SkClampRange.cpp
@@ -163,7 +163,7 @@ void SkClampRange::init(SkGradFixed fx0, SkGradFixed dx0, int count, int v0, int
}
if (fCount1 > 0) {
- fFx1 = fx0 + fCount0 * (int)dx;
+ fFx1 = fx0 + fCount0 * dx;
}
if (dx > 0) {
diff --git a/src/effects/gradients/SkClampRange.h b/src/effects/gradients/SkClampRange.h
index a71009d654..2f7bf6e09a 100644
--- a/src/effects/gradients/SkClampRange.h
+++ b/src/effects/gradients/SkClampRange.h
@@ -11,8 +11,6 @@
#include "SkFixed.h"
#include "SkScalar.h"
-#define SK_SUPPORT_LEGACY_GRADIENT_PRECISION
-
#ifdef SK_SUPPORT_LEGACY_GRADIENT_PRECISION
#define SkGradFixed SkFixed
#define SkScalarToGradFixed SkScalarToFixed
diff --git a/tests/ClampRangeTest.cpp b/tests/ClampRangeTest.cpp
index bf7c95fa57..ccce8c5bf3 100644
--- a/tests/ClampRangeTest.cpp
+++ b/tests/ClampRangeTest.cpp
@@ -21,9 +21,9 @@ static const int kV0 = -42, kV1 = -53, kRamp = -64;
static void check_value(int64_t bigfx, int expected) {
if (bigfx < 0) {
R_ASSERT(expected == kV0);
- } else if (bigfx > 0xFFFF) {
+ } else if (bigfx > kFracMax_SkGradFixed) {
R_ASSERT(expected == kV1);
- } else if (bigfx == 0xFFFF) {
+ } else if (bigfx == kFracMax_SkGradFixed) {
// Either one is fine (and we do see both).
R_ASSERT(expected == kV1 || expected == kRamp);
} else {
@@ -32,7 +32,7 @@ static void check_value(int64_t bigfx, int expected) {
}
static void slow_check(const SkClampRange& range,
- const SkFixed fx, SkFixed dx, int count) {
+ const SkGradFixed fx, SkGradFixed dx, int count) {
SkASSERT(range.fCount0 + range.fCount1 + range.fCount2 == count);
// If dx is large, fx will overflow if updated naively. So we use more bits.
@@ -56,9 +56,12 @@ static void slow_check(const SkClampRange& range,
static void test_range(SkFixed fx, SkFixed dx, int count) {
+ const SkGradFixed gfx = SkFixedToGradFixed(fx);
+ const SkGradFixed gdx = SkFixedToGradFixed(dx);
+
SkClampRange range;
- range.init(fx, dx, count, kV0, kV1);
- slow_check(range, fx, dx, count);
+ range.init(gfx, gdx, count, kV0, kV1);
+ slow_check(range, gfx, gdx, count);
}
#define ff(x) SkIntToFixed(x)