| Index: src/core/SkImageFilter.cpp
|
| diff --git a/src/core/SkImageFilter.cpp b/src/core/SkImageFilter.cpp
|
| index 18fafd9cffd32e78fb478f50e2701ecf795066f7..4128ba6cc20199f4489debfeb11a09add85609bc 100644
|
| --- a/src/core/SkImageFilter.cpp
|
| +++ b/src/core/SkImageFilter.cpp
|
| @@ -8,8 +8,7 @@
|
| #include "SkImageFilter.h"
|
| #include "SkImageFilterCacheKey.h"
|
|
|
| -#include "SkBitmap.h"
|
| -#include "SkBitmapDevice.h"
|
| +#include "SkCanvas.h"
|
| #include "SkChecksum.h"
|
| #include "SkFuzzLogging.h"
|
| #include "SkLocalMatrixImageFilter.h"
|
| @@ -26,8 +25,6 @@
|
| #if SK_SUPPORT_GPU
|
| #include "GrContext.h"
|
| #include "GrDrawContext.h"
|
| -#include "SkGrPixelRef.h"
|
| -#include "SkGr.h"
|
| #endif
|
|
|
| #ifdef SK_BUILD_FOR_IOS
|
| @@ -467,13 +464,10 @@ public:
|
| }
|
| }
|
| struct Value {
|
| - Value(const Key& key, const SkBitmap& bitmap, const SkIPoint& offset)
|
| - : fKey(key), fBitmap(bitmap), fOffset(offset) {}
|
| Value(const Key& key, SkSpecialImage* image, const SkIPoint& offset)
|
| : fKey(key), fImage(SkRef(image)), fOffset(offset) {}
|
|
|
| Key fKey;
|
| - SkBitmap fBitmap;
|
| SkAutoTUnref<SkSpecialImage> fImage;
|
| SkIPoint fOffset;
|
| static const Key& GetKey(const Value& v) {
|
| @@ -485,20 +479,6 @@ public:
|
| SK_DECLARE_INTERNAL_LLIST_INTERFACE(Value);
|
| };
|
|
|
| - bool get(const Key& key, SkBitmap* result, SkIPoint* offset) const override {
|
| - SkAutoMutexAcquire mutex(fMutex);
|
| - if (Value* v = fLookup.find(key)) {
|
| - *result = v->fBitmap;
|
| - *offset = v->fOffset;
|
| - if (v != fLRU.head()) {
|
| - fLRU.remove(v);
|
| - fLRU.addToHead(v);
|
| - }
|
| - return true;
|
| - }
|
| - return false;
|
| - }
|
| -
|
| SkSpecialImage* get(const Key& key, SkIPoint* offset) const override {
|
| SkAutoMutexAcquire mutex(fMutex);
|
| if (Value* v = fLookup.find(key)) {
|
| @@ -512,25 +492,6 @@ public:
|
| return nullptr;
|
| }
|
|
|
| - void set(const Key& key, const SkBitmap& result, const SkIPoint& offset) override {
|
| - SkAutoMutexAcquire mutex(fMutex);
|
| - if (Value* v = fLookup.find(key)) {
|
| - this->removeInternal(v);
|
| - }
|
| - Value* v = new Value(key, result, offset);
|
| - fLookup.add(v);
|
| - fLRU.addToHead(v);
|
| - fCurrentBytes += result.getSize();
|
| - while (fCurrentBytes > fMaxBytes) {
|
| - Value* tail = fLRU.tail();
|
| - SkASSERT(tail);
|
| - if (tail == v) {
|
| - break;
|
| - }
|
| - this->removeInternal(tail);
|
| - }
|
| - }
|
| -
|
| void set(const Key& key, SkSpecialImage* image, const SkIPoint& offset) override {
|
| SkAutoMutexAcquire mutex(fMutex);
|
| if (Value* v = fLookup.find(key)) {
|
| @@ -571,11 +532,8 @@ public:
|
| SkDEBUGCODE(int count() const override { return fLookup.count(); })
|
| private:
|
| void removeInternal(Value* v) {
|
| - if (v->fImage) {
|
| - fCurrentBytes -= v->fImage->getSize();
|
| - } else {
|
| - fCurrentBytes -= v->fBitmap.getSize();
|
| - }
|
| + SkASSERT(v->fImage);
|
| + fCurrentBytes -= v->fImage->getSize();
|
| fLRU.remove(v);
|
| fLookup.remove(v->fKey);
|
| delete v;
|
|
|