diff options
author | 2015-02-17 11:15:47 -0800 | |
---|---|---|
committer | 2015-02-17 11:15:47 -0800 | |
commit | 3ad6570e94965d54871eaea8b314f560b82ca792 (patch) | |
tree | 5251bf06ebd191e75c0c22745fe4e4d0a31ecd93 /src/effects | |
parent | d603b22903bf7c023226bf52bd7c1f49a9bee1bf (diff) |
Use dst copies in porter duffer XP to correctly render certain blends.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/997c6358d94e188b1a7b89a4f86e24cbe0f5a164
Review URL: https://codereview.chromium.org/914003003
Diffstat (limited to 'src/effects')
-rw-r--r-- | src/effects/SkArithmeticMode_gpu.cpp | 5 | ||||
-rw-r--r-- | src/effects/SkArithmeticMode_gpu.h | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/effects/SkArithmeticMode_gpu.cpp b/src/effects/SkArithmeticMode_gpu.cpp index 469f5b1adb..e068c9dc37 100644 --- a/src/effects/SkArithmeticMode_gpu.cpp +++ b/src/effects/SkArithmeticMode_gpu.cpp @@ -304,11 +304,12 @@ GrArithmeticXPFactory::GrArithmeticXPFactory(float k1, float k2, float k3, float } GrXferProcessor* -GrArithmeticXPFactory::onCreateXferProcessor(const GrProcOptInfo& colorPOI, +GrArithmeticXPFactory::onCreateXferProcessor(const GrDrawTargetCaps& caps, + const GrProcOptInfo& colorPOI, const GrProcOptInfo& coveragePOI, const GrDeviceCoordTexture* dstCopy) const { return ArithmeticXP::Create(fK1, fK2, fK3, fK4, fEnforcePMColor, dstCopy, - this->willReadDstColor(colorPOI, coveragePOI)); + this->willReadDstColor(caps, colorPOI, coveragePOI)); } diff --git a/src/effects/SkArithmeticMode_gpu.h b/src/effects/SkArithmeticMode_gpu.h index 822e7bde1e..546902dd50 100644 --- a/src/effects/SkArithmeticMode_gpu.h +++ b/src/effects/SkArithmeticMode_gpu.h @@ -96,11 +96,13 @@ public: private: GrArithmeticXPFactory(float k1, float k2, float k3, float k4, bool enforcePMColor); - GrXferProcessor* onCreateXferProcessor(const GrProcOptInfo& colorPOI, + GrXferProcessor* onCreateXferProcessor(const GrDrawTargetCaps& caps, + const GrProcOptInfo& colorPOI, const GrProcOptInfo& coveragePOI, const GrDeviceCoordTexture* dstCopy) const SK_OVERRIDE; - bool willReadDstColor(const GrProcOptInfo& colorPOI, + bool willReadDstColor(const GrDrawTargetCaps& caps, + const GrProcOptInfo& colorPOI, const GrProcOptInfo& coveragePOI) const SK_OVERRIDE { return true; } |