| Index: src/gpu/SkGpuDevice_drawTexture.cpp
|
| diff --git a/src/gpu/SkGpuDevice_drawTexture.cpp b/src/gpu/SkGpuDevice_drawTexture.cpp
|
| index 5eecf43e8338b6058d52edfa57b79b0268f635b8..4ba3c8df9c9235d672819be386c26b09398a4e98 100644
|
| --- a/src/gpu/SkGpuDevice_drawTexture.cpp
|
| +++ b/src/gpu/SkGpuDevice_drawTexture.cpp
|
| @@ -201,15 +201,19 @@ void SkGpuDevice::drawTextureProducerImpl(GrTextureProducer* producer,
|
| }
|
| textureMatrix = &tempMatrix;
|
| }
|
| + bool gammaCorrect = this->surfaceProps().isGammaCorrect();
|
| + SkSourceGammaTreatment gammaTreatment = gammaCorrect
|
| + ? SkSourceGammaTreatment::kRespect : SkSourceGammaTreatment::kIgnore;
|
| SkAutoTUnref<const GrFragmentProcessor> fp(producer->createFragmentProcessor(
|
| - *textureMatrix, clippedSrcRect, constraintMode, coordsAllInsideSrcRect, filterMode));
|
| + *textureMatrix, clippedSrcRect, constraintMode, coordsAllInsideSrcRect, filterMode,
|
| + gammaTreatment));
|
| if (!fp) {
|
| return;
|
| }
|
|
|
| GrPaint grPaint;
|
| if (!SkPaintToGrPaintWithTexture(fContext, paint, viewMatrix, fp, producer->isAlphaOnly(),
|
| - this->surfaceProps().isGammaCorrect(), &grPaint)) {
|
| + gammaCorrect, &grPaint)) {
|
| return;
|
| }
|
|
|
|
|