diff options
author | 2017-03-31 16:45:04 +0000 | |
---|---|---|
committer | 2017-03-31 16:45:09 +0000 | |
commit | 1d1165ca6575e082b892c5460492c411618783ad (patch) | |
tree | d0c8be9303b4033e2eac559a104a9c1129430dbd /src/effects/gradients | |
parent | 43e5fd3e2095aa47630ff3a8b6da4139968d0492 (diff) |
Revert "clean up (partially) colortable api"
This reverts commit 2e491a6a113c5e16a3b7bede5fa6f588deeb928d.
Reason for revert: Windows unit tests failing?
Original change's description:
> clean up (partially) colortable api
>
> Needs this to land: https://codereview.chromium.org/2789853002/
>
> Bug: skia:
> Change-Id: I38d916a546b7fa64d000d973e695ddda24a589e7
> Reviewed-on: https://skia-review.googlesource.com/10600
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Matt Sarett <msarett@google.com>
>
TBR=msarett@google.com,scroggo@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I626e7edfcea82576a440dcaa851a04cedee6233f
Reviewed-on: https://skia-review.googlesource.com/10966
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/effects/gradients')
-rw-r--r-- | src/effects/gradients/SkGradientShader.cpp | 10 | ||||
-rw-r--r-- | src/effects/gradients/SkGradientShaderPriv.h | 5 |
2 files changed, 9 insertions, 6 deletions
diff --git a/src/effects/gradients/SkGradientShader.cpp b/src/effects/gradients/SkGradientShader.cpp index be60dee15e..0840d7c55e 100644 --- a/src/effects/gradients/SkGradientShader.cpp +++ b/src/effects/gradients/SkGradientShader.cpp @@ -10,7 +10,6 @@ #include "SkGradientShaderPriv.h" #include "SkHalf.h" #include "SkLinearGradient.h" -#include "SkMallocPixelRef.h" #include "SkRadialGradient.h" #include "SkTwoPointConicalGradient.h" #include "SkSweepGradient.h" @@ -411,9 +410,12 @@ SkGradientShaderBase::GradientShaderCache::GradientShaderCache( { // Only initialize the cache in getCache32. fCache32 = nullptr; + fCache32PixelRef = nullptr; } -SkGradientShaderBase::GradientShaderCache::~GradientShaderCache() {} +SkGradientShaderBase::GradientShaderCache::~GradientShaderCache() { + SkSafeUnref(fCache32PixelRef); +} /* * r,g,b used to be SkFixed, but on gcc (4.2.1 mac and 4.6.3 goobuntu) in @@ -582,8 +584,8 @@ void SkGradientShaderBase::GradientShaderCache::initCache32(GradientShaderCache* const SkImageInfo info = SkImageInfo::MakeN32Premul(kCache32Count, kNumberOfDitherRows); SkASSERT(nullptr == cache->fCache32PixelRef); - cache->fCache32PixelRef = SkMallocPixelRef::MakeAllocate(info, 0, nullptr); - cache->fCache32 = (SkPMColor*)cache->fCache32PixelRef->pixels(); + cache->fCache32PixelRef = SkMallocPixelRef::NewAllocate(info, 0, nullptr); + cache->fCache32 = (SkPMColor*)cache->fCache32PixelRef->getAddr(); if (cache->fShader.fColorCount == 2) { Build32bitCache(cache->fCache32, cache->fShader.fOrigColors[0], cache->fShader.fOrigColors[1], kCache32Count, cache->fCacheAlpha, diff --git a/src/effects/gradients/SkGradientShaderPriv.h b/src/effects/gradients/SkGradientShaderPriv.h index ec75bdc05a..f64b4396c2 100644 --- a/src/effects/gradients/SkGradientShaderPriv.h +++ b/src/effects/gradients/SkGradientShaderPriv.h @@ -16,6 +16,7 @@ #include "SkClampRange.h" #include "SkColorPriv.h" #include "SkColorSpace.h" +#include "SkMallocPixelRef.h" #include "SkOnce.h" #include "SkReadBuffer.h" #include "SkShader.h" @@ -128,7 +129,7 @@ public: const SkPMColor* getCache32(); - SkPixelRef* getCache32PixelRef() const { return fCache32PixelRef.get(); } + SkMallocPixelRef* getCache32PixelRef() const { return fCache32PixelRef; } unsigned getAlpha() const { return fCacheAlpha; } bool getDither() const { return fCacheDither; } @@ -137,7 +138,7 @@ public: // Working pointer. If it's nullptr, we need to recompute the cache values. SkPMColor* fCache32; - sk_sp<SkPixelRef> fCache32PixelRef; + SkMallocPixelRef* fCache32PixelRef; const unsigned fCacheAlpha; // The alpha value we used when we computed the cache. // Larger than 8bits so we can store uninitialized // value. |