Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(281)

Unified Diff: src/gpu/SkGpuDevice.cpp

Issue 2163343002: Adding color space to SkSpecialImage (Closed) Base URL: https://skia.googlesource.com/skia.git@colorspace-on-image
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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());
}

Powered by Google App Engine
This is Rietveld 408576698