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

Side by Side Diff: cc/layers/render_surface_unittest.cc

Issue 2452483002: Move GpuMemoryBufferManager and SharedBitmapManager to CompositorFrameSink (Closed)
Patch Set: rebase Created 4 years, 1 month 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/layers/picture_layer_unittest.cc ('k') | cc/layers/scrollbar_layer_unittest.cc » ('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/layers/append_quads_data.h" 5 #include "cc/layers/append_quads_data.h"
6 #include "cc/layers/layer_impl.h" 6 #include "cc/layers/layer_impl.h"
7 #include "cc/layers/render_pass_sink.h" 7 #include "cc/layers/render_pass_sink.h"
8 #include "cc/layers/render_surface_impl.h" 8 #include "cc/layers/render_surface_impl.h"
9 #include "cc/quads/shared_quad_state.h" 9 #include "cc/quads/shared_quad_state.h"
10 #include "cc/test/fake_compositor_frame_sink.h" 10 #include "cc/test/fake_compositor_frame_sink.h"
11 #include "cc/test/fake_impl_task_runner_provider.h" 11 #include "cc/test/fake_impl_task_runner_provider.h"
12 #include "cc/test/fake_layer_tree_host_impl.h" 12 #include "cc/test/fake_layer_tree_host_impl.h"
13 #include "cc/test/geometry_test_utils.h" 13 #include "cc/test/geometry_test_utils.h"
14 #include "cc/test/mock_occlusion_tracker.h" 14 #include "cc/test/mock_occlusion_tracker.h"
15 #include "cc/test/test_shared_bitmap_manager.h"
16 #include "cc/test/test_task_graph_runner.h" 15 #include "cc/test/test_task_graph_runner.h"
17 #include "cc/trees/layer_tree_impl.h" 16 #include "cc/trees/layer_tree_impl.h"
18 #include "cc/trees/single_thread_proxy.h" 17 #include "cc/trees/single_thread_proxy.h"
19 #include "testing/gmock/include/gmock/gmock.h" 18 #include "testing/gmock/include/gmock/gmock.h"
20 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
21 #include "ui/gfx/transform.h" 20 #include "ui/gfx/transform.h"
22 21
23 namespace cc { 22 namespace cc {
24 namespace { 23 namespace {
25 24
26 #define EXECUTE_AND_VERIFY_SURFACE_CHANGED(code_to_test) \ 25 #define EXECUTE_AND_VERIFY_SURFACE_CHANGED(code_to_test) \
27 render_surface->ResetPropertyChangedFlags(); \ 26 render_surface->ResetPropertyChangedFlags(); \
28 code_to_test; \ 27 code_to_test; \
29 EXPECT_TRUE(render_surface->SurfacePropertyChanged()) 28 EXPECT_TRUE(render_surface->SurfacePropertyChanged())
30 29
31 #define EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(code_to_test) \ 30 #define EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(code_to_test) \
32 render_surface->ResetPropertyChangedFlags(); \ 31 render_surface->ResetPropertyChangedFlags(); \
33 code_to_test; \ 32 code_to_test; \
34 EXPECT_FALSE(render_surface->SurfacePropertyChanged()) 33 EXPECT_FALSE(render_surface->SurfacePropertyChanged())
35 34
36 TEST(RenderSurfaceTest, VerifySurfaceChangesAreTrackedProperly) { 35 TEST(RenderSurfaceTest, VerifySurfaceChangesAreTrackedProperly) {
37 // 36 //
38 // This test checks that SurfacePropertyChanged() has the correct behavior. 37 // This test checks that SurfacePropertyChanged() has the correct behavior.
39 // 38 //
40 39
41 FakeImplTaskRunnerProvider task_runner_provider; 40 FakeImplTaskRunnerProvider task_runner_provider;
42 TestSharedBitmapManager shared_bitmap_manager;
43 TestTaskGraphRunner task_graph_runner; 41 TestTaskGraphRunner task_graph_runner;
44 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, 42 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner);
45 &task_graph_runner);
46 std::unique_ptr<LayerImpl> owning_layer = 43 std::unique_ptr<LayerImpl> owning_layer =
47 LayerImpl::Create(host_impl.active_tree(), 1); 44 LayerImpl::Create(host_impl.active_tree(), 1);
48 owning_layer->SetHasRenderSurface(true); 45 owning_layer->SetHasRenderSurface(true);
49 ASSERT_TRUE(owning_layer->render_surface()); 46 ASSERT_TRUE(owning_layer->render_surface());
50 RenderSurfaceImpl* render_surface = owning_layer->render_surface(); 47 RenderSurfaceImpl* render_surface = owning_layer->render_surface();
51 gfx::Rect test_rect(3, 4, 5, 6); 48 gfx::Rect test_rect(3, 4, 5, 6);
52 host_impl.active_tree()->ResetAllChangeTracking(); 49 host_impl.active_tree()->ResetAllChangeTracking();
53 host_impl.active_tree()->SetRootLayerForTesting(std::move(owning_layer)); 50 host_impl.active_tree()->SetRootLayerForTesting(std::move(owning_layer));
54 host_impl.active_tree()->BuildPropertyTreesForTesting(); 51 host_impl.active_tree()->BuildPropertyTreesForTesting();
55 52
(...skipping 27 matching lines...) Expand all
83 // owninglayer->layerPropertyChanged(). 80 // owninglayer->layerPropertyChanged().
84 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE( 81 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(
85 render_surface->SetDrawOpacity(0.5f)); 82 render_surface->SetDrawOpacity(0.5f));
86 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE( 83 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(
87 render_surface->SetDrawTransform(dummy_matrix)); 84 render_surface->SetDrawTransform(dummy_matrix));
88 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(render_surface->ClearLayerLists()); 85 EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(render_surface->ClearLayerLists());
89 } 86 }
90 87
91 TEST(RenderSurfaceTest, SanityCheckSurfaceCreatesCorrectSharedQuadState) { 88 TEST(RenderSurfaceTest, SanityCheckSurfaceCreatesCorrectSharedQuadState) {
92 FakeImplTaskRunnerProvider task_runner_provider; 89 FakeImplTaskRunnerProvider task_runner_provider;
93 TestSharedBitmapManager shared_bitmap_manager;
94 TestTaskGraphRunner task_graph_runner; 90 TestTaskGraphRunner task_graph_runner;
95 std::unique_ptr<CompositorFrameSink> compositor_frame_sink = 91 std::unique_ptr<CompositorFrameSink> compositor_frame_sink =
96 FakeCompositorFrameSink::Create3d(); 92 FakeCompositorFrameSink::Create3d();
97 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, 93 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner);
98 &task_graph_runner);
99 std::unique_ptr<LayerImpl> root_layer = 94 std::unique_ptr<LayerImpl> root_layer =
100 LayerImpl::Create(host_impl.active_tree(), 1); 95 LayerImpl::Create(host_impl.active_tree(), 1);
101 96
102 std::unique_ptr<LayerImpl> owning_layer = 97 std::unique_ptr<LayerImpl> owning_layer =
103 LayerImpl::Create(host_impl.active_tree(), 2); 98 LayerImpl::Create(host_impl.active_tree(), 2);
104 owning_layer->SetHasRenderSurface(true); 99 owning_layer->SetHasRenderSurface(true);
105 ASSERT_TRUE(owning_layer->render_surface()); 100 ASSERT_TRUE(owning_layer->render_surface());
106 101
107 SkXfermode::Mode blend_mode = SkXfermode::kSoftLight_Mode; 102 SkXfermode::Mode blend_mode = SkXfermode::kSoftLight_Mode;
108 owning_layer->test_properties()->blend_mode = blend_mode; 103 owning_layer->test_properties()->blend_mode = blend_mode;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 const RenderPassList& RenderPasses() const { 151 const RenderPassList& RenderPasses() const {
157 return render_passes_; 152 return render_passes_;
158 } 153 }
159 154
160 private: 155 private:
161 RenderPassList render_passes_; 156 RenderPassList render_passes_;
162 }; 157 };
163 158
164 TEST(RenderSurfaceTest, SanityCheckSurfaceCreatesCorrectRenderPass) { 159 TEST(RenderSurfaceTest, SanityCheckSurfaceCreatesCorrectRenderPass) {
165 FakeImplTaskRunnerProvider task_runner_provider; 160 FakeImplTaskRunnerProvider task_runner_provider;
166 TestSharedBitmapManager shared_bitmap_manager;
167 TestTaskGraphRunner task_graph_runner; 161 TestTaskGraphRunner task_graph_runner;
168 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &shared_bitmap_manager, 162 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner);
169 &task_graph_runner);
170 std::unique_ptr<LayerImpl> root_layer = 163 std::unique_ptr<LayerImpl> root_layer =
171 LayerImpl::Create(host_impl.active_tree(), 1); 164 LayerImpl::Create(host_impl.active_tree(), 1);
172 165
173 std::unique_ptr<LayerImpl> owning_layer = 166 std::unique_ptr<LayerImpl> owning_layer =
174 LayerImpl::Create(host_impl.active_tree(), 2); 167 LayerImpl::Create(host_impl.active_tree(), 2);
175 owning_layer->SetHasRenderSurface(true); 168 owning_layer->SetHasRenderSurface(true);
176 ASSERT_TRUE(owning_layer->render_surface()); 169 ASSERT_TRUE(owning_layer->render_surface());
177 RenderSurfaceImpl* render_surface = owning_layer->render_surface(); 170 RenderSurfaceImpl* render_surface = owning_layer->render_surface();
178 171
179 root_layer->test_properties()->AddChild(std::move(owning_layer)); 172 root_layer->test_properties()->AddChild(std::move(owning_layer));
(...skipping 12 matching lines...) Expand all
192 ASSERT_EQ(1u, pass_sink.RenderPasses().size()); 185 ASSERT_EQ(1u, pass_sink.RenderPasses().size());
193 RenderPass* pass = pass_sink.RenderPasses()[0].get(); 186 RenderPass* pass = pass_sink.RenderPasses()[0].get();
194 187
195 EXPECT_EQ(RenderPassId(2, 0), pass->id); 188 EXPECT_EQ(RenderPassId(2, 0), pass->id);
196 EXPECT_EQ(content_rect, pass->output_rect); 189 EXPECT_EQ(content_rect, pass->output_rect);
197 EXPECT_EQ(origin, pass->transform_to_root_target); 190 EXPECT_EQ(origin, pass->transform_to_root_target);
198 } 191 }
199 192
200 } // namespace 193 } // namespace
201 } // namespace cc 194 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/picture_layer_unittest.cc ('k') | cc/layers/scrollbar_layer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698