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_impl.h" | 5 #include "cc/trees/layer_tree_host_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <cmath> | 8 #include <cmath> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 6010 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6021 Mock::VerifyAndClearExpectations(&mock_context); | 6021 Mock::VerifyAndClearExpectations(&mock_context); |
6022 } | 6022 } |
6023 | 6023 |
6024 class LayerTreeHostImplTestWithDelegatingRenderer | 6024 class LayerTreeHostImplTestWithDelegatingRenderer |
6025 : public LayerTreeHostImplTest { | 6025 : public LayerTreeHostImplTest { |
6026 protected: | 6026 protected: |
6027 scoped_ptr<OutputSurface> CreateOutputSurface() override { | 6027 scoped_ptr<OutputSurface> CreateOutputSurface() override { |
6028 return FakeOutputSurface::CreateDelegating3d(); | 6028 return FakeOutputSurface::CreateDelegating3d(); |
6029 } | 6029 } |
6030 | 6030 |
6031 void DrawFrameAndTestDamage(const gfx::RectF& expected_damage) { | 6031 void DrawFrameAndTestDamage(const gfx::Rect& expected_damage) { |
6032 bool expect_to_draw = !expected_damage.IsEmpty(); | 6032 bool expect_to_draw = !expected_damage.IsEmpty(); |
6033 | 6033 |
6034 LayerTreeHostImpl::FrameData frame; | 6034 LayerTreeHostImpl::FrameData frame; |
6035 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 6035 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
6036 | 6036 |
6037 if (!expect_to_draw) { | 6037 if (!expect_to_draw) { |
6038 // With no damage, we don't draw, and no quads are created. | 6038 // With no damage, we don't draw, and no quads are created. |
6039 ASSERT_EQ(0u, frame.render_passes.size()); | 6039 ASSERT_EQ(0u, frame.render_passes.size()); |
6040 } else { | 6040 } else { |
6041 ASSERT_EQ(1u, frame.render_passes.size()); | 6041 ASSERT_EQ(1u, frame.render_passes.size()); |
6042 | 6042 |
6043 // Verify the damage rect for the root render pass. | 6043 // Verify the damage rect for the root render pass. |
6044 const RenderPass* root_render_pass = frame.render_passes.back(); | 6044 const RenderPass* root_render_pass = frame.render_passes.back(); |
6045 EXPECT_EQ(expected_damage, root_render_pass->damage_rect); | 6045 EXPECT_EQ(expected_damage, root_render_pass->damage_rect); |
6046 | 6046 |
6047 // Verify the root and child layers' quads are generated and not being | 6047 // Verify the root and child layers' quads are generated and not being |
6048 // culled. | 6048 // culled. |
6049 ASSERT_EQ(2u, root_render_pass->quad_list.size()); | 6049 ASSERT_EQ(2u, root_render_pass->quad_list.size()); |
6050 | 6050 |
6051 LayerImpl* child = host_impl_->active_tree()->root_layer()->children()[0]; | 6051 LayerImpl* child = host_impl_->active_tree()->root_layer()->children()[0]; |
6052 gfx::RectF expected_child_visible_rect(child->bounds()); | 6052 gfx::Rect expected_child_visible_rect(child->bounds()); |
6053 EXPECT_EQ(expected_child_visible_rect, | 6053 EXPECT_EQ(expected_child_visible_rect, |
6054 root_render_pass->quad_list.front()->visible_rect); | 6054 root_render_pass->quad_list.front()->visible_rect); |
6055 | 6055 |
6056 LayerImpl* root = host_impl_->active_tree()->root_layer(); | 6056 LayerImpl* root = host_impl_->active_tree()->root_layer(); |
6057 gfx::RectF expected_root_visible_rect(root->bounds()); | 6057 gfx::Rect expected_root_visible_rect(root->bounds()); |
6058 EXPECT_EQ(expected_root_visible_rect, | 6058 EXPECT_EQ(expected_root_visible_rect, |
6059 root_render_pass->quad_list.ElementAt(1)->visible_rect); | 6059 root_render_pass->quad_list.ElementAt(1)->visible_rect); |
6060 } | 6060 } |
6061 | 6061 |
6062 host_impl_->DrawLayers(&frame); | 6062 host_impl_->DrawLayers(&frame); |
6063 host_impl_->DidDrawAllLayers(frame); | 6063 host_impl_->DidDrawAllLayers(frame); |
6064 EXPECT_EQ(expect_to_draw, host_impl_->SwapBuffers(frame)); | 6064 EXPECT_EQ(expect_to_draw, host_impl_->SwapBuffers(frame)); |
6065 } | 6065 } |
6066 }; | 6066 }; |
6067 | 6067 |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6182 LayerTreeHostImpl::FrameData frame; | 6182 LayerTreeHostImpl::FrameData frame; |
6183 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); | 6183 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); |
6184 | 6184 |
6185 ASSERT_EQ(1u, frame.render_passes.size()); | 6185 ASSERT_EQ(1u, frame.render_passes.size()); |
6186 ASSERT_LE(1u, frame.render_passes[0]->quad_list.size()); | 6186 ASSERT_LE(1u, frame.render_passes[0]->quad_list.size()); |
6187 const DrawQuad* quad = frame.render_passes[0]->quad_list.front(); | 6187 const DrawQuad* quad = frame.render_passes[0]->quad_list.front(); |
6188 | 6188 |
6189 bool clipped = false, force_aa = false; | 6189 bool clipped = false, force_aa = false; |
6190 gfx::QuadF device_layer_quad = MathUtil::MapQuad( | 6190 gfx::QuadF device_layer_quad = MathUtil::MapQuad( |
6191 quad->shared_quad_state->quad_to_target_transform, | 6191 quad->shared_quad_state->quad_to_target_transform, |
6192 gfx::QuadF(quad->shared_quad_state->visible_quad_layer_rect), &clipped); | 6192 gfx::QuadF(gfx::RectF(quad->shared_quad_state->visible_quad_layer_rect)), |
| 6193 &clipped); |
6193 EXPECT_FALSE(clipped); | 6194 EXPECT_FALSE(clipped); |
6194 bool antialiased = | 6195 bool antialiased = |
6195 GLRendererWithSetupQuadForAntialiasing::ShouldAntialiasQuad( | 6196 GLRendererWithSetupQuadForAntialiasing::ShouldAntialiasQuad( |
6196 device_layer_quad, clipped, force_aa); | 6197 device_layer_quad, clipped, force_aa); |
6197 EXPECT_FALSE(antialiased); | 6198 EXPECT_FALSE(antialiased); |
6198 | 6199 |
6199 host_impl_->DrawLayers(&frame); | 6200 host_impl_->DrawLayers(&frame); |
6200 host_impl_->DidDrawAllLayers(frame); | 6201 host_impl_->DidDrawAllLayers(frame); |
6201 } | 6202 } |
6202 | 6203 |
(...skipping 2206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8409 // Hold an unowned pointer to the output surface to use for mock expectations. | 8410 // Hold an unowned pointer to the output surface to use for mock expectations. |
8410 MockReclaimResourcesOutputSurface* mock_output_surface = output_surface.get(); | 8411 MockReclaimResourcesOutputSurface* mock_output_surface = output_surface.get(); |
8411 | 8412 |
8412 CreateHostImpl(DefaultSettings(), output_surface.Pass()); | 8413 CreateHostImpl(DefaultSettings(), output_surface.Pass()); |
8413 EXPECT_CALL(*mock_output_surface, ForceReclaimResources()).Times(1); | 8414 EXPECT_CALL(*mock_output_surface, ForceReclaimResources()).Times(1); |
8414 host_impl_->BeginCommit(); | 8415 host_impl_->BeginCommit(); |
8415 } | 8416 } |
8416 | 8417 |
8417 } // namespace | 8418 } // namespace |
8418 } // namespace cc | 8419 } // namespace cc |
OLD | NEW |