| Index: dm/DMSrcSink.cpp
|
| diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp
|
| index 0cd2ac93471e1b0aff2c4858689c6090bc482e5d..d1d9be030ffffb584bc537d23184965332bd92dc 100644
|
| --- a/dm/DMSrcSink.cpp
|
| +++ b/dm/DMSrcSink.cpp
|
| @@ -71,11 +71,12 @@ CodecSrc::CodecSrc(Path path, Mode mode, DstColorType dstColorType, float scale)
|
| , fScale(scale)
|
| {}
|
|
|
| -bool CodecSrc::veto(SinkType type) const {
|
| - // No need to test decoding to non-raster backend.
|
| +bool CodecSrc::veto(SinkFlags flags) const {
|
| + // No need to test decoding to non-raster or indirect backend.
|
| // TODO: Once we implement GPU paths (e.g. JPEG YUV), we should use a deferred decode to
|
| // let the GPU handle it.
|
| - return type != kRaster_SinkType;
|
| + return flags.type != SinkFlags::kRaster
|
| + || flags.approach != SinkFlags::kDirect;
|
| }
|
|
|
| Error CodecSrc::draw(SkCanvas* canvas) const {
|
| @@ -460,10 +461,11 @@ Name CodecSrc::name() const {
|
|
|
| ImageSrc::ImageSrc(Path path, int divisor) : fPath(path), fDivisor(divisor) {}
|
|
|
| -bool ImageSrc::veto(SinkType type) const {
|
| - // No need to test decoding to non-raster backend.
|
| +bool ImageSrc::veto(SinkFlags flags) const {
|
| + // No need to test decoding to non-raster or indirect backend.
|
| // TODO: Instead, use lazy decoding to allow the GPU to handle cases like YUV.
|
| - return type != kRaster_SinkType;
|
| + return flags.type != SinkFlags::kRaster
|
| + || flags.approach != SinkFlags::kDirect;
|
| }
|
|
|
| Error ImageSrc::draw(SkCanvas* canvas) const {
|
|
|