Index: src/core/SkComposeShader.cpp |
diff --git a/src/core/SkComposeShader.cpp b/src/core/SkComposeShader.cpp |
index 46b7724944676a297b5745b4f658ec40dd34ca5c..13569f1b48d9d0d44c04b726e606fa4736c352aa 100644 |
--- a/src/core/SkComposeShader.cpp |
+++ b/src/core/SkComposeShader.cpp |
@@ -183,10 +183,12 @@ 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 { |
+const GrFragmentProcessor* SkComposeShader::asFragmentProcessor( |
+ GrContext* context, |
+ const SkMatrix& viewM, |
+ const SkMatrix* localMatrix, |
+ SkFilterQuality fq, |
+ SkSourceGammaTreatment gammaTreatment) const { |
// Fragment processor will only support SkXfermode::Mode modes currently. |
SkXfermode::Mode mode; |
if (!(SkXfermode::AsMode(fMode, &mode))) { |
@@ -199,19 +201,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, gammaTreatment); |
break; |
case SkXfermode::kDst_Mode: |
- return fShaderA->asFragmentProcessor(context, viewM, localMatrix, fq); |
+ return fShaderA->asFragmentProcessor(context, viewM, localMatrix, fq, gammaTreatment); |
break; |
default: |
SkAutoTUnref<const GrFragmentProcessor> fpA(fShaderA->asFragmentProcessor(context, |
- viewM, localMatrix, fq)); |
+ viewM, localMatrix, fq, gammaTreatment)); |
if (!fpA.get()) { |
return nullptr; |
} |
SkAutoTUnref<const GrFragmentProcessor> fpB(fShaderB->asFragmentProcessor(context, |
- viewM, localMatrix, fq)); |
+ viewM, localMatrix, fq, gammaTreatment)); |
if (!fpB.get()) { |
return nullptr; |
} |