diff options
author | egdaniel <egdaniel@google.com> | 2014-12-22 07:35:52 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-12-22 07:35:52 -0800 |
commit | 080e673b10ac607305f140ddb245e140ccde40c6 (patch) | |
tree | c8e51428edeeb5fff1075c68a3a408e1f2f0110b /include/gpu/effects/GrPorterDuffXferProcessor.h | |
parent | ebc11635e40ccf2a34fb1cdbc9dec635cb3d74d8 (diff) |
Add XP to handle the cases where we disable color write.
BUG=skia:
Review URL: https://codereview.chromium.org/787233003
Diffstat (limited to 'include/gpu/effects/GrPorterDuffXferProcessor.h')
-rw-r--r-- | include/gpu/effects/GrPorterDuffXferProcessor.h | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/include/gpu/effects/GrPorterDuffXferProcessor.h b/include/gpu/effects/GrPorterDuffXferProcessor.h index fab14c732a..6850cb5646 100644 --- a/include/gpu/effects/GrPorterDuffXferProcessor.h +++ b/include/gpu/effects/GrPorterDuffXferProcessor.h @@ -12,7 +12,6 @@ #include "GrXferProcessor.h" #include "SkXfermode.h" -class GrInvariantOutput; class GrProcOptInfo; class GrPorterDuffXferProcessor : public GrXferProcessor { @@ -22,15 +21,15 @@ public: return SkNEW_ARGS(GrPorterDuffXferProcessor, (srcBlend, dstBlend, constant)); } - virtual ~GrPorterDuffXferProcessor(); + ~GrPorterDuffXferProcessor() SK_OVERRIDE; - virtual const char* name() const SK_OVERRIDE { return "Porter Duff"; } + const char* name() const SK_OVERRIDE { return "Porter Duff"; } void getGLProcessorKey(const GrGLCaps& caps, GrProcessorKeyBuilder* b) const SK_OVERRIDE; GrGLXferProcessor* createGLInstance() const SK_OVERRIDE; - virtual bool hasSecondaryOutput() const SK_OVERRIDE; + bool hasSecondaryOutput() const SK_OVERRIDE; /////////////////////////////////////////////////////////////////////////// /// @name Stage Output Types @@ -68,7 +67,6 @@ public: GrXferProcessor::OptFlags getOptimizations(const GrProcOptInfo& colorPOI, const GrProcOptInfo& coveragePOI, - bool colorWriteDisabled, bool doesStencilWrite, GrColor* overrideColor, const GrDrawTargetCaps& caps) SK_OVERRIDE; @@ -96,7 +94,6 @@ private: GrXferProcessor::OptFlags internalGetOptimizations(const GrProcOptInfo& colorPOI, const GrProcOptInfo& coveragePOI, - bool colorWriteDisabled, bool doesStencilWrite); void calcOutputTypes(GrXferProcessor::OptFlags blendOpts, const GrDrawTargetCaps& caps, @@ -130,15 +127,17 @@ public: bool supportsRGBCoverage(GrColor knownColor, uint32_t knownColorFlags) const SK_OVERRIDE; - bool canApplyCoverage(const GrProcOptInfo& colorPOI, const GrProcOptInfo& coveragePOI, - bool colorWriteDisabled) const SK_OVERRIDE; + bool canApplyCoverage(const GrProcOptInfo& colorPOI, + const GrProcOptInfo& coveragePOI) const SK_OVERRIDE; bool canTweakAlphaForCoverage() const SK_OVERRIDE; 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: GrPorterDuffXPFactory(GrBlendCoeff src, GrBlendCoeff dst); |