Add XP to handle the cases where we disable color write.
BUG=skia:
Review URL: https://codereview.chromium.org/787233003
diff --git a/src/gpu/effects/GrCoverageSetOpXP.h b/src/gpu/effects/GrCoverageSetOpXP.h
index e3ce07c..289b5cf 100644
--- a/src/gpu/effects/GrCoverageSetOpXP.h
+++ b/src/gpu/effects/GrCoverageSetOpXP.h
@@ -12,7 +12,6 @@
#include "GrXferProcessor.h"
#include "SkRegion.h"
-class GrInvariantOutput;
class GrProcOptInfo;
/**
@@ -28,7 +27,7 @@
~GrCoverageSetOpXP() SK_OVERRIDE;
- virtual const char* name() const SK_OVERRIDE { return "Coverage Set Op"; }
+ const char* name() const SK_OVERRIDE { return "Coverage Set Op"; }
void getGLProcessorKey(const GrGLCaps& caps, GrProcessorKeyBuilder* b) const SK_OVERRIDE;
@@ -38,7 +37,6 @@
GrXferProcessor::OptFlags getOptimizations(const GrProcOptInfo& colorPOI,
const GrProcOptInfo& coveragePOI,
- bool colorWriteDisabled,
bool doesStencilWrite,
GrColor* color,
const GrDrawTargetCaps& caps) SK_OVERRIDE;
@@ -75,17 +73,19 @@
return true;
}
- bool canApplyCoverage(const GrProcOptInfo& colorPOI, const GrProcOptInfo& coveragePOI,
- bool colorWriteDisabled) const SK_OVERRIDE {
+ bool canApplyCoverage(const GrProcOptInfo& colorPOI,
+ const GrProcOptInfo& coveragePOI) const SK_OVERRIDE {
return true;
}
bool canTweakAlphaForCoverage() const SK_OVERRIDE { return false; }
void getInvariantOutput(const GrProcOptInfo& colorPOI, const GrProcOptInfo& coveragePOI,
- bool colorWriteDisabled,
GrXPFactory::InvariantOutput*) const SK_OVERRIDE;
+ bool willReadDst(const GrProcOptInfo& colorPOI,
+ const GrProcOptInfo& coveragePOI) const SK_OVERRIDE;
+
private:
GrCoverageSetOpXPFactory(SkRegion::Op regionOp, bool invertCoverage);