Chromium Code Reviews| Index: src/gpu/SkGpuDevice.cpp |
| diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp |
| index 8ce4b30ff70a160a58abe7dce0cbe798a25a61da..f17f73d70c69add0bad1637de05330f05b01bc32 100644 |
| --- a/src/gpu/SkGpuDevice.cpp |
| +++ b/src/gpu/SkGpuDevice.cpp |
| @@ -1256,7 +1256,8 @@ void SkGpuDevice::drawSprite(const SkDraw& draw, const SkBitmap& bitmap, |
| sk_sp<SkSpecialImage> srcImg(SkSpecialImage::MakeFromGpu(srcRect, |
| bitmap.getGenerationID(), |
| - std::move(texture), |
| + std::move(texture), |
| + sk_ref_sp(bitmap.colorSpace()), |
| &this->surfaceProps())); |
| this->drawSpecial(draw, srcImg.get(), left, top, paint); |
| @@ -1422,7 +1423,8 @@ sk_sp<SkSpecialImage> SkGpuDevice::makeSpecial(const SkBitmap& bitmap) { |
| return SkSpecialImage::MakeFromGpu(bitmap.bounds(), |
| bitmap.getGenerationID(), |
| - sk_ref_sp(texture), |
| + sk_ref_sp(texture), |
| + sk_ref_sp(bitmap.colorSpace()), |
| &this->surfaceProps()); |
| } |
| @@ -1433,7 +1435,8 @@ sk_sp<SkSpecialImage> SkGpuDevice::makeSpecial(const SkImage* image) { |
| return SkSpecialImage::MakeFromGpu(SkIRect::MakeWH(image->width(), image->height()), |
| image->uniqueID(), |
| - sk_ref_sp(texture), |
| + sk_ref_sp(texture), |
| + sk_ref_sp(as_IB(image)->onImageInfo().colorSpace()), |
| &this->surfaceProps()); |
| } else if (image->peekPixels(&pm)) { |
| SkBitmap bm; |
| @@ -1467,7 +1470,8 @@ sk_sp<SkSpecialImage> SkGpuDevice::snapSpecial() { |
| return SkSpecialImage::MakeFromGpu(srcRect, |
| kNeedNewImageUniqueID_SpecialImage, |
| - std::move(texture), |
| + std::move(texture), |
| + sk_ref_sp(ii.colorSpace()), |
|
Brian Osman
2016/07/20 19:16:01
This is still questionable, because the device's i
|
| &this->surfaceProps()); |
| } |