Index: src/gpu/effects/GrCustomXfermode.cpp |
diff --git a/src/gpu/effects/GrCustomXfermode.cpp b/src/gpu/effects/GrCustomXfermode.cpp |
index 5110cdf72346e07bc67d1e1be523341b9e8f3772..55d4b1a5ff3e82cabbc72d486b72706b122f4c3e 100644 |
--- a/src/gpu/effects/GrCustomXfermode.cpp |
+++ b/src/gpu/effects/GrCustomXfermode.cpp |
@@ -529,8 +529,8 @@ public: |
this->initClassID<CustomXP>(); |
} |
- CustomXP(SkXfermode::Mode mode, const DstTexture* dstTexture) |
- : INHERITED(dstTexture, true), |
+ CustomXP(const GrPipelineBuilder& builder, const DstTexture* dstTexture, SkXfermode::Mode mode) |
+ : INHERITED(builder, dstTexture, true), |
fMode(mode), |
fHWBlendEquation(static_cast<GrBlendEquation>(-1)) { |
this->initClassID<CustomXP>(); |
@@ -540,8 +540,6 @@ public: |
GrGLXferProcessor* createGLInstance() const override; |
- bool hasSecondaryOutput() const override { return false; } |
- |
SkXfermode::Mode mode() const { return fMode; } |
bool hasHWBlendEquation() const { return -1 != static_cast<int>(fHWBlendEquation); } |
@@ -793,6 +791,7 @@ GrCustomXPFactory::GrCustomXPFactory(SkXfermode::Mode mode) |
GrXferProcessor* |
GrCustomXPFactory::onCreateXferProcessor(const GrCaps& caps, |
+ const GrPipelineBuilder& builder, |
const GrProcOptInfo& colorPOI, |
const GrProcOptInfo& coveragePOI, |
const DstTexture* dstTexture) const { |
@@ -800,10 +799,11 @@ GrCustomXPFactory::onCreateXferProcessor(const GrCaps& caps, |
SkASSERT(!dstTexture || !dstTexture->texture()); |
return SkNEW_ARGS(CustomXP, (fMode, fHWBlendEquation)); |
} |
- return SkNEW_ARGS(CustomXP, (fMode, dstTexture)); |
+ return SkNEW_ARGS(CustomXP, (builder, dstTexture, fMode)); |
} |
bool GrCustomXPFactory::willReadDstColor(const GrCaps& caps, |
+ const GrPipelineBuilder&, |
const GrProcOptInfo& colorPOI, |
const GrProcOptInfo& coveragePOI) const { |
return !can_use_hw_blend_equation(fHWBlendEquation, coveragePOI, caps); |