Index: src/gpu/SkGpuDevice.cpp |
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp |
index c2d8bdad325adc8ab5b09008ec5d7a9e90784568..823e9b84ff88de04b09e82417477f4d9e044be76 100644 |
--- a/src/gpu/SkGpuDevice.cpp |
+++ b/src/gpu/SkGpuDevice.cpp |
@@ -193,6 +193,7 @@ GrRenderTarget* SkGpuDevice::CreateRenderTarget( |
SkColorType ct = origInfo.colorType(); |
SkAlphaType at = origInfo.alphaType(); |
+ SkColorProfileType pt = origInfo.profileType(); |
if (kRGB_565_SkColorType == ct) { |
at = kOpaque_SkAlphaType; // force this setting |
} else if (ct != kBGRA_8888_SkColorType && ct != kRGBA_8888_SkColorType) { |
@@ -202,13 +203,13 @@ GrRenderTarget* SkGpuDevice::CreateRenderTarget( |
if (kOpaque_SkAlphaType != at) { |
at = kPremul_SkAlphaType; // force this setting |
} |
- const SkImageInfo info = SkImageInfo::Make(origInfo.width(), origInfo.height(), ct, at); |
+ const SkImageInfo info = SkImageInfo::Make(origInfo.width(), origInfo.height(), ct, at, pt); |
GrSurfaceDesc desc; |
desc.fFlags = kRenderTarget_GrSurfaceFlag; |
desc.fWidth = info.width(); |
desc.fHeight = info.height(); |
- desc.fConfig = SkImageInfo2GrPixelConfig(info); |
+ desc.fConfig = SkImageInfo2GrPixelConfig(info, *context->caps()); |
desc.fSampleCnt = sampleCount; |
desc.fTextureStorageAllocator = textureStorageAllocator; |
desc.fIsMipMapped = false; |
@@ -227,7 +228,7 @@ bool SkGpuDevice::onReadPixels(const SkImageInfo& dstInfo, void* dstPixels, size |
ASSERT_SINGLE_OWNER |
// TODO: teach fRenderTarget to take ImageInfo directly to specify the src pixels |
- GrPixelConfig config = SkImageInfo2GrPixelConfig(dstInfo); |
+ GrPixelConfig config = SkImageInfo2GrPixelConfig(dstInfo, *fContext->caps()); |
if (kUnknown_GrPixelConfig == config) { |
return false; |
} |
@@ -244,7 +245,7 @@ bool SkGpuDevice::onWritePixels(const SkImageInfo& info, const void* pixels, siz |
int x, int y) { |
ASSERT_SINGLE_OWNER |
// TODO: teach fRenderTarget to take ImageInfo directly to specify the src pixels |
- GrPixelConfig config = SkImageInfo2GrPixelConfig(info); |
+ GrPixelConfig config = SkImageInfo2GrPixelConfig(info, *fContext->caps()); |
if (kUnknown_GrPixelConfig == config) { |
return false; |
} |