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

Side by Side Diff: cc/test/layer_tree_test.cc

Issue 1464313007: cc: Introduce CompositorMode enum. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Change ui::MockLayerTreeHost 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 unified diff | Download patch
« no previous file with comments | « cc/test/fake_layer_tree_host.cc ('k') | cc/trees/compositor_mode.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/test/layer_tree_test.h" 5 #include "cc/test/layer_tree_test.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/single_thread_task_runner.h" 9 #include "base/single_thread_task_runner.h"
10 #include "base/thread_task_runner_handle.h" 10 #include "base/thread_task_runner_handle.h"
(...skipping 660 matching lines...) Expand 10 before | Expand all | Expand 10 after
671 : test_hooks_(test_hooks) {} 671 : test_hooks_(test_hooks) {}
672 672
673 TestHooks* test_hooks_; 673 TestHooks* test_hooks_;
674 }; 674 };
675 675
676 // Adapts LayerTreeHost for test. Injects LayerTreeHostImplForTesting. 676 // Adapts LayerTreeHost for test. Injects LayerTreeHostImplForTesting.
677 class LayerTreeHostForTesting : public LayerTreeHost { 677 class LayerTreeHostForTesting : public LayerTreeHost {
678 public: 678 public:
679 static scoped_ptr<LayerTreeHostForTesting> Create( 679 static scoped_ptr<LayerTreeHostForTesting> Create(
680 TestHooks* test_hooks, 680 TestHooks* test_hooks,
681 CompositorMode mode,
681 LayerTreeHostClientForTesting* client, 682 LayerTreeHostClientForTesting* client,
682 SharedBitmapManager* shared_bitmap_manager, 683 SharedBitmapManager* shared_bitmap_manager,
683 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, 684 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
684 TaskGraphRunner* task_graph_runner, 685 TaskGraphRunner* task_graph_runner,
685 const LayerTreeSettings& settings, 686 const LayerTreeSettings& settings,
686 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, 687 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
687 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner, 688 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner,
688 scoped_ptr<BeginFrameSource> external_begin_frame_source) { 689 scoped_ptr<BeginFrameSource> external_begin_frame_source) {
689 LayerTreeHost::InitParams params; 690 LayerTreeHost::InitParams params;
690 params.client = client; 691 params.client = client;
691 params.shared_bitmap_manager = shared_bitmap_manager; 692 params.shared_bitmap_manager = shared_bitmap_manager;
692 params.gpu_memory_buffer_manager = gpu_memory_buffer_manager; 693 params.gpu_memory_buffer_manager = gpu_memory_buffer_manager;
693 params.task_graph_runner = task_graph_runner; 694 params.task_graph_runner = task_graph_runner;
694 params.settings = &settings; 695 params.settings = &settings;
695 scoped_ptr<LayerTreeHostForTesting> layer_tree_host( 696 scoped_ptr<LayerTreeHostForTesting> layer_tree_host(
696 new LayerTreeHostForTesting(test_hooks, &params)); 697 new LayerTreeHostForTesting(test_hooks, &params, mode));
697 scoped_ptr<TaskRunnerProvider> task_runner_provider = 698 scoped_ptr<TaskRunnerProvider> task_runner_provider =
698 TaskRunnerProvider::Create(main_task_runner, impl_task_runner); 699 TaskRunnerProvider::Create(main_task_runner, impl_task_runner);
699 scoped_ptr<Proxy> proxy; 700 scoped_ptr<Proxy> proxy;
700 if (impl_task_runner.get()) { 701 if (mode == CompositorMode::Threaded) {
702 DCHECK(impl_task_runner.get());
701 proxy = ThreadProxyForTest::Create( 703 proxy = ThreadProxyForTest::Create(
702 test_hooks, layer_tree_host.get(), task_runner_provider.get(), 704 test_hooks, layer_tree_host.get(), task_runner_provider.get(),
703 std::move(external_begin_frame_source)); 705 std::move(external_begin_frame_source));
704 } else { 706 } else {
705 proxy = SingleThreadProxyForTest::Create( 707 proxy = SingleThreadProxyForTest::Create(
706 test_hooks, layer_tree_host.get(), client, task_runner_provider.get(), 708 test_hooks, layer_tree_host.get(), client, task_runner_provider.get(),
707 std::move(external_begin_frame_source)); 709 std::move(external_begin_frame_source));
708 } 710 }
709 layer_tree_host->InitializeForTesting(std::move(task_runner_provider), 711 layer_tree_host->InitializeForTesting(std::move(task_runner_provider),
710 std::move(proxy)); 712 std::move(proxy));
(...skipping 17 matching lines...) Expand all
728 void SetNeedsUpdateLayers() override { 730 void SetNeedsUpdateLayers() override {
729 if (!test_started_) 731 if (!test_started_)
730 return; 732 return;
731 LayerTreeHost::SetNeedsUpdateLayers(); 733 LayerTreeHost::SetNeedsUpdateLayers();
732 } 734 }
733 735
734 void set_test_started(bool started) { test_started_ = started; } 736 void set_test_started(bool started) { test_started_ = started; }
735 737
736 private: 738 private:
737 LayerTreeHostForTesting(TestHooks* test_hooks, 739 LayerTreeHostForTesting(TestHooks* test_hooks,
738 LayerTreeHost::InitParams* params) 740 LayerTreeHost::InitParams* params,
739 : LayerTreeHost(params), test_hooks_(test_hooks), test_started_(false) {} 741 CompositorMode mode)
742 : LayerTreeHost(params, mode),
743 test_hooks_(test_hooks),
744 test_started_(false) {}
740 745
741 TestHooks* test_hooks_; 746 TestHooks* test_hooks_;
742 bool test_started_; 747 bool test_started_;
743 }; 748 };
744 749
745 LayerTreeTest::LayerTreeTest() 750 LayerTreeTest::LayerTreeTest()
746 : output_surface_(nullptr), 751 : output_surface_(nullptr),
747 external_begin_frame_source_(nullptr), 752 external_begin_frame_source_(nullptr),
748 beginning_(false), 753 beginning_(false),
749 end_when_begin_returns_(false), 754 end_when_begin_returns_(false),
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
908 client_ = LayerTreeHostClientForTesting::Create(this); 913 client_ = LayerTreeHostClientForTesting::Create(this);
909 914
910 scoped_ptr<FakeExternalBeginFrameSource> external_begin_frame_source; 915 scoped_ptr<FakeExternalBeginFrameSource> external_begin_frame_source;
911 if (settings_.use_external_begin_frame_source) { 916 if (settings_.use_external_begin_frame_source) {
912 external_begin_frame_source.reset(new FakeExternalBeginFrameSource( 917 external_begin_frame_source.reset(new FakeExternalBeginFrameSource(
913 settings_.renderer_settings.refresh_rate)); 918 settings_.renderer_settings.refresh_rate));
914 external_begin_frame_source_ = external_begin_frame_source.get(); 919 external_begin_frame_source_ = external_begin_frame_source.get();
915 } 920 }
916 921
917 DCHECK(!impl_thread_ || impl_thread_->task_runner().get()); 922 DCHECK(!impl_thread_ || impl_thread_->task_runner().get());
923 CompositorMode mode =
924 impl_thread_ ? CompositorMode::Threaded : CompositorMode::SingleThreaded;
918 layer_tree_host_ = LayerTreeHostForTesting::Create( 925 layer_tree_host_ = LayerTreeHostForTesting::Create(
919 this, client_.get(), shared_bitmap_manager_.get(), 926 this, mode, client_.get(), shared_bitmap_manager_.get(),
920 gpu_memory_buffer_manager_.get(), task_graph_runner_.get(), settings_, 927 gpu_memory_buffer_manager_.get(), task_graph_runner_.get(), settings_,
921 base::ThreadTaskRunnerHandle::Get(), 928 base::ThreadTaskRunnerHandle::Get(),
922 impl_thread_ ? impl_thread_->task_runner() : NULL, 929 impl_thread_ ? impl_thread_->task_runner() : NULL,
923 std::move(external_begin_frame_source)); 930 std::move(external_begin_frame_source));
924 ASSERT_TRUE(layer_tree_host_); 931 ASSERT_TRUE(layer_tree_host_);
925 932
926 started_ = true; 933 started_ = true;
927 beginning_ = true; 934 beginning_ = true;
928 SetupTree(); 935 SetupTree();
929 WillBeginTest(); 936 WillBeginTest();
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
1149 // layer tree host when the task_runner_provider does not exist, often for 1156 // layer tree host when the task_runner_provider does not exist, often for
1150 // checking settings after a test has completed. For example, 1157 // checking settings after a test has completed. For example,
1151 // LTHPixelResourceTest::RunPixelResourceTest. See elsewhere in this file for 1158 // LTHPixelResourceTest::RunPixelResourceTest. See elsewhere in this file for
1152 // other examples. 1159 // other examples.
1153 DCHECK(!task_runner_provider() || task_runner_provider()->IsMainThread() || 1160 DCHECK(!task_runner_provider() || task_runner_provider()->IsMainThread() ||
1154 task_runner_provider()->IsMainThreadBlocked()); 1161 task_runner_provider()->IsMainThreadBlocked());
1155 return layer_tree_host_.get(); 1162 return layer_tree_host_.get();
1156 } 1163 }
1157 1164
1158 } // namespace cc 1165 } // namespace cc
OLDNEW
« no previous file with comments | « cc/test/fake_layer_tree_host.cc ('k') | cc/trees/compositor_mode.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698