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

Side by Side Diff: cc/trees/layer_tree_host_unittest.cc

Issue 2337913003: Fork cc::OutputSurface into cc::CompositorFrameSink. (Closed)
Patch Set: cfsfork: ccperftests2 Created 4 years, 3 months 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 unified diff | Download patch
OLDNEW
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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 #include "cc/test/fake_picture_layer_impl.h" 42 #include "cc/test/fake_picture_layer_impl.h"
43 #include "cc/test/fake_proxy.h" 43 #include "cc/test/fake_proxy.h"
44 #include "cc/test/fake_recording_source.h" 44 #include "cc/test/fake_recording_source.h"
45 #include "cc/test/fake_scoped_ui_resource.h" 45 #include "cc/test/fake_scoped_ui_resource.h"
46 #include "cc/test/fake_video_frame_provider.h" 46 #include "cc/test/fake_video_frame_provider.h"
47 #include "cc/test/geometry_test_utils.h" 47 #include "cc/test/geometry_test_utils.h"
48 #include "cc/test/layer_internals_for_test.h" 48 #include "cc/test/layer_internals_for_test.h"
49 #include "cc/test/layer_tree_test.h" 49 #include "cc/test/layer_tree_test.h"
50 #include "cc/test/render_pass_test_utils.h" 50 #include "cc/test/render_pass_test_utils.h"
51 #include "cc/test/skia_common.h" 51 #include "cc/test/skia_common.h"
52 #include "cc/test/test_delegating_output_surface.h" 52 #include "cc/test/test_compositor_frame_sink.h"
53 #include "cc/test/test_shared_bitmap_manager.h" 53 #include "cc/test/test_shared_bitmap_manager.h"
54 #include "cc/test/test_web_graphics_context_3d.h" 54 #include "cc/test/test_web_graphics_context_3d.h"
55 #include "cc/trees/effect_node.h" 55 #include "cc/trees/effect_node.h"
56 #include "cc/trees/layer_tree_host_common.h" 56 #include "cc/trees/layer_tree_host_common.h"
57 #include "cc/trees/layer_tree_host_impl.h" 57 #include "cc/trees/layer_tree_host_impl.h"
58 #include "cc/trees/layer_tree_impl.h" 58 #include "cc/trees/layer_tree_impl.h"
59 #include "cc/trees/single_thread_proxy.h" 59 #include "cc/trees/single_thread_proxy.h"
60 #include "cc/trees/transform_node.h" 60 #include "cc/trees/transform_node.h"
61 #include "gpu/GLES2/gl2extchromium.h" 61 #include "gpu/GLES2/gl2extchromium.h"
62 #include "testing/gmock/include/gmock/gmock.h" 62 #include "testing/gmock/include/gmock/gmock.h"
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 bool did_notify_ready_to_draw_; 428 bool did_notify_ready_to_draw_;
429 bool did_draw_; 429 bool did_draw_;
430 }; 430 };
431 431
432 // Note: With this test setup, we only get tiles flagged as REQUIRED_FOR_DRAW in 432 // Note: With this test setup, we only get tiles flagged as REQUIRED_FOR_DRAW in
433 // single threaded mode. 433 // single threaded mode.
434 SINGLE_THREAD_TEST_F(LayerTreeHostTestReadyToDrawVisibility); 434 SINGLE_THREAD_TEST_F(LayerTreeHostTestReadyToDrawVisibility);
435 435
436 class LayerTreeHostContextCacheTest : public LayerTreeHostTest { 436 class LayerTreeHostContextCacheTest : public LayerTreeHostTest {
437 public: 437 public:
438 std::unique_ptr<TestDelegatingOutputSurface> CreateDelegatingOutputSurface( 438 std::unique_ptr<TestCompositorFrameSink> CreateCompositorFrameSink(
439 scoped_refptr<ContextProvider> compositor_context_provider, 439 scoped_refptr<ContextProvider> compositor_context_provider,
440 scoped_refptr<ContextProvider> worker_context_provider) override { 440 scoped_refptr<ContextProvider> worker_context_provider) override {
441 // Create the main ContextProvider with a MockContextSupport. 441 // Create the main ContextProvider with a MockContextSupport.
442 auto main_support = base::MakeUnique<MockContextSupport>(); 442 auto main_support = base::MakeUnique<MockContextSupport>();
443 mock_main_context_support_ = main_support.get(); 443 mock_main_context_support_ = main_support.get();
444 auto test_main_context_provider = TestContextProvider::Create( 444 auto test_main_context_provider = TestContextProvider::Create(
445 TestWebGraphicsContext3D::Create(), std::move(main_support)); 445 TestWebGraphicsContext3D::Create(), std::move(main_support));
446 446
447 // Create the main ContextProvider with a MockContextSupport. 447 // Create the main ContextProvider with a MockContextSupport.
448 auto worker_support = base::MakeUnique<MockContextSupport>(); 448 auto worker_support = base::MakeUnique<MockContextSupport>();
449 mock_worker_context_support_ = worker_support.get(); 449 mock_worker_context_support_ = worker_support.get();
450 auto test_worker_context_provider = TestContextProvider::Create( 450 auto test_worker_context_provider = TestContextProvider::Create(
451 TestWebGraphicsContext3D::Create(), std::move(worker_support)); 451 TestWebGraphicsContext3D::Create(), std::move(worker_support));
452 test_worker_context_provider->BindToCurrentThread(); 452 test_worker_context_provider->BindToCurrentThread();
453 453
454 // At init, visibility is set to true, so SetAggressivelyFreeResources will 454 // At init, visibility is set to true, so SetAggressivelyFreeResources will
455 // be disabled. 455 // be disabled.
456 EXPECT_CALL(*mock_main_context_support_, 456 EXPECT_CALL(*mock_main_context_support_,
457 SetAggressivelyFreeResources(false)); 457 SetAggressivelyFreeResources(false));
458 EXPECT_CALL(*mock_worker_context_support_, 458 EXPECT_CALL(*mock_worker_context_support_,
459 SetAggressivelyFreeResources(false)); 459 SetAggressivelyFreeResources(false));
460 460
461 return LayerTreeHostTest::CreateDelegatingOutputSurface( 461 return LayerTreeHostTest::CreateCompositorFrameSink(
462 std::move(test_main_context_provider), 462 std::move(test_main_context_provider),
463 std::move(test_worker_context_provider)); 463 std::move(test_worker_context_provider));
464 } 464 }
465 465
466 void InitializeSettings(LayerTreeSettings* settings) override { 466 void InitializeSettings(LayerTreeSettings* settings) override {
467 settings->gpu_rasterization_enabled = true; 467 settings->gpu_rasterization_enabled = true;
468 settings->gpu_rasterization_forced = true; 468 settings->gpu_rasterization_forced = true;
469 } 469 }
470 470
471 void BeginTest() override {} 471 void BeginTest() override {}
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 584
585 // Ensure that our initialization expectations have completed. 585 // Ensure that our initialization expectations have completed.
586 Mock::VerifyAndClearExpectations(mock_main_context_support_); 586 Mock::VerifyAndClearExpectations(mock_main_context_support_);
587 Mock::VerifyAndClearExpectations(mock_worker_context_support_); 587 Mock::VerifyAndClearExpectations(mock_worker_context_support_);
588 588
589 // Output surface lost expectations. 589 // Output surface lost expectations.
590 EXPECT_CALL(*mock_worker_context_support_, 590 EXPECT_CALL(*mock_worker_context_support_,
591 SetAggressivelyFreeResources(true)); 591 SetAggressivelyFreeResources(true));
592 EXPECT_CALL(*mock_main_context_support_, 592 EXPECT_CALL(*mock_main_context_support_,
593 SetAggressivelyFreeResources(true)); 593 SetAggressivelyFreeResources(true));
594 host_impl->DidLoseOutputSurface(); 594 host_impl->DidLoseCompositorFrameSink();
595 has_recreated_ = true; 595 has_recreated_ = true;
596 } 596 }
597 597
598 void DidInitializeOutputSurface() override { 598 void DidInitializeCompositorFrameSink() override {
599 // This is run after we have recreated our OutputSurface. 599 // This is run after we have recreated our OutputSurface.
600 if (!has_recreated_) 600 if (!has_recreated_)
601 return; 601 return;
602 602
603 // Ensure that our initialization expectations have completed. 603 // Ensure that our initialization expectations have completed.
604 Mock::VerifyAndClearExpectations(mock_main_context_support_); 604 Mock::VerifyAndClearExpectations(mock_main_context_support_);
605 Mock::VerifyAndClearExpectations(mock_worker_context_support_); 605 Mock::VerifyAndClearExpectations(mock_worker_context_support_);
606 606
607 // Destruction exptectations. 607 // Destruction exptectations.
608 EXPECT_CALL(*mock_worker_context_support_, 608 EXPECT_CALL(*mock_worker_context_support_,
(...skipping 2104 matching lines...) Expand 10 before | Expand all | Expand 10 after
2713 EXPECT_EQ(commit_count_, 5); 2713 EXPECT_EQ(commit_count_, 5);
2714 EXPECT_EQ(commit_abort_count_, 3); 2714 EXPECT_EQ(commit_abort_count_, 3);
2715 EXPECT_EQ(commit_complete_count_, 2); 2715 EXPECT_EQ(commit_complete_count_, 2);
2716 } 2716 }
2717 2717
2718 int commit_count_; 2718 int commit_count_;
2719 int commit_abort_count_; 2719 int commit_abort_count_;
2720 int commit_complete_count_; 2720 int commit_complete_count_;
2721 }; 2721 };
2722 2722
2723 class OnDrawOutputSurface : public TestDelegatingOutputSurface { 2723 class OnDrawCompositorFrameSink : public TestCompositorFrameSink {
2724 public: 2724 public:
2725 explicit OnDrawOutputSurface( 2725 explicit OnDrawCompositorFrameSink(
2726 scoped_refptr<ContextProvider> compositor_context_provider, 2726 scoped_refptr<ContextProvider> compositor_context_provider,
2727 scoped_refptr<ContextProvider> worker_context_provider, 2727 scoped_refptr<ContextProvider> worker_context_provider,
2728 std::unique_ptr<OutputSurface> display_output_surface, 2728 std::unique_ptr<OutputSurface> display_output_surface,
2729 SharedBitmapManager* shared_bitmap_manager, 2729 SharedBitmapManager* shared_bitmap_manager,
2730 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, 2730 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
2731 const RendererSettings& renderer_settings, 2731 const RendererSettings& renderer_settings,
2732 base::SingleThreadTaskRunner* task_runner, 2732 base::SingleThreadTaskRunner* task_runner,
2733 bool synchronous_composite, 2733 bool synchronous_composite,
2734 bool force_disable_reclaim_resources, 2734 bool force_disable_reclaim_resources,
2735 base::Closure invalidate_callback) 2735 base::Closure invalidate_callback)
2736 : TestDelegatingOutputSurface(std::move(compositor_context_provider), 2736 : TestCompositorFrameSink(std::move(compositor_context_provider),
2737 std::move(worker_context_provider), 2737 std::move(worker_context_provider),
2738 std::move(display_output_surface), 2738 std::move(display_output_surface),
2739 shared_bitmap_manager, 2739 shared_bitmap_manager,
2740 gpu_memory_buffer_manager, 2740 gpu_memory_buffer_manager,
2741 renderer_settings, 2741 renderer_settings,
2742 task_runner, 2742 task_runner,
2743 synchronous_composite, 2743 synchronous_composite,
2744 force_disable_reclaim_resources), 2744 force_disable_reclaim_resources),
2745 invalidate_callback_(std::move(invalidate_callback)) {} 2745 invalidate_callback_(std::move(invalidate_callback)) {}
2746 2746
2747 // TestDelegatingOutputSurface overrides. 2747 // TestCompositorFrameSink overrides.
2748 void Invalidate() override { invalidate_callback_.Run(); } 2748 void Invalidate() override { invalidate_callback_.Run(); }
2749 2749
2750 void OnDraw(bool resourceless_software_draw) { 2750 void OnDraw(bool resourceless_software_draw) {
2751 gfx::Transform identity; 2751 gfx::Transform identity;
2752 gfx::Rect empty_rect; 2752 gfx::Rect empty_rect;
2753 client_->OnDraw(identity, empty_rect, resourceless_software_draw); 2753 client_->OnDraw(identity, empty_rect, resourceless_software_draw);
2754 } 2754 }
2755 2755
2756 private: 2756 private:
2757 const base::Closure invalidate_callback_; 2757 const base::Closure invalidate_callback_;
2758 }; 2758 };
2759 2759
2760 class LayerTreeHostTestAbortedCommitDoesntStallSynchronousCompositor 2760 class LayerTreeHostTestAbortedCommitDoesntStallSynchronousCompositor
2761 : public LayerTreeHostTestAbortedCommitDoesntStall { 2761 : public LayerTreeHostTestAbortedCommitDoesntStall {
2762 protected: 2762 protected:
2763 void InitializeSettings(LayerTreeSettings* settings) override { 2763 void InitializeSettings(LayerTreeSettings* settings) override {
2764 LayerTreeHostTestAbortedCommitDoesntStall::InitializeSettings(settings); 2764 LayerTreeHostTestAbortedCommitDoesntStall::InitializeSettings(settings);
2765 settings->using_synchronous_renderer_compositor = true; 2765 settings->using_synchronous_renderer_compositor = true;
2766 } 2766 }
2767 2767
2768 std::unique_ptr<TestDelegatingOutputSurface> CreateDelegatingOutputSurface( 2768 std::unique_ptr<TestCompositorFrameSink> CreateCompositorFrameSink(
2769 scoped_refptr<ContextProvider> compositor_context_provider, 2769 scoped_refptr<ContextProvider> compositor_context_provider,
2770 scoped_refptr<ContextProvider> worker_context_provider) override { 2770 scoped_refptr<ContextProvider> worker_context_provider) override {
2771 auto on_draw_callback = base::Bind( 2771 auto on_draw_callback = base::Bind(
2772 &LayerTreeHostTestAbortedCommitDoesntStallSynchronousCompositor:: 2772 &LayerTreeHostTestAbortedCommitDoesntStallSynchronousCompositor::
2773 CallOnDraw, 2773 CallOnDraw,
2774 base::Unretained(this)); 2774 base::Unretained(this));
2775 auto output_surface = base::MakeUnique<OnDrawOutputSurface>( 2775 auto output_surface = base::MakeUnique<OnDrawCompositorFrameSink>(
2776 compositor_context_provider, std::move(worker_context_provider), 2776 compositor_context_provider, std::move(worker_context_provider),
2777 CreateDisplayOutputSurface(compositor_context_provider), 2777 CreateDisplayOutputSurface(compositor_context_provider),
2778 shared_bitmap_manager(), gpu_memory_buffer_manager(), 2778 shared_bitmap_manager(), gpu_memory_buffer_manager(),
2779 layer_tree_host()->GetSettings().renderer_settings, 2779 layer_tree_host()->GetSettings().renderer_settings,
2780 ImplThreadTaskRunner(), false /* synchronous_composite */, 2780 ImplThreadTaskRunner(), false /* synchronous_composite */,
2781 false /* force_disable_reclaim_resources */, 2781 false /* force_disable_reclaim_resources */,
2782 std::move(on_draw_callback)); 2782 std::move(on_draw_callback));
2783 output_surface_ = output_surface.get(); 2783 output_surface_ = output_surface.get();
2784 return std::move(output_surface); 2784 return std::move(output_surface);
2785 } 2785 }
2786 2786
2787 void CallOnDraw() { 2787 void CallOnDraw() {
2788 if (!TestEnded()) { 2788 if (!TestEnded()) {
2789 // Synchronous compositor does not draw unless told to do so by the output 2789 // Synchronous compositor does not draw unless told to do so by the output
2790 // surface. But it needs to be done on a new stack frame. 2790 // surface. But it needs to be done on a new stack frame.
2791 bool resourceless_software_draw = false; 2791 bool resourceless_software_draw = false;
2792 ImplThreadTaskRunner()->PostTask( 2792 ImplThreadTaskRunner()->PostTask(
2793 FROM_HERE, base::Bind(&OnDrawOutputSurface::OnDraw, 2793 FROM_HERE, base::Bind(&OnDrawCompositorFrameSink::OnDraw,
2794 base::Unretained(output_surface_), 2794 base::Unretained(output_surface_),
2795 resourceless_software_draw)); 2795 resourceless_software_draw));
2796 } 2796 }
2797 } 2797 }
2798 2798
2799 OnDrawOutputSurface* output_surface_ = nullptr; 2799 OnDrawCompositorFrameSink* output_surface_ = nullptr;
2800 }; 2800 };
2801 2801
2802 MULTI_THREAD_TEST_F( 2802 MULTI_THREAD_TEST_F(
2803 LayerTreeHostTestAbortedCommitDoesntStallSynchronousCompositor); 2803 LayerTreeHostTestAbortedCommitDoesntStallSynchronousCompositor);
2804 2804
2805 class LayerTreeHostTestAbortedCommitDoesntStallDisabledVsync 2805 class LayerTreeHostTestAbortedCommitDoesntStallDisabledVsync
2806 : public LayerTreeHostTestAbortedCommitDoesntStall { 2806 : public LayerTreeHostTestAbortedCommitDoesntStall {
2807 void InitializeSettings(LayerTreeSettings* settings) override { 2807 void InitializeSettings(LayerTreeSettings* settings) override {
2808 LayerTreeHostTestAbortedCommitDoesntStall::InitializeSettings(settings); 2808 LayerTreeHostTestAbortedCommitDoesntStall::InitializeSettings(settings);
2809 settings->wait_for_beginframe_interval = false; 2809 settings->wait_for_beginframe_interval = false;
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
2908 child_layer_->SetBounds(gfx::Size(50, 50)); 2908 child_layer_->SetBounds(gfx::Size(50, 50));
2909 2909
2910 root_layer_->AddChild(parent_layer_); 2910 root_layer_->AddChild(parent_layer_);
2911 parent_layer_->AddChild(child_layer_); 2911 parent_layer_->AddChild(child_layer_);
2912 layer_tree()->SetRootLayer(root_layer_); 2912 layer_tree()->SetRootLayer(root_layer_);
2913 2913
2914 LayerTreeHostTest::SetupTree(); 2914 LayerTreeHostTest::SetupTree();
2915 client_.set_bounds(root_layer_->bounds()); 2915 client_.set_bounds(root_layer_->bounds());
2916 } 2916 }
2917 2917
2918 std::unique_ptr<TestDelegatingOutputSurface> CreateDelegatingOutputSurface( 2918 std::unique_ptr<TestCompositorFrameSink> CreateCompositorFrameSink(
2919 scoped_refptr<ContextProvider> compositor_context_provider, 2919 scoped_refptr<ContextProvider> compositor_context_provider,
2920 scoped_refptr<ContextProvider> worker_context_provider) override { 2920 scoped_refptr<ContextProvider> worker_context_provider) override {
2921 auto on_draw_callback = 2921 auto on_draw_callback =
2922 base::Bind(&LayerTreeHostTestResourcelessSoftwareDraw::CallOnDraw, 2922 base::Bind(&LayerTreeHostTestResourcelessSoftwareDraw::CallOnDraw,
2923 base::Unretained(this)); 2923 base::Unretained(this));
2924 auto output_surface = base::MakeUnique<OnDrawOutputSurface>( 2924 auto output_surface = base::MakeUnique<OnDrawCompositorFrameSink>(
2925 compositor_context_provider, std::move(worker_context_provider), 2925 compositor_context_provider, std::move(worker_context_provider),
2926 CreateDisplayOutputSurface(compositor_context_provider), 2926 CreateDisplayOutputSurface(compositor_context_provider),
2927 shared_bitmap_manager(), gpu_memory_buffer_manager(), 2927 shared_bitmap_manager(), gpu_memory_buffer_manager(),
2928 layer_tree_host()->GetSettings().renderer_settings, 2928 layer_tree_host()->GetSettings().renderer_settings,
2929 ImplThreadTaskRunner(), false /* synchronous_composite */, 2929 ImplThreadTaskRunner(), false /* synchronous_composite */,
2930 false /* force_disable_reclaim_resources */, 2930 false /* force_disable_reclaim_resources */,
2931 std::move(on_draw_callback)); 2931 std::move(on_draw_callback));
2932 output_surface_ = output_surface.get(); 2932 output_surface_ = output_surface.get();
2933 return std::move(output_surface); 2933 return std::move(output_surface);
2934 } 2934 }
2935 2935
2936 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 2936 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
2937 2937
2938 void CallOnDraw() { 2938 void CallOnDraw() {
2939 if (!TestEnded()) { 2939 if (!TestEnded()) {
2940 // Synchronous compositor does not draw unless told to do so by the output 2940 // Synchronous compositor does not draw unless told to do so by the output
2941 // surface. But it needs to be done on a new stack frame. 2941 // surface. But it needs to be done on a new stack frame.
2942 bool resourceless_software_draw = true; 2942 bool resourceless_software_draw = true;
2943 ImplThreadTaskRunner()->PostTask( 2943 ImplThreadTaskRunner()->PostTask(
2944 FROM_HERE, base::Bind(&OnDrawOutputSurface::OnDraw, 2944 FROM_HERE, base::Bind(&OnDrawCompositorFrameSink::OnDraw,
2945 base::Unretained(output_surface_), 2945 base::Unretained(output_surface_),
2946 resourceless_software_draw)); 2946 resourceless_software_draw));
2947 } 2947 }
2948 } 2948 }
2949 2949
2950 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, 2950 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl,
2951 LayerTreeHostImpl::FrameData* frame_data, 2951 LayerTreeHostImpl::FrameData* frame_data,
2952 DrawResult draw_result) override { 2952 DrawResult draw_result) override {
2953 if (host_impl->GetDrawMode() == DRAW_MODE_RESOURCELESS_SOFTWARE) { 2953 if (host_impl->GetDrawMode() == DRAW_MODE_RESOURCELESS_SOFTWARE) {
2954 EXPECT_EQ(1u, frame_data->render_passes.size()); 2954 EXPECT_EQ(1u, frame_data->render_passes.size());
(...skipping 21 matching lines...) Expand all
2976 EndTest(); 2976 EndTest();
2977 break; 2977 break;
2978 default: 2978 default:
2979 NOTREACHED(); 2979 NOTREACHED();
2980 } 2980 }
2981 } 2981 }
2982 2982
2983 void AfterTest() override {} 2983 void AfterTest() override {}
2984 2984
2985 private: 2985 private:
2986 OnDrawOutputSurface* output_surface_ = nullptr; 2986 OnDrawCompositorFrameSink* output_surface_ = nullptr;
2987 FakeContentLayerClient client_; 2987 FakeContentLayerClient client_;
2988 scoped_refptr<Layer> root_layer_; 2988 scoped_refptr<Layer> root_layer_;
2989 scoped_refptr<Layer> parent_layer_; 2989 scoped_refptr<Layer> parent_layer_;
2990 scoped_refptr<Layer> child_layer_; 2990 scoped_refptr<Layer> child_layer_;
2991 int draw_count_ = 0; 2991 int draw_count_ = 0;
2992 }; 2992 };
2993 2993
2994 // Resourceless is not used for SingleThreadProxy, so it is unimplemented. 2994 // Resourceless is not used for SingleThreadProxy, so it is unimplemented.
2995 MULTI_THREAD_TEST_F(LayerTreeHostTestResourcelessSoftwareDraw); 2995 MULTI_THREAD_TEST_F(LayerTreeHostTestResourcelessSoftwareDraw);
2996 2996
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
3034 break; 3034 break;
3035 case 5: 3035 case 5:
3036 ClearResources(); 3036 ClearResources();
3037 EndTest(); 3037 EndTest();
3038 break; 3038 break;
3039 } 3039 }
3040 } 3040 }
3041 3041
3042 void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override { 3042 void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override {
3043 auto* context = static_cast<TestContextProvider*>( 3043 auto* context = static_cast<TestContextProvider*>(
3044 impl->output_surface()->context_provider()) 3044 impl->compositor_frame_sink()->context_provider())
3045 ->TestContext3d(); 3045 ->TestContext3d();
3046 3046
3047 int frame = impl->active_tree()->source_frame_number(); 3047 int frame = impl->active_tree()->source_frame_number();
3048 switch (frame) { 3048 switch (frame) {
3049 case 0: 3049 case 0:
3050 ASSERT_EQ(0u, context->NumTextures()); 3050 ASSERT_EQ(0u, context->NumTextures());
3051 break; 3051 break;
3052 case 1: 3052 case 1:
3053 // Created two textures. 3053 // Created two textures.
3054 ASSERT_EQ(2u, context->NumTextures()); 3054 ASSERT_EQ(2u, context->NumTextures());
(...skipping 2421 matching lines...) Expand 10 before | Expand all | Expand 10 after
5476 class LayerTreeHostTestSynchronousCompositeSwapPromise 5476 class LayerTreeHostTestSynchronousCompositeSwapPromise
5477 : public LayerTreeHostTest { 5477 : public LayerTreeHostTest {
5478 public: 5478 public:
5479 LayerTreeHostTestSynchronousCompositeSwapPromise() = default; 5479 LayerTreeHostTestSynchronousCompositeSwapPromise() = default;
5480 5480
5481 void InitializeSettings(LayerTreeSettings* settings) override { 5481 void InitializeSettings(LayerTreeSettings* settings) override {
5482 settings->single_thread_proxy_scheduler = false; 5482 settings->single_thread_proxy_scheduler = false;
5483 settings->use_zero_copy = true; 5483 settings->use_zero_copy = true;
5484 } 5484 }
5485 5485
5486 std::unique_ptr<TestDelegatingOutputSurface> CreateDelegatingOutputSurface( 5486 std::unique_ptr<TestCompositorFrameSink> CreateCompositorFrameSink(
5487 scoped_refptr<ContextProvider> compositor_context_provider, 5487 scoped_refptr<ContextProvider> compositor_context_provider,
5488 scoped_refptr<ContextProvider> worker_context_provider) override { 5488 scoped_refptr<ContextProvider> worker_context_provider) override {
5489 bool synchronous_composite = 5489 bool synchronous_composite =
5490 !HasImplThread() && 5490 !HasImplThread() &&
5491 !layer_tree_host()->GetSettings().single_thread_proxy_scheduler; 5491 !layer_tree_host()->GetSettings().single_thread_proxy_scheduler;
5492 // Relaiming resources is parameterized for this test. 5492 // Relaiming resources is parameterized for this test.
5493 bool force_disable_reclaim_resources = !reclaim_resources_; 5493 bool force_disable_reclaim_resources = !reclaim_resources_;
5494 return base::MakeUnique<TestDelegatingOutputSurface>( 5494 return base::MakeUnique<TestCompositorFrameSink>(
5495 compositor_context_provider, std::move(worker_context_provider), 5495 compositor_context_provider, std::move(worker_context_provider),
5496 CreateDisplayOutputSurface(compositor_context_provider), 5496 CreateDisplayOutputSurface(compositor_context_provider),
5497 shared_bitmap_manager(), gpu_memory_buffer_manager(), 5497 shared_bitmap_manager(), gpu_memory_buffer_manager(),
5498 layer_tree_host()->GetSettings().renderer_settings, 5498 layer_tree_host()->GetSettings().renderer_settings,
5499 ImplThreadTaskRunner(), synchronous_composite, 5499 ImplThreadTaskRunner(), synchronous_composite,
5500 force_disable_reclaim_resources); 5500 force_disable_reclaim_resources);
5501 } 5501 }
5502 5502
5503 void BeginTest() override { 5503 void BeginTest() override {
5504 // Successful composite. 5504 // Successful composite.
(...skipping 1435 matching lines...) Expand 10 before | Expand all | Expand 10 after
6940 client_.set_bounds(root->bounds()); 6940 client_.set_bounds(root->bounds());
6941 } 6941 }
6942 6942
6943 void InitializedRendererOnThread(LayerTreeHostImpl* host_impl, 6943 void InitializedRendererOnThread(LayerTreeHostImpl* host_impl,
6944 bool success) override { 6944 bool success) override {
6945 // Check that our large_image_size_ is greater than max texture size. We do 6945 // Check that our large_image_size_ is greater than max texture size. We do
6946 // this here to ensure that our otuput surface exists. 6946 // this here to ensure that our otuput surface exists.
6947 6947
6948 // Retrieve max texture size from Skia. 6948 // Retrieve max texture size from Skia.
6949 ContextProvider* context_provider = 6949 ContextProvider* context_provider =
6950 host_impl->output_surface()->context_provider(); 6950 host_impl->compositor_frame_sink()->context_provider();
6951 ASSERT_TRUE(context_provider); 6951 ASSERT_TRUE(context_provider);
6952 ContextProvider::ScopedContextLock context_lock(context_provider); 6952 ContextProvider::ScopedContextLock context_lock(context_provider);
6953 6953
6954 GrContext* gr_context = context_provider->GrContext(); 6954 GrContext* gr_context = context_provider->GrContext();
6955 ASSERT_TRUE(gr_context); 6955 ASSERT_TRUE(gr_context);
6956 const uint32_t max_texture_size = gr_context->caps()->maxTextureSize(); 6956 const uint32_t max_texture_size = gr_context->caps()->maxTextureSize();
6957 ASSERT_GT(static_cast<uint32_t>(large_image_size_.width()), 6957 ASSERT_GT(static_cast<uint32_t>(large_image_size_.width()),
6958 max_texture_size); 6958 max_texture_size);
6959 } 6959 }
6960 6960
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
7052 EndTest(); 7052 EndTest();
7053 } 7053 }
7054 7054
7055 void AfterTest() override {} 7055 void AfterTest() override {}
7056 }; 7056 };
7057 7057
7058 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSubmitFrameResources); 7058 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSubmitFrameResources);
7059 7059
7060 } // namespace 7060 } // namespace
7061 } // namespace cc 7061 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698