gfx/skia/patches/0022-Bug-848491-Re-apply-bug-795538-Ensure-we-use-the-cor.patch

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gfx/skia/patches/0022-Bug-848491-Re-apply-bug-795538-Ensure-we-use-the-cor.patch	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,39 @@
     1.4 +From: George Wright <gwright@mozilla.com>
     1.5 +Date: Thu, 20 Jun 2013 09:21:21 -0400
     1.6 +Subject: Bug 848491 - Re-apply bug 795538 - Ensure we use the correct colour (and alpha) for the clamp values r=mattwoodrow
     1.7 +
     1.8 +
     1.9 +diff --git a/gfx/skia/src/effects/gradients/SkGradientShader.cpp b/gfx/skia/src/effects/gradients/SkGradientShader.cpp
    1.10 +index 27a9c46..ce077b5 100644
    1.11 +--- a/gfx/skia/src/effects/gradients/SkGradientShader.cpp
    1.12 ++++ b/gfx/skia/src/effects/gradients/SkGradientShader.cpp
    1.13 +@@ -500,15 +500,17 @@ const SkPMColor* SkGradientShaderBase::getCache32() const {
    1.14 +     }
    1.15 + 
    1.16 +     // Write the clamp colours into the first and last entries of fCache32
    1.17 +-    fCache32[kCache32ClampLower] = SkPackARGB32(fCacheAlpha,
    1.18 +-                                                SkColorGetR(fOrigColors[0]),
    1.19 +-                                                SkColorGetG(fOrigColors[0]),
    1.20 +-                                                SkColorGetB(fOrigColors[0]));
    1.21 +-
    1.22 +-    fCache32[kCache32ClampUpper] = SkPackARGB32(fCacheAlpha,
    1.23 +-                                                SkColorGetR(fOrigColors[fColorCount - 1]),
    1.24 +-                                                SkColorGetG(fOrigColors[fColorCount - 1]),
    1.25 +-                                                SkColorGetB(fOrigColors[fColorCount - 1]));
    1.26 ++    fCache32[kCache32ClampLower] = SkPremultiplyARGBInline(SkMulDiv255Round(SkColorGetA(fOrigColors[0]),
    1.27 ++                                                                            fCacheAlpha),
    1.28 ++                                                           SkColorGetR(fOrigColors[0]),
    1.29 ++                                                           SkColorGetG(fOrigColors[0]),
    1.30 ++                                                           SkColorGetB(fOrigColors[0]));
    1.31 ++
    1.32 ++    fCache32[kCache32ClampUpper] = SkPremultiplyARGBInline(SkMulDiv255Round(SkColorGetA(fOrigColors[fColorCount - 1]),
    1.33 ++                                                                            fCacheAlpha),
    1.34 ++                                                           SkColorGetR(fOrigColors[fColorCount - 1]),
    1.35 ++                                                           SkColorGetG(fOrigColors[fColorCount - 1]),
    1.36 ++                                                           SkColorGetB(fOrigColors[fColorCount - 1]));
    1.37 + 
    1.38 +     return fCache32;
    1.39 + }
    1.40 +-- 
    1.41 +1.7.11.7
    1.42 +

mercurial