| Index: include/core/SkXfermode.h
 | 
| diff --git a/include/core/SkXfermode.h b/include/core/SkXfermode.h
 | 
| index f2d8d578659bc8838420913e34d96c4e94c82e75..11d39cabf797b0417a223141e7d71f3610cc4fc0 100644
 | 
| --- a/include/core/SkXfermode.h
 | 
| +++ b/include/core/SkXfermode.h
 | 
| @@ -193,37 +193,22 @@ public:
 | 
|       */
 | 
|      static bool IsOpaque(const SkXfermode* xfer, SrcColorOpacity opacityType);
 | 
|  
 | 
| -    /** Used to do in-shader blending between two colors computed in the shader via a
 | 
| -        GrFragmentProcessor. The input to the returned FP is the src color. The dst color is
 | 
| -        provided by the dst param which becomes a child FP of the returned FP. If the params are
 | 
| -        null then this is just a query of whether the SkXfermode could support this functionality.
 | 
| -        It is legal for the function to succeed but return a null output. This indicates that
 | 
| +#if SK_SUPPORT_GPU
 | 
| +    /** Used by the SkXfermodeImageFilter to blend two colors via a GrFragmentProcessor.
 | 
| +        The input to the returned FP is the src color. The dst color is
 | 
| +        provided by the dst param which becomes a child FP of the returned FP. 
 | 
| +        It is legal for the function to return a null output. This indicates that
 | 
|          the output of the blend is simply the src color.
 | 
|       */
 | 
| -    virtual bool asFragmentProcessor(const GrFragmentProcessor** output,
 | 
| -                                     const GrFragmentProcessor* dst) const;
 | 
| -
 | 
| -    /** A subclass may implement this factory function to work with the GPU backend. It is legal
 | 
| -      to call this with xpf NULL to simply test the return value. If xpf is non-NULL then the
 | 
| -      xfermode may optionally allocate a factory to return to the caller as *xpf. The caller
 | 
| -      will install it and own a ref to it. Since the xfermode may or may not assign *xpf, the
 | 
| -      caller should set *xpf to NULL beforehand. XferProcessors cannot use a background texture.
 | 
| -      */
 | 
| -    virtual bool asXPFactory(GrXPFactory** xpf) const;
 | 
| +    virtual const GrFragmentProcessor* getFragmentProcessorForImageFilter(
 | 
| +                                                            const GrFragmentProcessor* dst) const;
 | 
|  
 | 
| -    /** Returns true if the xfermode can be expressed as an xfer processor factory (xpFactory).
 | 
| -      This helper calls the asXPFactory() virtual. If the xfermode is NULL, it is treated as
 | 
| -      kSrcOver_Mode. It is legal to call this with xpf param NULL to simply test the return value.
 | 
| +    /** A subclass must implement this factory function to work with the GPU backend. 
 | 
| +        The xfermode will return a factory for which the caller will get a ref. It is up 
 | 
| +        to the caller to install it. XferProcessors cannot use a background texture.
 | 
|        */
 | 
| -    static inline bool AsXPFactory(SkXfermode* xfermode, GrXPFactory** xpf) {
 | 
| -        if (nullptr == xfermode) {
 | 
| -            if (xpf) {
 | 
| -                *xpf = nullptr;
 | 
| -            }
 | 
| -            return true;
 | 
| -        }
 | 
| -        return xfermode->asXPFactory(xpf);
 | 
| -    }
 | 
| +    virtual GrXPFactory* asXPFactory() const;
 | 
| +#endif
 | 
|  
 | 
|      SK_TO_STRING_PUREVIRT()
 | 
|      SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP()
 | 
| 
 |