Index: src/gpu/effects/GrCustomXfermode.cpp |
diff --git a/src/gpu/effects/GrCustomXfermode.cpp b/src/gpu/effects/GrCustomXfermode.cpp |
index 9de178d4782c081dc7bb799477dc3a2cd9e6e1ab..93999dda988701e7be17d0ccc31a168200f8af23 100644 |
--- a/src/gpu/effects/GrCustomXfermode.cpp |
+++ b/src/gpu/effects/GrCustomXfermode.cpp |
@@ -103,7 +103,7 @@ private: |
GrXferProcessor::OptFlags onGetOptimizations(const GrPipelineOptimizations& optimizations, |
bool doesStencilWrite, |
GrColor* overrideColor, |
- const GrCaps& caps) override; |
+ const GrCaps& caps) const override; |
void onGetGLSLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const override; |
@@ -132,7 +132,6 @@ public: |
if (xp.hasHWBlendEquation()) { |
SkASSERT(caps.advBlendEqInteraction() > 0); // 0 will mean !xp.hasHWBlendEquation(). |
key |= caps.advBlendEqInteraction(); |
- key |= xp.readsCoverage() << 2; |
GR_STATIC_ASSERT(GrGLSLCaps::kLast_AdvBlendEqInteraction < 4); |
} |
if (!xp.hasHWBlendEquation() || caps.mustEnableSpecificAdvBlendEqs()) { |
@@ -151,7 +150,7 @@ private: |
// Apply coverage by multiplying it into the src color before blending. Mixed samples will |
// "just work" automatically. (See onGetOptimizations()) |
- if (xp.readsCoverage()) { |
+ if (args.fInputCoverage) { |
fragBuilder->codeAppendf("%s = %s * %s;", |
args.fOutputPrimary, args.fInputCoverage, args.fInputColor); |
} else { |
@@ -195,7 +194,7 @@ bool CustomXP::onIsEqual(const GrXferProcessor& other) const { |
GrXferProcessor::OptFlags CustomXP::onGetOptimizations(const GrPipelineOptimizations& optimizations, |
bool doesStencilWrite, |
GrColor* overrideColor, |
- const GrCaps& caps) { |
+ const GrCaps& caps) const { |
/* |
Most the optimizations we do here are based on tweaking alpha for coverage. |