From 982eb7f377a0c771345276558072deb2fcea0d3e Mon Sep 17 00:00:00 2001 From: brianosman Date: Mon, 6 Jun 2016 13:10:58 -0700 Subject: Add new SkSourceGammaTreatment enum, used in situations like mipmap construction, where we need to know if we should respect (vs. ignore) the gamma encoding of sRGB tagged images. Plumb that extensively. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2037413002 Review-Url: https://codereview.chromium.org/2037413002 --- src/image/SkImage_Gpu.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/image/SkImage_Gpu.cpp') diff --git a/src/image/SkImage_Gpu.cpp b/src/image/SkImage_Gpu.cpp index a728c3dae5..0c4769fa95 100644 --- a/src/image/SkImage_Gpu.cpp +++ b/src/image/SkImage_Gpu.cpp @@ -77,8 +77,10 @@ bool SkImage_Gpu::asBitmapForImageFilters(SkBitmap* bitmap) const { return true; } -GrTexture* SkImage_Gpu::asTextureRef(GrContext* ctx, const GrTextureParams& params) const { - return GrImageTextureAdjuster(as_IB(this)).refTextureSafeForParams(params, nullptr); +GrTexture* SkImage_Gpu::asTextureRef(GrContext* ctx, const GrTextureParams& params, + SkSourceGammaTreatment gammaTreatment) const { + return GrImageTextureAdjuster(as_IB(this)).refTextureSafeForParams(params, gammaTreatment, + nullptr); } bool SkImage_Gpu::isOpaque() const { @@ -277,7 +279,8 @@ sk_sp SkImage::MakeFromYUVTexturesCopy(GrContext* ctx , SkYUVColorSpace } static sk_sp create_image_from_maker(GrTextureMaker* maker, SkAlphaType at, uint32_t id) { - SkAutoTUnref texture(maker->refTextureForParams(GrTextureParams::ClampNoFilter())); + SkAutoTUnref texture(maker->refTextureForParams(GrTextureParams::ClampNoFilter(), + SkSourceGammaTreatment::kRespect)); if (!texture) { return nullptr; } -- cgit v1.2.3