diff options
author | reed <reed@google.com> | 2014-12-19 07:40:26 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-12-19 07:40:26 -0800 |
commit | 438b0d754d8c7b781fa50718c748c262bf3a772d (patch) | |
tree | 1fdbfc82bdcba6c64dbb8c5503092b7410663cdf | |
parent | b64e56941c9e88490ffdaf825ee25f7d830c6350 (diff) |
Enable new gradients + suppress gms for now
This reverts commit 2c770271e612376508c18793c7067598378a00d9.
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/811753003
-rw-r--r-- | expectations/gm/ignored-tests.txt | 31 | ||||
-rw-r--r-- | gm/gradtext.cpp | 8 | ||||
-rw-r--r-- | gyp/skia_for_chromium_defines.gypi | 1 | ||||
-rw-r--r-- | src/effects/gradients/SkClampRange.cpp | 2 | ||||
-rw-r--r-- | src/effects/gradients/SkClampRange.h | 2 | ||||
-rw-r--r-- | tests/ClampRangeTest.cpp | 13 |
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) |