| Index: cc/surfaces/surface_aggregator_perftest.cc
|
| diff --git a/cc/surfaces/surface_aggregator_perftest.cc b/cc/surfaces/surface_aggregator_perftest.cc
|
| index 73f617442caf8cfa32a0b1f483a961ca5487880a..80bd63dc1d890a3fb61e5e24ec878330e53c5292 100644
|
| --- a/cc/surfaces/surface_aggregator_perftest.cc
|
| +++ b/cc/surfaces/surface_aggregator_perftest.cc
|
| @@ -31,8 +31,7 @@ class EmptySurfaceFactoryClient : public SurfaceFactoryClient {
|
|
|
| class SurfaceAggregatorPerfTest : public testing::Test {
|
| public:
|
| - SurfaceAggregatorPerfTest()
|
| - : factory_(kArbitraryFrameSinkId, &manager_, &empty_client_) {
|
| + SurfaceAggregatorPerfTest() {
|
| context_provider_ = TestContextProvider::Create();
|
| context_provider_->BindToCurrentThread();
|
| shared_bitmap_manager_.reset(new TestSharedBitmapManager);
|
| @@ -47,11 +46,14 @@ class SurfaceAggregatorPerfTest : public testing::Test {
|
| bool optimize_damage,
|
| bool full_damage,
|
| const std::string& name) {
|
| + std::unique_ptr<SurfaceFactory> factories[num_surfaces + 1];
|
| + for (int i = 0; i <= num_surfaces; i++)
|
| + factories[i].reset(
|
| + new SurfaceFactory(kArbitraryFrameSinkId, &manager_, &empty_client_));
|
| aggregator_.reset(new SurfaceAggregator(&manager_, resource_provider_.get(),
|
| optimize_damage));
|
| for (int i = 1; i <= num_surfaces; i++) {
|
| LocalFrameId local_frame_id(i, 0);
|
| - factory_.Create(local_frame_id);
|
| std::unique_ptr<RenderPass> pass(RenderPass::Create());
|
| CompositorFrame frame;
|
|
|
| @@ -93,11 +95,10 @@ class SurfaceAggregatorPerfTest : public testing::Test {
|
| }
|
|
|
| frame.render_pass_list.push_back(std::move(pass));
|
| - factory_.SubmitCompositorFrame(local_frame_id, std::move(frame),
|
| - SurfaceFactory::DrawCallback());
|
| + factories[i - 1]->SubmitCompositorFrame(local_frame_id, std::move(frame),
|
| + SurfaceFactory::DrawCallback());
|
| }
|
|
|
| - factory_.Create(LocalFrameId(num_surfaces + 1, 0));
|
| timer_.Reset();
|
| do {
|
| std::unique_ptr<RenderPass> pass(RenderPass::Create());
|
| @@ -116,9 +117,9 @@ class SurfaceAggregatorPerfTest : public testing::Test {
|
| pass->damage_rect = gfx::Rect(0, 0, 1, 1);
|
|
|
| frame.render_pass_list.push_back(std::move(pass));
|
| - factory_.SubmitCompositorFrame(LocalFrameId(num_surfaces + 1, 0),
|
| - std::move(frame),
|
| - SurfaceFactory::DrawCallback());
|
| + factories[num_surfaces]->SubmitCompositorFrame(
|
| + LocalFrameId(num_surfaces + 1, 0), std::move(frame),
|
| + SurfaceFactory::DrawCallback());
|
|
|
| CompositorFrame aggregated = aggregator_->Aggregate(
|
| SurfaceId(kArbitraryFrameSinkId, LocalFrameId(num_surfaces + 1, 0)));
|
| @@ -127,16 +128,11 @@ class SurfaceAggregatorPerfTest : public testing::Test {
|
|
|
| perf_test::PrintResult("aggregator_speed", "", name, timer_.LapsPerSecond(),
|
| "runs/s", true);
|
| -
|
| - factory_.Destroy(LocalFrameId(num_surfaces + 1, 0));
|
| - for (int i = 1; i <= num_surfaces; i++)
|
| - factory_.Destroy(LocalFrameId(i, 0));
|
| }
|
|
|
| protected:
|
| SurfaceManager manager_;
|
| EmptySurfaceFactoryClient empty_client_;
|
| - SurfaceFactory factory_;
|
| scoped_refptr<TestContextProvider> context_provider_;
|
| std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_;
|
| std::unique_ptr<ResourceProvider> resource_provider_;
|
|
|