| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/trees/layer_tree_host.h" | 5 #include "cc/trees/layer_tree_host.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 4342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4353 compositor_context_provider = first_context_provider_; | 4353 compositor_context_provider = first_context_provider_; |
| 4354 } else { | 4354 } else { |
| 4355 EXPECT_FALSE(second_context_provider_); | 4355 EXPECT_FALSE(second_context_provider_); |
| 4356 second_context_provider_ = TestContextProvider::Create(); | 4356 second_context_provider_ = TestContextProvider::Create(); |
| 4357 compositor_context_provider = second_context_provider_; | 4357 compositor_context_provider = second_context_provider_; |
| 4358 } | 4358 } |
| 4359 | 4359 |
| 4360 auto output_surface = | 4360 auto output_surface = |
| 4361 FakeOutputSurface::Create3d(std::move(compositor_context_provider)); | 4361 FakeOutputSurface::Create3d(std::move(compositor_context_provider)); |
| 4362 output_surface->SetMemoryPolicyToSetAtBind( | 4362 output_surface->SetMemoryPolicyToSetAtBind( |
| 4363 base::WrapUnique(new ManagedMemoryPolicy( | 4363 base::MakeUnique<ManagedMemoryPolicy>( |
| 4364 second_context_provider_.get() ? second_output_surface_memory_limit_ | 4364 second_context_provider_.get() ? second_output_surface_memory_limit_ |
| 4365 : first_output_surface_memory_limit_, | 4365 : first_output_surface_memory_limit_, |
| 4366 gpu::MemoryAllocation::CUTOFF_ALLOW_NICE_TO_HAVE, | 4366 gpu::MemoryAllocation::CUTOFF_ALLOW_NICE_TO_HAVE, |
| 4367 ManagedMemoryPolicy::kDefaultNumResourcesLimit))); | 4367 ManagedMemoryPolicy::kDefaultNumResourcesLimit)); |
| 4368 return std::move(output_surface); | 4368 return std::move(output_surface); |
| 4369 } | 4369 } |
| 4370 | 4370 |
| 4371 void SetupTree() override { | 4371 void SetupTree() override { |
| 4372 root_ = FakePictureLayer::Create(&client_); | 4372 root_ = FakePictureLayer::Create(&client_); |
| 4373 root_->SetBounds(gfx::Size(20, 20)); | 4373 root_->SetBounds(gfx::Size(20, 20)); |
| 4374 layer_tree()->SetRootLayer(root_); | 4374 layer_tree()->SetRootLayer(root_); |
| 4375 LayerTreeHostTest::SetupTree(); | 4375 LayerTreeHostTest::SetupTree(); |
| 4376 client_.set_bounds(root_->bounds()); | 4376 client_.set_bounds(root_->bounds()); |
| 4377 } | 4377 } |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4479 class PinnedLayerTreeSwapPromise : public LayerTreeHostTest { | 4479 class PinnedLayerTreeSwapPromise : public LayerTreeHostTest { |
| 4480 protected: | 4480 protected: |
| 4481 void BeginTest() override { | 4481 void BeginTest() override { |
| 4482 PostSetNextCommitForcesRedrawToMainThread(); | 4482 PostSetNextCommitForcesRedrawToMainThread(); |
| 4483 PostSetNeedsCommitToMainThread(); | 4483 PostSetNeedsCommitToMainThread(); |
| 4484 } | 4484 } |
| 4485 | 4485 |
| 4486 void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override { | 4486 void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) override { |
| 4487 int frame = host_impl->active_tree()->source_frame_number(); | 4487 int frame = host_impl->active_tree()->source_frame_number(); |
| 4488 if (frame == -1) { | 4488 if (frame == -1) { |
| 4489 host_impl->active_tree()->QueuePinnedSwapPromise(base::WrapUnique( | 4489 host_impl->active_tree()->QueuePinnedSwapPromise( |
| 4490 new TestSwapPromise(&pinned_active_swap_promise_result_))); | 4490 base::MakeUnique<TestSwapPromise>( |
| 4491 &pinned_active_swap_promise_result_)); |
| 4491 host_impl->pending_tree()->QueueSwapPromise( | 4492 host_impl->pending_tree()->QueueSwapPromise( |
| 4492 base::WrapUnique(new TestSwapPromise(&pending_swap_promise_result_))); | 4493 base::MakeUnique<TestSwapPromise>(&pending_swap_promise_result_)); |
| 4493 host_impl->active_tree()->QueueSwapPromise( | 4494 host_impl->active_tree()->QueueSwapPromise( |
| 4494 base::WrapUnique(new TestSwapPromise(&active_swap_promise_result_))); | 4495 base::MakeUnique<TestSwapPromise>(&active_swap_promise_result_)); |
| 4495 } | 4496 } |
| 4496 } | 4497 } |
| 4497 | 4498 |
| 4498 void DisplayDidDrawAndSwapOnThread() override { EndTest(); } | 4499 void DisplayDidDrawAndSwapOnThread() override { EndTest(); } |
| 4499 | 4500 |
| 4500 void AfterTest() override { | 4501 void AfterTest() override { |
| 4501 // The pending swap promise should activate and swap. | 4502 // The pending swap promise should activate and swap. |
| 4502 EXPECT_TRUE(pending_swap_promise_result_.did_activate_called); | 4503 EXPECT_TRUE(pending_swap_promise_result_.did_activate_called); |
| 4503 EXPECT_TRUE(pending_swap_promise_result_.did_swap_called); | 4504 EXPECT_TRUE(pending_swap_promise_result_.did_swap_called); |
| 4504 | 4505 |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4635 MainThreadTaskRunner()->PostTask( | 4636 MainThreadTaskRunner()->PostTask( |
| 4636 FROM_HERE, base::Bind(&LayerTreeHostTestKeepSwapPromise::ChangeFrame, | 4637 FROM_HERE, base::Bind(&LayerTreeHostTestKeepSwapPromise::ChangeFrame, |
| 4637 base::Unretained(this))); | 4638 base::Unretained(this))); |
| 4638 } | 4639 } |
| 4639 | 4640 |
| 4640 void ChangeFrame() { | 4641 void ChangeFrame() { |
| 4641 switch (layer_tree_host()->source_frame_number()) { | 4642 switch (layer_tree_host()->source_frame_number()) { |
| 4642 case 1: | 4643 case 1: |
| 4643 layer_->SetBounds(gfx::Size(10, 11)); | 4644 layer_->SetBounds(gfx::Size(10, 11)); |
| 4644 layer_tree_host()->QueueSwapPromise( | 4645 layer_tree_host()->QueueSwapPromise( |
| 4645 base::WrapUnique(new TestSwapPromise(&swap_promise_result_))); | 4646 base::MakeUnique<TestSwapPromise>(&swap_promise_result_)); |
| 4646 break; | 4647 break; |
| 4647 case 2: | 4648 case 2: |
| 4648 break; | 4649 break; |
| 4649 default: | 4650 default: |
| 4650 NOTREACHED(); | 4651 NOTREACHED(); |
| 4651 break; | 4652 break; |
| 4652 } | 4653 } |
| 4653 } | 4654 } |
| 4654 | 4655 |
| 4655 void WillActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { | 4656 void WillActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4750 EXPECT_FALSE(swap_promise_result_.did_swap_called); | 4751 EXPECT_FALSE(swap_promise_result_.did_swap_called); |
| 4751 host_impl->BlockNotifyReadyToActivateForTesting(false); | 4752 host_impl->BlockNotifyReadyToActivateForTesting(false); |
| 4752 } | 4753 } |
| 4753 | 4754 |
| 4754 void ChangeFrame() { | 4755 void ChangeFrame() { |
| 4755 switch (layer_tree_host()->source_frame_number()) { | 4756 switch (layer_tree_host()->source_frame_number()) { |
| 4756 case 1: | 4757 case 1: |
| 4757 // Make no changes so that we abort the next commit caused by queuing | 4758 // Make no changes so that we abort the next commit caused by queuing |
| 4758 // the swap promise. | 4759 // the swap promise. |
| 4759 layer_tree_host()->QueueSwapPromise( | 4760 layer_tree_host()->QueueSwapPromise( |
| 4760 base::WrapUnique(new TestSwapPromise(&swap_promise_result_))); | 4761 base::MakeUnique<TestSwapPromise>(&swap_promise_result_)); |
| 4761 layer_tree_host()->SetNeedsUpdateLayers(); | 4762 layer_tree_host()->SetNeedsUpdateLayers(); |
| 4762 break; | 4763 break; |
| 4763 case 2: | 4764 case 2: |
| 4764 break; | 4765 break; |
| 4765 default: | 4766 default: |
| 4766 NOTREACHED(); | 4767 NOTREACHED(); |
| 4767 break; | 4768 break; |
| 4768 } | 4769 } |
| 4769 } | 4770 } |
| 4770 | 4771 |
| (...skipping 2254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7025 private: | 7026 private: |
| 7026 FakeContentLayerClient client_; | 7027 FakeContentLayerClient client_; |
| 7027 const gfx::Size viewport_size_; | 7028 const gfx::Size viewport_size_; |
| 7028 const gfx::Size large_image_size_; | 7029 const gfx::Size large_image_size_; |
| 7029 }; | 7030 }; |
| 7030 | 7031 |
| 7031 SINGLE_AND_MULTI_THREAD_TEST_F(GpuRasterizationSucceedsWithLargeImage); | 7032 SINGLE_AND_MULTI_THREAD_TEST_F(GpuRasterizationSucceedsWithLargeImage); |
| 7032 | 7033 |
| 7033 } // namespace | 7034 } // namespace |
| 7034 } // namespace cc | 7035 } // namespace cc |
| OLD | NEW |