Index: src/gpu/SkGrPixelRef.cpp |
diff --git a/src/gpu/SkGrPixelRef.cpp b/src/gpu/SkGrPixelRef.cpp |
index 882995e088013d6674efc7317cddc0aa78ee126e..dc5d7558f0d7a3e5c0294ec59f08f1622ef0ea16 100644 |
--- a/src/gpu/SkGrPixelRef.cpp |
+++ b/src/gpu/SkGrPixelRef.cpp |
@@ -18,14 +18,16 @@ |
// to avoid deadlock with the default one provided by SkPixelRef. |
SK_DECLARE_STATIC_MUTEX(gROLockPixelsPixelRefMutex); |
-SkROLockPixelsPixelRef::SkROLockPixelsPixelRef(const SkImageInfo& info) |
- : INHERITED(info, &gROLockPixelsPixelRefMutex) { |
+SkROLockPixelsPixelRef::SkROLockPixelsPixelRef() : INHERITED(&gROLockPixelsPixelRefMutex) { |
} |
SkROLockPixelsPixelRef::~SkROLockPixelsPixelRef() { |
} |
-bool SkROLockPixelsPixelRef::onNewLockPixels(LockRec* rec) { |
+void* SkROLockPixelsPixelRef::onLockPixels(SkColorTable** ctable) { |
+ if (ctable) { |
+ *ctable = NULL; |
+ } |
fBitmap.reset(); |
// SkDebugf("---------- calling readpixels in support of lockpixels\n"); |
if (!this->onReadPixels(&fBitmap, NULL)) { |
@@ -33,14 +35,7 @@ bool SkROLockPixelsPixelRef::onNewLockPixels(LockRec* rec) { |
return NULL; |
} |
fBitmap.lockPixels(); |
- if (NULL == fBitmap.getPixels()) { |
- return false; |
- } |
- |
- rec->fPixels = fBitmap.getPixels(); |
- rec->fColorTable = NULL; |
- rec->fRowBytes = fBitmap.rowBytes(); |
- return true; |
+ return fBitmap.getPixels(); |
} |
void SkROLockPixelsPixelRef::onUnlockPixels() { |
@@ -81,14 +76,6 @@ static SkGrPixelRef* copyToTexturePixelRef(GrTexture* texture, SkBitmap::Config |
desc.fFlags = kRenderTarget_GrTextureFlagBit | kNoStencil_GrTextureFlagBit; |
desc.fConfig = SkBitmapConfig2GrPixelConfig(dstConfig); |
- SkImageInfo info; |
- if (!GrPixelConfig2ColorType(desc.fConfig, &info.fColorType)) { |
- return NULL; |
- } |
- info.fWidth = desc.fWidth; |
- info.fHeight = desc.fHeight; |
- info.fAlphaType = kPremul_SkAlphaType; |
- |
GrTexture* dst = context->createUncachedTexture(desc, NULL, 0); |
if (NULL == dst) { |
return NULL; |
@@ -106,17 +93,14 @@ static SkGrPixelRef* copyToTexturePixelRef(GrTexture* texture, SkBitmap::Config |
dst->releaseRenderTarget(); |
#endif |
- SkGrPixelRef* pixelRef = SkNEW_ARGS(SkGrPixelRef, (info, dst)); |
+ SkGrPixelRef* pixelRef = SkNEW_ARGS(SkGrPixelRef, (dst)); |
SkSafeUnref(dst); |
return pixelRef; |
} |
/////////////////////////////////////////////////////////////////////////////// |
-SkGrPixelRef::SkGrPixelRef(const SkImageInfo& info, GrSurface* surface, |
- bool transferCacheLock) |
- : INHERITED(info) |
-{ |
+SkGrPixelRef::SkGrPixelRef(GrSurface* surface, bool transferCacheLock) { |
// TODO: figure out if this is responsible for Chrome canvas errors |
#if 0 |
// The GrTexture has a ref to the GrRenderTarget but not vice versa. |