Index: src/effects/SkArithmeticMode_gpu.cpp |
diff --git a/src/effects/SkArithmeticMode_gpu.cpp b/src/effects/SkArithmeticMode_gpu.cpp |
index d0dd98b3657e01c20919e573765a19c6e314c4e3..a6239a1d2a390393ffc5c3b2c966b1dd51278fe9 100644 |
--- a/src/effects/SkArithmeticMode_gpu.cpp |
+++ b/src/effects/SkArithmeticMode_gpu.cpp |
@@ -160,20 +160,13 @@ GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrArithmeticFP); |
class ArithmeticXP : public GrXferProcessor { |
public: |
- static GrXferProcessor* Create(float k1, float k2, float k3, float k4, bool enforcePMColor, |
- const DstTexture* dstTexture, bool willReadDstColor) { |
- return SkNEW_ARGS(ArithmeticXP, (k1, k2, k3, k4, enforcePMColor, dstTexture, |
- willReadDstColor)); |
- } |
- |
- ~ArithmeticXP() override {}; |
+ ArithmeticXP(const GrPipelineBuilder&, const DstTexture*, |
+ float k1, float k2, float k3, float k4, bool enforcePMColor); |
const char* name() const override { return "Arithmetic"; } |
GrGLXferProcessor* createGLInstance() const override; |
- bool hasSecondaryOutput() const override { return false; } |
- |
float k1() const { return fK1; } |
float k2() const { return fK2; } |
float k3() const { return fK3; } |
@@ -181,9 +174,6 @@ public: |
bool enforcePMColor() const { return fEnforcePMColor; } |
private: |
- ArithmeticXP(float k1, float k2, float k3, float k4, bool enforcePMColor, |
- const DstTexture*, bool willReadDstColor); |
- |
GrXferProcessor::OptFlags onGetOptimizations(const GrProcOptInfo& colorPOI, |
const GrProcOptInfo& coveragePOI, |
bool doesStencilWrite, |
@@ -261,9 +251,9 @@ private: |
/////////////////////////////////////////////////////////////////////////////// |
-ArithmeticXP::ArithmeticXP(float k1, float k2, float k3, float k4, bool enforcePMColor, |
- const DstTexture* dstTexture, bool willReadDstColor) |
- : INHERITED(dstTexture, willReadDstColor) |
+ArithmeticXP::ArithmeticXP(const GrPipelineBuilder& builder, const DstTexture* dstTexture, |
+ float k1, float k2, float k3, float k4, bool enforcePMColor) |
+ : INHERITED(builder, dstTexture, true) |
, fK1(k1) |
, fK2(k2) |
, fK3(k3) |
@@ -298,11 +288,11 @@ GrArithmeticXPFactory::GrArithmeticXPFactory(float k1, float k2, float k3, float |
GrXferProcessor* |
GrArithmeticXPFactory::onCreateXferProcessor(const GrCaps& caps, |
+ const GrPipelineBuilder& builder, |
const GrProcOptInfo& colorPOI, |
const GrProcOptInfo& coveragePOI, |
const DstTexture* dstTexture) const { |
- return ArithmeticXP::Create(fK1, fK2, fK3, fK4, fEnforcePMColor, dstTexture, |
- this->willReadDstColor(caps, colorPOI, coveragePOI)); |
+ return SkNEW_ARGS(ArithmeticXP, (builder, dstTexture, fK1, fK2, fK3, fK4, fEnforcePMColor)); |
} |