| 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/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" | |
| 8 #include "cc/layers/render_surface_impl.h" | 7 #include "cc/layers/render_surface_impl.h" |
| 9 #include "cc/quads/shared_quad_state.h" | 8 #include "cc/quads/shared_quad_state.h" |
| 10 #include "cc/test/fake_compositor_frame_sink.h" | 9 #include "cc/test/fake_compositor_frame_sink.h" |
| 11 #include "cc/test/fake_impl_task_runner_provider.h" | 10 #include "cc/test/fake_impl_task_runner_provider.h" |
| 12 #include "cc/test/fake_layer_tree_host_impl.h" | 11 #include "cc/test/fake_layer_tree_host_impl.h" |
| 13 #include "cc/test/geometry_test_utils.h" | 12 #include "cc/test/geometry_test_utils.h" |
| 14 #include "cc/test/mock_occlusion_tracker.h" | 13 #include "cc/test/mock_occlusion_tracker.h" |
| 15 #include "cc/test/test_task_graph_runner.h" | 14 #include "cc/test/test_task_graph_runner.h" |
| 16 #include "cc/trees/layer_tree_impl.h" | 15 #include "cc/trees/layer_tree_impl.h" |
| 17 #include "cc/trees/single_thread_proxy.h" | 16 #include "cc/trees/single_thread_proxy.h" |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 shared_quad_state->quad_to_target_transform.matrix().getDouble(0, 3)); | 144 shared_quad_state->quad_to_target_transform.matrix().getDouble(0, 3)); |
| 146 EXPECT_EQ( | 145 EXPECT_EQ( |
| 147 40.0, | 146 40.0, |
| 148 shared_quad_state->quad_to_target_transform.matrix().getDouble(1, 3)); | 147 shared_quad_state->quad_to_target_transform.matrix().getDouble(1, 3)); |
| 149 EXPECT_EQ(content_rect, | 148 EXPECT_EQ(content_rect, |
| 150 gfx::Rect(shared_quad_state->visible_quad_layer_rect)); | 149 gfx::Rect(shared_quad_state->visible_quad_layer_rect)); |
| 151 EXPECT_EQ(1.f, shared_quad_state->opacity); | 150 EXPECT_EQ(1.f, shared_quad_state->opacity); |
| 152 EXPECT_EQ(blend_mode, shared_quad_state->blend_mode); | 151 EXPECT_EQ(blend_mode, shared_quad_state->blend_mode); |
| 153 } | 152 } |
| 154 | 153 |
| 155 class TestRenderPassSink : public RenderPassSink { | |
| 156 public: | |
| 157 void AppendRenderPass(std::unique_ptr<RenderPass> render_pass) override { | |
| 158 render_passes_.push_back(std::move(render_pass)); | |
| 159 } | |
| 160 | |
| 161 const RenderPassList& RenderPasses() const { | |
| 162 return render_passes_; | |
| 163 } | |
| 164 | |
| 165 private: | |
| 166 RenderPassList render_passes_; | |
| 167 }; | |
| 168 | 154 |
| 169 TEST(RenderSurfaceTest, SanityCheckSurfaceCreatesCorrectRenderPass) { | 155 TEST(RenderSurfaceTest, SanityCheckSurfaceCreatesCorrectRenderPass) { |
| 170 FakeImplTaskRunnerProvider task_runner_provider; | 156 FakeImplTaskRunnerProvider task_runner_provider; |
| 171 TestTaskGraphRunner task_graph_runner; | 157 TestTaskGraphRunner task_graph_runner; |
| 172 std::unique_ptr<CompositorFrameSink> compositor_frame_sink = | 158 std::unique_ptr<CompositorFrameSink> compositor_frame_sink = |
| 173 FakeCompositorFrameSink::Create3d(); | 159 FakeCompositorFrameSink::Create3d(); |
| 174 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner); | 160 FakeLayerTreeHostImpl host_impl(&task_runner_provider, &task_graph_runner); |
| 175 std::unique_ptr<LayerImpl> root_layer = | 161 std::unique_ptr<LayerImpl> root_layer = |
| 176 LayerImpl::Create(host_impl.active_tree(), 1); | 162 LayerImpl::Create(host_impl.active_tree(), 1); |
| 177 | 163 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 192 RenderSurfaceImpl* render_surface = | 178 RenderSurfaceImpl* render_surface = |
| 193 host_impl.active_tree()->LayerById(owning_layer_id)->GetRenderSurface(); | 179 host_impl.active_tree()->LayerById(owning_layer_id)->GetRenderSurface(); |
| 194 | 180 |
| 195 gfx::Rect content_rect(0, 0, 50, 50); | 181 gfx::Rect content_rect(0, 0, 50, 50); |
| 196 gfx::Transform origin; | 182 gfx::Transform origin; |
| 197 origin.Translate(30.0, 40.0); | 183 origin.Translate(30.0, 40.0); |
| 198 | 184 |
| 199 render_surface->SetScreenSpaceTransform(origin); | 185 render_surface->SetScreenSpaceTransform(origin); |
| 200 render_surface->SetContentRectForTesting(content_rect); | 186 render_surface->SetContentRectForTesting(content_rect); |
| 201 | 187 |
| 202 TestRenderPassSink pass_sink; | 188 auto pass = render_surface->CreateRenderPass(); |
| 203 | |
| 204 render_surface->AppendRenderPasses(&pass_sink); | |
| 205 | |
| 206 ASSERT_EQ(1u, pass_sink.RenderPasses().size()); | |
| 207 RenderPass* pass = pass_sink.RenderPasses()[0].get(); | |
| 208 | 189 |
| 209 EXPECT_EQ(2, pass->id); | 190 EXPECT_EQ(2, pass->id); |
| 210 EXPECT_EQ(content_rect, pass->output_rect); | 191 EXPECT_EQ(content_rect, pass->output_rect); |
| 211 EXPECT_EQ(origin, pass->transform_to_root_target); | 192 EXPECT_EQ(origin, pass->transform_to_root_target); |
| 212 } | 193 } |
| 213 | 194 |
| 214 } // namespace | 195 } // namespace |
| 215 } // namespace cc | 196 } // namespace cc |
| OLD | NEW |