Index: src/core/SkXfermode.cpp |
diff --git a/src/core/SkXfermode.cpp b/src/core/SkXfermode.cpp |
index 86e3ed5dcf8e579b9e3742b9026c551758a90731..1b2993ad75110076765dd64251f2c8f883336fb4 100644 |
--- a/src/core/SkXfermode.cpp |
+++ b/src/core/SkXfermode.cpp |
@@ -650,13 +650,18 @@ bool SkXfermode::asMode(Mode* mode) const { |
return false; |
} |
-bool SkXfermode::asFragmentProcessor(const GrFragmentProcessor**, |
- const GrFragmentProcessor*) const { |
- return false; |
+const GrFragmentProcessor* SkXfermode::asFragmentProcessor(const GrFragmentProcessor*) const { |
+ // This should never be called. |
+ // TODO: make pure virtual in SkXfermode once Android update lands |
+ SkASSERT(0); |
+ return nullptr; |
} |
-bool SkXfermode::asXPFactory(GrXPFactory**) const { |
- return false; |
+GrXPFactory* SkXfermode::asXPFactory() const { |
+ // This should never be called. |
+ // TODO: make pure virtual in SkXfermode once Android update lands |
+ SkASSERT(0); |
+ return nullptr; |
} |
SkPMColor SkXfermode::xferColor(SkPMColor src, SkPMColor dst) const{ |
@@ -902,33 +907,20 @@ void SkProcCoeffXfermode::xferA8(SkAlpha* SK_RESTRICT dst, |
#include "effects/GrPorterDuffXferProcessor.h" |
#include "effects/GrXfermodeFragmentProcessor.h" |
-bool SkProcCoeffXfermode::asFragmentProcessor(const GrFragmentProcessor** fp, |
- const GrFragmentProcessor* dst) const { |
- if (fp) { |
- SkASSERT(dst); |
- *fp = GrXfermodeFragmentProcessor::CreateFromDstProcessor(dst, fMode); |
- SkASSERT(*fp || kSrc_Mode == fMode); |
- } |
- return true; |
+const GrFragmentProcessor* SkProcCoeffXfermode::asFragmentProcessor( |
+ const GrFragmentProcessor* dst) const { |
+ SkASSERT(dst); |
+ return GrXfermodeFragmentProcessor::CreateFromDstProcessor(dst, fMode); |
} |
-bool SkProcCoeffXfermode::asXPFactory(GrXPFactory** xp) const { |
+GrXPFactory* SkProcCoeffXfermode::asXPFactory() const { |
if (CANNOT_USE_COEFF != fSrcCoeff) { |
- if (xp) { |
- *xp = GrPorterDuffXPFactory::Create(fMode); |
- SkASSERT(*xp); |
- } |
- return true; |
+ SkASSERT(fMode <= kLastCoeffMode); |
egdaniel
2016/02/08 15:32:11
I feel like this assert assumes knowledge of exact
robertphillips
2016/02/08 15:54:53
Done.
|
+ return GrPorterDuffXPFactory::Create(fMode); |
} |
- if (GrCustomXfermode::IsSupportedMode(fMode)) { |
- if (xp) { |
- *xp = GrCustomXfermode::CreateXPFactory(fMode); |
- SkASSERT(*xp); |
- } |
- return true; |
- } |
- return false; |
+ SkASSERT(GrCustomXfermode::IsSupportedMode(fMode)); |
+ return GrCustomXfermode::CreateXPFactory(fMode); |
} |
#endif |