| 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) {
|
|
|