Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(49)

Unified Diff: src/effects/SkArithmeticMode_gpu.cpp

Issue 1164973002: Add mixed samples support to XPs (Closed) Base URL: https://skia.googlesource.com/skia.git@upload2_reenablebea
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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));
}

Powered by Google App Engine
This is Rietveld 408576698