diff options
Diffstat (limited to 'src/gpu/effects/GrCustomXfermode.cpp')
-rw-r--r-- | src/gpu/effects/GrCustomXfermode.cpp | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/src/gpu/effects/GrCustomXfermode.cpp b/src/gpu/effects/GrCustomXfermode.cpp index 93f20738b4..04ff4a746b 100644 --- a/src/gpu/effects/GrCustomXfermode.cpp +++ b/src/gpu/effects/GrCustomXfermode.cpp @@ -54,15 +54,12 @@ static GrBlendEquation hw_blend_equation(SkXfermode::Mode mode) { } static bool can_use_hw_blend_equation(GrBlendEquation equation, - const GrPipelineOptimizations& opt, + const GrProcOptInfo& coveragePOI, const GrCaps& caps) { if (!caps.advancedBlendEquationSupport()) { return false; } - if (opt.fOverrides.fUsePLSDstRead) { - return false; - } - if (opt.fCoveragePOI.isFourChannelOutput()) { + if (coveragePOI.isFourChannelOutput()) { return false; // LCD coverage must be applied after the blend equation. } if (caps.canUseAdvancedBlendEquation(equation)) { @@ -346,7 +343,7 @@ private: bool hasMixedSamples, const DstTexture*) const override; - bool onWillReadDstColor(const GrCaps& caps, + bool willReadDstColor(const GrCaps& caps, const GrPipelineOptimizations& optimizations, bool hasMixedSamples) const override; @@ -374,17 +371,17 @@ GrXferProcessor* CustomXPFactory::onCreateXferProcessor(const GrCaps& caps, const GrPipelineOptimizations& opt, bool hasMixedSamples, const DstTexture* dstTexture) const { - if (can_use_hw_blend_equation(fHWBlendEquation, opt, caps)) { + if (can_use_hw_blend_equation(fHWBlendEquation, opt.fCoveragePOI, caps)) { SkASSERT(!dstTexture || !dstTexture->texture()); return new CustomXP(fMode, fHWBlendEquation); } return new CustomXP(dstTexture, hasMixedSamples, fMode); } -bool CustomXPFactory::onWillReadDstColor(const GrCaps& caps, - const GrPipelineOptimizations& optimizations, - bool hasMixedSamples) const { - return !can_use_hw_blend_equation(fHWBlendEquation, optimizations, caps); +bool CustomXPFactory::willReadDstColor(const GrCaps& caps, + const GrPipelineOptimizations& optimizations, + bool hasMixedSamples) const { + return !can_use_hw_blend_equation(fHWBlendEquation, optimizations.fCoveragePOI, caps); } void CustomXPFactory::getInvariantBlendedColor(const GrProcOptInfo& colorPOI, |