From 0caef298c2ff935b622673e09cd542151dc2ecc0 Mon Sep 17 00:00:00 2001 From: Yuqian Li Date: Wed, 2 May 2018 10:56:17 -0400 Subject: Let each threaded device in the ThreadSink own its SkExecutor See https://bugs.chromium.org/p/skia/issues/detail?id=7838#c17 Bug: skia:7838 Change-Id: I98e723e7a2d5f7506d019e28797c34e12582f47b Reviewed-on: https://skia-review.googlesource.com/125283 Commit-Queue: Yuqian Li Auto-Submit: Yuqian Li Reviewed-by: Mike Klein --- dm/DMSrcSink.cpp | 6 ++---- dm/DMSrcSink.h | 6 ------ 2 files changed, 2 insertions(+), 10 deletions(-) (limited to 'dm') diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp index e6db22bcdb..e1e411f5ea 100644 --- a/dm/DMSrcSink.cpp +++ b/dm/DMSrcSink.cpp @@ -1794,16 +1794,14 @@ Error RasterSink::draw(const Src& src, SkBitmap* dst, SkWStream*, SkString*) con /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ ThreadedSink::ThreadedSink(SkColorType colorType, sk_sp colorSpace) - : RasterSink(colorType, colorSpace) - , fExecutor(SkExecutor::MakeFIFOThreadPool(FLAGS_backendThreads)) { -} + : RasterSink(colorType, colorSpace) {} Error ThreadedSink::draw(const Src& src, SkBitmap* dst, SkWStream* stream, SkString* str) const { this->allocPixels(src, dst); auto canvas = skstd::make_unique( sk_make_sp( - *dst, FLAGS_backendTiles, FLAGS_backendThreads, fExecutor.get())); + *dst, FLAGS_backendTiles, FLAGS_backendThreads)); Error result = src.draw(canvas.get()); canvas->flush(); return result; diff --git a/dm/DMSrcSink.h b/dm/DMSrcSink.h index d98b4a093d..d52fe8968c 100644 --- a/dm/DMSrcSink.h +++ b/dm/DMSrcSink.h @@ -433,12 +433,6 @@ class ThreadedSink : public RasterSink { public: explicit ThreadedSink(SkColorType, sk_sp = nullptr); Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; - SinkFlags flags() const override { - return SinkFlags{ SinkFlags::kRaster, SinkFlags::kIndirect }; - } - -private: - std::unique_ptr fExecutor; }; class SKPSink : public Sink { -- cgit v1.2.3