| Index: src/core/SkComposeShader.cpp
|
| diff --git a/src/core/SkComposeShader.cpp b/src/core/SkComposeShader.cpp
|
| index 46b7724944676a297b5745b4f658ec40dd34ca5c..25c9edd611d1b185587cac3635db86f4ddc8a1eb 100644
|
| --- a/src/core/SkComposeShader.cpp
|
| +++ b/src/core/SkComposeShader.cpp
|
| @@ -186,7 +186,8 @@ void SkComposeShader::ComposeShaderContext::shadeSpan(int x, int y, SkPMColor re
|
| const GrFragmentProcessor* SkComposeShader::asFragmentProcessor(GrContext* context,
|
| const SkMatrix& viewM,
|
| const SkMatrix* localMatrix,
|
| - SkFilterQuality fq) const {
|
| + SkFilterQuality fq,
|
| + bool gammaCorrect) const {
|
| // Fragment processor will only support SkXfermode::Mode modes currently.
|
| SkXfermode::Mode mode;
|
| if (!(SkXfermode::AsMode(fMode, &mode))) {
|
| @@ -199,19 +200,19 @@ const GrFragmentProcessor* SkComposeShader::asFragmentProcessor(GrContext* conte
|
| GrConstColorProcessor::kIgnore_InputMode);
|
| break;
|
| case SkXfermode::kSrc_Mode:
|
| - return fShaderB->asFragmentProcessor(context, viewM, localMatrix, fq);
|
| + return fShaderB->asFragmentProcessor(context, viewM, localMatrix, fq, gammaCorrect);
|
| break;
|
| case SkXfermode::kDst_Mode:
|
| - return fShaderA->asFragmentProcessor(context, viewM, localMatrix, fq);
|
| + return fShaderA->asFragmentProcessor(context, viewM, localMatrix, fq, gammaCorrect);
|
| break;
|
| default:
|
| SkAutoTUnref<const GrFragmentProcessor> fpA(fShaderA->asFragmentProcessor(context,
|
| - viewM, localMatrix, fq));
|
| + viewM, localMatrix, fq, gammaCorrect));
|
| if (!fpA.get()) {
|
| return nullptr;
|
| }
|
| SkAutoTUnref<const GrFragmentProcessor> fpB(fShaderB->asFragmentProcessor(context,
|
| - viewM, localMatrix, fq));
|
| + viewM, localMatrix, fq, gammaCorrect));
|
| if (!fpB.get()) {
|
| return nullptr;
|
| }
|
|
|