diff options
Diffstat (limited to 'src/gpu/SkGr.cpp')
-rw-r--r-- | src/gpu/SkGr.cpp | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp index 64142fe07e..a3972806f7 100644 --- a/src/gpu/SkGr.cpp +++ b/src/gpu/SkGr.cpp @@ -514,15 +514,8 @@ void SkPaint2GrPaintNoShader(GrContext* context, const SkPaint& skPaint, GrColor grPaint->setAntiAlias(skPaint.isAntiAlias()); SkXfermode* mode = skPaint.getXfermode(); - GrFragmentProcessor* fragmentProcessor = NULL; GrXPFactory* xpFactory = NULL; - if (SkXfermode::AsFragmentProcessorOrXPFactory(mode, &fragmentProcessor, &xpFactory)) { - if (fragmentProcessor) { - SkASSERT(NULL == xpFactory); - grPaint->addColorProcessor(fragmentProcessor)->unref(); - xpFactory = GrPorterDuffXPFactory::Create(SkXfermode::kSrc_Mode); - } - } else { + if (!SkXfermode::AsXPFactory(mode, &xpFactory)) { // Fall back to src-over xpFactory = GrPorterDuffXPFactory::Create(SkXfermode::kSrcOver_Mode); } |