From cb31248132cc5ab08b0333b1ce0ab189dc69d155 Mon Sep 17 00:00:00 2001 From: Yuqian Li Date: Fri, 27 Apr 2018 15:52:40 -0400 Subject: Reland "Reland "Reland "Exercise the threaded backend in test bots""" This reverts commit 47f2b7b089c688503b12caff9c8a84fb185d01c5. Reason for revert: try to fix the issue by reducing the set of bots Original change's description: > Revert "Reland "Reland "Exercise the threaded backend in test bots""" > > This reverts commit 7ddad479e464a3d481d106415c9c1b8cc8496848. > > Reason for revert: bots failure > > Original change's description: > > Reland "Reland "Exercise the threaded backend in test bots"" > > > > This reverts commit 0f5972604ce4439fd33118d6be1e4f24fe6c267f. > > > > Reason for revert: ASAN/MSAN should have been fixed > > > > Original change's description: > > > Revert "Reland "Exercise the threaded backend in test bots"" > > > > > > This reverts commit 654ca8a340700ca8089abb7828adc2c229c6241e. > > > > > > Reason for revert: ASAN,MSAN failures > > > > > > Original change's description: > > > > Reland "Exercise the threaded backend in test bots" > > > > > > > > This reverts commit ea51393ba918f75c1b40d521081789eeb3b42d6f. > > > > > > > > Reason for revert: try again after many fixes of the threaded backend > > > > > > > > Original change's description: > > > > > Revert "Exercise the threaded backend in test bots" > > > > > > > > > > This reverts commit a39991ebd70f4aaf1290dd516467d729811e45ee. > > > > > > > > > > Reason for revert: Random bots timeout > > > > > > > > > > Original change's description: > > > > > > Exercise the threaded backend in test bots > > > > > > > > > > > > We can't draw everything correctly now, but it's at least not crashing. > > > > > > > > > > > > The draw_to_canvas is modified by adding flush because now the raster > > > > > > canvas also needs flush like GPU canvases because of the threaded > > > > > > backend. (Previously, AndroidCodecSrc vetoed GPU (non-raster) sink > > > > > > and that's why it was not crashing.) > > > > > > > > > > > > > > > > > > Bug: skia: > > > > > > Change-Id: I222d706c33e15326e1b97d6bef6c46b8c35cebfd > > > > > > Reviewed-on: https://skia-review.googlesource.com/118886 > > > > > > Reviewed-by: Kevin Lubick > > > > > > Commit-Queue: Yuqian Li > > > > > > > > > > TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com > > > > > > > > > > Change-Id: Ib1089d937b6e25cc39d90ad4de35b3a4c406f6b1 > > > > > No-Presubmit: true > > > > > No-Tree-Checks: true > > > > > No-Try: true > > > > > Bug: skia: > > > > > Reviewed-on: https://skia-review.googlesource.com/119100 > > > > > Reviewed-by: Yuqian Li > > > > > Commit-Queue: Yuqian Li > > > > > > > > TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com > > > > > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > > > > > Bug: skia:7838 > > > > Change-Id: I1405212204bf694b2f31dfc38154759e1d3e363f > > > > Reviewed-on: https://skia-review.googlesource.com/121680 > > > > Commit-Queue: Yuqian Li > > > > Reviewed-by: Yuqian Li > > > > > > TBR=kjlubick@google.com,stephana@google.com,liyuqian@google.com > > > > > > Change-Id: Id1b273e22a1d0cbc15a2155252909f576b401fa4 > > > No-Presubmit: true > > > No-Tree-Checks: true > > > No-Try: true > > > Bug: skia:7838 > > > Reviewed-on: https://skia-review.googlesource.com/123360 > > > Reviewed-by: Mike Klein > > > Commit-Queue: Mike Klein > > > > TBR=mtklein@google.com,kjlubick@google.com,stephana@google.com,liyuqian@google.com > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: skia:7838 > > Change-Id: I205d579f2959ea726b447993314c1326b731730e > > Reviewed-on: https://skia-review.googlesource.com/123660 > > Commit-Queue: Yuqian Li > > Reviewed-by: Yuqian Li > > TBR=mtklein@google.com,kjlubick@google.com,stephana@google.com,liyuqian@google.com > > Change-Id: I1d3986cc2af12836dd7acbcbba713081a88301a6 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia:7838 > Reviewed-on: https://skia-review.googlesource.com/124200 > Reviewed-by: Yuqian Li > Commit-Queue: Yuqian Li TBR=mtklein@google.com,kjlubick@google.com,stephana@google.com,liyuqian@google.com Change-Id: I2d4d0c172849a86b37c60b32938a7a2b828258fa No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7838 Reviewed-on: https://skia-review.googlesource.com/124201 Commit-Queue: Yuqian Li Reviewed-by: Yuqian Li --- dm/DMSrcSink.cpp | 1 + dm/DMSrcSink.h | 3 +++ .../Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN.json | 1 + .../Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-MSAN.json | 1 + ...-CPU-AVX2-x86_64-Debug-All-SK_USE_DISCARDABLE_SCALEDIMAGECACHE.json | 1 + ...t-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-shard_00_10-Coverage.json | 1 + .../Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-All-TSAN.json | 1 + .../test.expected/Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All.json | 1 + infra/bots/recipes/test.expected/failed_dm.json | 1 + infra/bots/recipes/test.expected/trybot.json | 1 + infra/bots/recipes/test.py | 3 +++ src/core/SkDraw.cpp | 1 + 12 files changed, 16 insertions(+) diff --git a/dm/DMSrcSink.cpp b/dm/DMSrcSink.cpp index a086094414..bab344b1e5 100644 --- a/dm/DMSrcSink.cpp +++ b/dm/DMSrcSink.cpp @@ -418,6 +418,7 @@ static void draw_to_canvas(SkCanvas* canvas, const SkImageInfo& info, void* pixe premultiply_if_necessary(bitmap); swap_rb_if_necessary(bitmap, dstColorType); canvas->drawBitmap(bitmap, left, top); + canvas->flush(); } // For codec srcs, we want the "draw" step to be a memcpy. Any interesting color space or diff --git a/dm/DMSrcSink.h b/dm/DMSrcSink.h index 5ba11e57be..d98b4a093d 100644 --- a/dm/DMSrcSink.h +++ b/dm/DMSrcSink.h @@ -433,6 +433,9 @@ 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; diff --git a/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN.json b/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN.json index 2eb8dc731a..4d382843c3 100644 --- a/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN.json +++ b/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN.json @@ -170,6 +170,7 @@ "f16", "lite-8888", "gbr-8888", + "t8888", "serialize-8888", "tiles_rt-8888", "pic-8888", diff --git a/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-MSAN.json b/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-MSAN.json index 96c90fe23e..07478cb258 100644 --- a/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-MSAN.json +++ b/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-MSAN.json @@ -169,6 +169,7 @@ "f16", "lite-8888", "gbr-8888", + "t8888", "serialize-8888", "tiles_rt-8888", "pic-8888", diff --git a/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-SK_USE_DISCARDABLE_SCALEDIMAGECACHE.json b/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-SK_USE_DISCARDABLE_SCALEDIMAGECACHE.json index fe97a1a059..99e4abfa9b 100644 --- a/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-SK_USE_DISCARDABLE_SCALEDIMAGECACHE.json +++ b/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-SK_USE_DISCARDABLE_SCALEDIMAGECACHE.json @@ -269,6 +269,7 @@ "f16", "lite-8888", "gbr-8888", + "t8888", "serialize-8888", "tiles_rt-8888", "pic-8888", diff --git a/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-shard_00_10-Coverage.json b/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-shard_00_10-Coverage.json index 0e57f1262a..73d6462985 100644 --- a/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-shard_00_10-Coverage.json +++ b/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-shard_00_10-Coverage.json @@ -175,6 +175,7 @@ "f16", "lite-8888", "gbr-8888", + "t8888", "serialize-8888", "tiles_rt-8888", "pic-8888", diff --git a/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-All-TSAN.json b/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-All-TSAN.json index 3d70ca33b2..79b1f3ea19 100644 --- a/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-All-TSAN.json +++ b/infra/bots/recipes/test.expected/Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-All-TSAN.json @@ -170,6 +170,7 @@ "f16", "lite-8888", "gbr-8888", + "t8888", "serialize-8888", "tiles_rt-8888", "pic-8888", diff --git a/infra/bots/recipes/test.expected/Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All.json b/infra/bots/recipes/test.expected/Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All.json index b5f36cadaa..d690228ed7 100644 --- a/infra/bots/recipes/test.expected/Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All.json +++ b/infra/bots/recipes/test.expected/Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All.json @@ -265,6 +265,7 @@ "f16", "lite-8888", "gbr-8888", + "t8888", "serialize-8888", "tiles_rt-8888", "pic-8888", diff --git a/infra/bots/recipes/test.expected/failed_dm.json b/infra/bots/recipes/test.expected/failed_dm.json index 3d0a9bd4e9..83b9178288 100644 --- a/infra/bots/recipes/test.expected/failed_dm.json +++ b/infra/bots/recipes/test.expected/failed_dm.json @@ -265,6 +265,7 @@ "f16", "lite-8888", "gbr-8888", + "t8888", "serialize-8888", "tiles_rt-8888", "pic-8888", diff --git a/infra/bots/recipes/test.expected/trybot.json b/infra/bots/recipes/test.expected/trybot.json index 1b5de9bea7..21042d2a6e 100644 --- a/infra/bots/recipes/test.expected/trybot.json +++ b/infra/bots/recipes/test.expected/trybot.json @@ -266,6 +266,7 @@ "f16", "lite-8888", "gbr-8888", + "t8888", "serialize-8888", "tiles_rt-8888", "pic-8888", diff --git a/infra/bots/recipes/test.py b/infra/bots/recipes/test.py index 837317961d..372ab958f3 100644 --- a/infra/bots/recipes/test.py +++ b/infra/bots/recipes/test.py @@ -105,6 +105,9 @@ def dm_flags(api, bot): configs.extend(['lite-8888']) # Experimental display list. configs.extend(['gbr-8888']) + if '64' in bot: + configs.extend(['t8888']) + configs.extend(mode + '-8888' for mode in ['serialize', 'tiles_rt', 'pic']) # This bot only differs from vanilla CPU bots in 8888 config. diff --git a/src/core/SkDraw.cpp b/src/core/SkDraw.cpp index 362c8b50fd..e3c81ba258 100644 --- a/src/core/SkDraw.cpp +++ b/src/core/SkDraw.cpp @@ -1019,6 +1019,7 @@ void SkDraw::drawDevPath(const SkPath& devPath, const SkPaint& paint, bool drawC // existing drawXXX commands: simply send in SkInitOnceData, do as much init work as // possible, and finally wrap the remaining work into iData->fElement->fDrawFn. SkASSERT(customBlitter == nullptr); + devPath.updateBoundsCache(); // make it thread safe iData->fElement->setDrawFn([proc, devPath, paint, drawCoverage](SkArenaAlloc* alloc, const SkThreadedBMPDevice::DrawState& ds, const SkIRect& tileBounds) { SkThreadedBMPDevice::TileDraw tileDraw(ds, tileBounds); -- cgit v1.2.3