Index: src/gpu/SkGrPixelRef.cpp |
diff --git a/src/gpu/SkGrPixelRef.cpp b/src/gpu/SkGrPixelRef.cpp |
index 85de28577961bc70d9994238391479252a669fbf..fd21f1073bf1560a34a95d8b0ac8cdecebd22d33 100644 |
--- a/src/gpu/SkGrPixelRef.cpp |
+++ b/src/gpu/SkGrPixelRef.cpp |
@@ -51,7 +51,8 @@ |
/////////////////////////////////////////////////////////////////////////////// |
-static SkGrPixelRef* copyToTexturePixelRef(GrTexture* texture, const SkIRect* subset) { |
+static SkGrPixelRef* copyToTexturePixelRef(GrTexture* texture, SkBitmap::Config dstConfig, |
+ const SkIRect* subset) { |
if (NULL == texture) { |
return NULL; |
} |
@@ -76,7 +77,7 @@ |
topLeft = NULL; |
} |
desc.fFlags = kRenderTarget_GrTextureFlagBit | kNoStencil_GrTextureFlagBit; |
- desc.fConfig = texture->config(); |
+ desc.fConfig = SkBitmapConfig2GrPixelConfig(dstConfig); |
SkImageInfo info; |
if (!GrPixelConfig2ColorType(desc.fConfig, &info.fColorType)) { |
@@ -151,7 +152,7 @@ |
return NULL; |
} |
-SkPixelRef* SkGrPixelRef::deepCopy(const SkIRect* subset) { |
+SkPixelRef* SkGrPixelRef::deepCopy(SkBitmap::Config dstConfig, const SkIRect* subset) { |
if (NULL == fSurface) { |
return NULL; |
} |
@@ -162,7 +163,7 @@ |
// a GrTexture owned elsewhere (e.g., SkGpuDevice), and cannot live |
// independently of that texture. Texture-backed pixel refs, on the other |
// hand, own their GrTextures, and are thus self-contained. |
- return copyToTexturePixelRef(fSurface->asTexture(), subset); |
+ return copyToTexturePixelRef(fSurface->asTexture(), dstConfig, subset); |
} |
bool SkGrPixelRef::onReadPixels(SkBitmap* dst, const SkIRect* subset) { |