diff options
author | Yuqian Li <liyuqian@google.com> | 2018-05-02 10:56:17 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-05-02 21:34:59 +0000 |
commit | 0caef298c2ff935b622673e09cd542151dc2ecc0 (patch) | |
tree | 4fe16e630ae137c13f3193f68d488f4de82c5bd9 /dm | |
parent | b73a9f8b9609c09c25405c16d277c977fdea8c07 (diff) |
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 <liyuqian@google.com>
Auto-Submit: Yuqian Li <liyuqian@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Diffstat (limited to 'dm')
-rw-r--r-- | dm/DMSrcSink.cpp | 6 | ||||
-rw-r--r-- | dm/DMSrcSink.h | 6 |
2 files changed, 2 insertions, 10 deletions
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<SkColorSpace> 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<SkCanvas>( sk_make_sp<SkThreadedBMPDevice>( - *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<SkColorSpace> = nullptr); Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const override; - SinkFlags flags() const override { - return SinkFlags{ SinkFlags::kRaster, SinkFlags::kIndirect }; - } - -private: - std::unique_ptr<SkExecutor> fExecutor; }; class SKPSink : public Sink { |