Index: src/gpu/effects/GrCustomXfermode.cpp |
diff --git a/src/gpu/effects/GrCustomXfermode.cpp b/src/gpu/effects/GrCustomXfermode.cpp |
index 9aa71531096c0db3418626ba2c5e4c1d0890aab2..b77bf2fad174771a22f24ae2c00db09a50fed260 100644 |
--- a/src/gpu/effects/GrCustomXfermode.cpp |
+++ b/src/gpu/effects/GrCustomXfermode.cpp |
@@ -499,7 +499,15 @@ public: |
GLCustomXP(const GrXferProcessor&) {} |
~GLCustomXP() SK_OVERRIDE {} |
- void emitCode(const EmitArgs& args) SK_OVERRIDE { |
+ static void GenKey(const GrXferProcessor& proc, const GrGLCaps&, GrProcessorKeyBuilder* b) { |
+ uint32_t key = proc.numTextures(); |
+ SkASSERT(key <= 1); |
+ key |= proc.cast<GrCustomXP>().mode() << 1; |
+ b->add32(key); |
+ } |
+ |
+private: |
+ void onEmitCode(const EmitArgs& args) SK_OVERRIDE { |
SkXfermode::Mode mode = args.fXP.cast<GrCustomXP>().mode(); |
GrGLFPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); |
const char* dstColor = fsBuilder->dstColor(); |
@@ -511,28 +519,20 @@ public: |
args.fInputCoverage, dstColor); |
} |
- void setData(const GrGLProgramDataManager&, const GrXferProcessor&) SK_OVERRIDE {} |
+ void onSetData(const GrGLProgramDataManager&, const GrXferProcessor&) SK_OVERRIDE {} |
- static void GenKey(const GrXferProcessor& proc, const GrGLCaps&, GrProcessorKeyBuilder* b) { |
- uint32_t key = proc.numTextures(); |
- SkASSERT(key <= 1); |
- key |= proc.cast<GrCustomXP>().mode() << 1; |
- b->add32(key); |
- } |
- |
-private: |
typedef GrGLFragmentProcessor INHERITED; |
}; |
/////////////////////////////////////////////////////////////////////////////// |
-GrCustomXP::GrCustomXP(SkXfermode::Mode mode) |
- : fMode(mode) { |
+GrCustomXP::GrCustomXP(SkXfermode::Mode mode, const GrDeviceCoordTexture* dstCopy, |
+ bool willReadDstColor) |
+ : INHERITED(dstCopy, willReadDstColor), fMode(mode) { |
this->initClassID<GrCustomXP>(); |
- this->setWillReadDstColor(); |
} |
-void GrCustomXP::getGLProcessorKey(const GrGLCaps& caps, GrProcessorKeyBuilder* b) const { |
+void GrCustomXP::onGetGLProcessorKey(const GrGLCaps& caps, GrProcessorKeyBuilder* b) const { |
GLCustomXP::GenKey(*this, caps, b); |
} |