| Index: src/core/SkXfermode.cpp
|
| diff --git a/src/core/SkXfermode.cpp b/src/core/SkXfermode.cpp
|
| index 77c668457b9d4e4b524b94c4909607354ce883fc..5fae9f12564d959cf8b939b31aeb4d97ac4efb23 100644
|
| --- a/src/core/SkXfermode.cpp
|
| +++ b/src/core/SkXfermode.cpp
|
| @@ -6,7 +6,7 @@
|
| * found in the LICENSE file.
|
| */
|
|
|
| -
|
| +#include "GrXferProcessor.h"
|
| #include "SkXfermode.h"
|
| #include "SkXfermode_opts_SSE2.h"
|
| #include "SkXfermode_proccoeff.h"
|
| @@ -680,12 +680,21 @@ bool SkXfermode::asFragmentProcessor(GrFragmentProcessor**, GrTexture*) const {
|
| return false;
|
| }
|
|
|
| -bool SkXfermode::asFragmentProcessorOrCoeff(SkXfermode* xfermode, GrFragmentProcessor** fp,
|
| - Coeff* src, Coeff* dst, GrTexture* background) {
|
| +bool SkXfermode::asXPFactory(GrXPFactory**) const {
|
| + return false;
|
| +}
|
| +
|
| +bool SkXfermode::asFragmentProcessorOrXPFactoryOrCoeff(SkXfermode* xfermode,
|
| + GrFragmentProcessor** fp,
|
| + GrXPFactory** xpf,
|
| + Coeff* src, Coeff* dst,
|
| + GrTexture* background) {
|
| if (NULL == xfermode) {
|
| return ModeAsCoeff(kSrcOver_Mode, src, dst);
|
| } else if (xfermode->asCoeff(src, dst)) {
|
| return true;
|
| + } else if (NULL == background && xfermode->asXPFactory(xpf)) {
|
| + return true;
|
| } else {
|
| return xfermode->asFragmentProcessor(fp, background);
|
| }
|
|
|