Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(297)

Unified Diff: cc/raster/tile_task_worker_pool_unittest.cc

Issue 1470113002: Move TaskGraph creation to TileManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@pinchfix
Patch Set: feedback Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/raster/tile_task_worker_pool_perftest.cc ('k') | cc/raster/zero_copy_tile_task_worker_pool.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/raster/tile_task_worker_pool_unittest.cc
diff --git a/cc/raster/tile_task_worker_pool_unittest.cc b/cc/raster/tile_task_worker_pool_unittest.cc
index aff1423616d7509cb3c013e77de4d519a9cc03bf..62239c16ac59749db9565954e7d13e7341f70a54 100644
--- a/cc/raster/tile_task_worker_pool_unittest.cc
+++ b/cc/raster/tile_task_worker_pool_unittest.cc
@@ -4,6 +4,7 @@
#include "cc/raster/tile_task_worker_pool.h"
+#include <algorithm>
#include <limits>
#include <vector>
@@ -17,6 +18,7 @@
#include "cc/raster/gpu_tile_task_worker_pool.h"
#include "cc/raster/one_copy_tile_task_worker_pool.h"
#include "cc/raster/raster_buffer.h"
+#include "cc/raster/synchronous_task_graph_runner.h"
#include "cc/raster/tile_task_runner.h"
#include "cc/raster/zero_copy_tile_task_worker_pool.h"
#include "cc/resources/resource_pool.h"
@@ -28,7 +30,6 @@
#include "cc/test/fake_resource_provider.h"
#include "cc/test/test_gpu_memory_buffer_manager.h"
#include "cc/test/test_shared_bitmap_manager.h"
-#include "cc/test/test_task_graph_runner.h"
#include "cc/test/test_web_graphics_context_3d.h"
#include "gpu/GLES2/gl2extchromium.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -116,8 +117,7 @@ class BlockingTestRasterTaskImpl : public TestRasterTaskImpl {
};
class TileTaskWorkerPoolTest
- : public testing::TestWithParam<TileTaskWorkerPoolType>,
- public TileTaskRunnerClient {
+ : public testing::TestWithParam<TileTaskWorkerPoolType> {
public:
struct RasterTaskResult {
unsigned id;
@@ -170,7 +170,6 @@ class TileTaskWorkerPoolTest
}
DCHECK(tile_task_worker_pool_);
- tile_task_worker_pool_->AsTileTaskRunner()->SetClient(this);
}
void TearDown() override {
@@ -183,46 +182,22 @@ class TileTaskWorkerPoolTest
base::MessageLoop::current()->QuitWhenIdle();
}
- // Overriden from TileTaskWorkerPoolClient:
- void DidFinishRunningTileTasks(TaskSet task_set) override {
- EXPECT_FALSE(completed_task_sets_[task_set]);
- completed_task_sets_[task_set] = true;
- if (task_set == ALL) {
- EXPECT_TRUE((~completed_task_sets_).none());
- all_tile_tasks_finished_.Schedule();
- }
- }
-
void RunMessageLoopUntilAllTasksHaveCompleted() {
- if (timeout_seconds_) {
- timeout_.Reset(base::Bind(&TileTaskWorkerPoolTest::OnTimeout,
- base::Unretained(this)));
- base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
- FROM_HERE, timeout_.callback(),
- base::TimeDelta::FromSeconds(timeout_seconds_));
- }
-
- base::MessageLoop::current()->Run();
-
- timeout_.Cancel();
-
- ASSERT_FALSE(timed_out_) << "Test timed out";
+ task_graph_runner_.RunUntilIdle();
+ tile_task_worker_pool_->AsTileTaskRunner()->CheckForCompletedTasks();
}
void ScheduleTasks() {
- TileTaskQueue queue;
+ graph_.Reset();
+
+ size_t priority = 0;
for (RasterTaskVector::const_iterator it = tasks_.begin();
it != tasks_.end(); ++it) {
- TaskSetCollection task_sets;
- task_sets[REQUIRED_FOR_ACTIVATION] = true;
- task_sets[REQUIRED_FOR_DRAW] = true;
- task_sets[ALL] = true;
- queue.items.push_back(TileTaskQueue::Item(it->get(), task_sets));
+ graph_.nodes.emplace_back(it->get(), priority++, 0 /* dependencies */);
}
- completed_task_sets_.reset();
- tile_task_worker_pool_->AsTileTaskRunner()->ScheduleTasks(&queue);
+ tile_task_worker_pool_->AsTileTaskRunner()->ScheduleTasks(&graph_);
}
void AppendTask(unsigned id, const gfx::Size& size) {
@@ -315,14 +290,14 @@ class TileTaskWorkerPoolTest
scoped_ptr<TileTaskWorkerPool> tile_task_worker_pool_;
TestGpuMemoryBufferManager gpu_memory_buffer_manager_;
TestSharedBitmapManager shared_bitmap_manager_;
- TestTaskGraphRunner task_graph_runner_;
+ SynchronousTaskGraphRunner task_graph_runner_;
base::CancelableClosure timeout_;
UniqueNotifier all_tile_tasks_finished_;
int timeout_seconds_;
bool timed_out_;
RasterTaskVector tasks_;
std::vector<RasterTaskResult> completed_tasks_;
- TaskSetCollection completed_task_sets_;
+ TaskGraph graph_;
};
TEST_P(TileTaskWorkerPoolTest, Basic) {
@@ -391,21 +366,6 @@ TEST_P(TileTaskWorkerPoolTest, LostContext) {
EXPECT_FALSE(completed_tasks()[1].canceled);
}
-TEST_P(TileTaskWorkerPoolTest, ScheduleEmptyStillTriggersCallback) {
- // Don't append any tasks, just call ScheduleTasks.
- ScheduleTasks();
-
- EXPECT_FALSE(completed_task_sets_[REQUIRED_FOR_ACTIVATION]);
- EXPECT_FALSE(completed_task_sets_[REQUIRED_FOR_DRAW]);
- EXPECT_FALSE(completed_task_sets_[ALL]);
-
- RunMessageLoopUntilAllTasksHaveCompleted();
-
- EXPECT_TRUE(completed_task_sets_[REQUIRED_FOR_ACTIVATION]);
- EXPECT_TRUE(completed_task_sets_[REQUIRED_FOR_DRAW]);
- EXPECT_TRUE(completed_task_sets_[ALL]);
-}
-
INSTANTIATE_TEST_CASE_P(TileTaskWorkerPoolTests,
TileTaskWorkerPoolTest,
::testing::Values(TILE_TASK_WORKER_POOL_TYPE_ZERO_COPY,
« no previous file with comments | « cc/raster/tile_task_worker_pool_perftest.cc ('k') | cc/raster/zero_copy_tile_task_worker_pool.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698