diff options
Diffstat (limited to 'src/core/SkXfermode.cpp')
-rw-r--r-- | src/core/SkXfermode.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/SkXfermode.cpp b/src/core/SkXfermode.cpp index 674078ef3a..78b85daa3e 100644 --- a/src/core/SkXfermode.cpp +++ b/src/core/SkXfermode.cpp @@ -1079,7 +1079,10 @@ public: } static inline EffectKey GenKey(const GrDrawEffect& drawEffect, const GrGLCaps&) { - return drawEffect.castEffect<XferEffect>().mode(); + // The background may come from the dst or from a texture. + int numTextures = (*drawEffect.effect())->numTextures(); + SkASSERT(numTextures <= 1); + return (drawEffect.castEffect<XferEffect>().mode() << 1) | numTextures; } private: |