| 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.h" | 5 #include "cc/trees/layer_tree_host.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
| 10 #include "base/location.h" | 10 #include "base/location.h" |
| (...skipping 1631 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1642 | 1642 |
| 1643 // Both layers are on impl. | 1643 // Both layers are on impl. |
| 1644 ASSERT_EQ(1u, impl->active_tree()->root_layer()->children().size()); | 1644 ASSERT_EQ(1u, impl->active_tree()->root_layer()->children().size()); |
| 1645 | 1645 |
| 1646 // Device viewport is scaled. | 1646 // Device viewport is scaled. |
| 1647 EXPECT_EQ(gfx::Size(60, 60), impl->DrawViewportSize()); | 1647 EXPECT_EQ(gfx::Size(60, 60), impl->DrawViewportSize()); |
| 1648 | 1648 |
| 1649 FakePictureLayerImpl* root = | 1649 FakePictureLayerImpl* root = |
| 1650 static_cast<FakePictureLayerImpl*>(impl->active_tree()->root_layer()); | 1650 static_cast<FakePictureLayerImpl*>(impl->active_tree()->root_layer()); |
| 1651 FakePictureLayerImpl* child = static_cast<FakePictureLayerImpl*>( | 1651 FakePictureLayerImpl* child = static_cast<FakePictureLayerImpl*>( |
| 1652 impl->active_tree()->root_layer()->children()[0]); | 1652 impl->active_tree()->root_layer()->children()[0].get()); |
| 1653 | 1653 |
| 1654 // Positions remain in layout pixels. | 1654 // Positions remain in layout pixels. |
| 1655 EXPECT_EQ(gfx::PointF(), root->position()); | 1655 EXPECT_EQ(gfx::PointF(), root->position()); |
| 1656 EXPECT_EQ(gfx::PointF(2.f, 2.f), child->position()); | 1656 EXPECT_EQ(gfx::PointF(2.f, 2.f), child->position()); |
| 1657 | 1657 |
| 1658 // Compute all the layer transforms for the frame. | 1658 // Compute all the layer transforms for the frame. |
| 1659 LayerTreeHostImpl::FrameData frame_data; | 1659 LayerTreeHostImpl::FrameData frame_data; |
| 1660 impl->PrepareToDraw(&frame_data); | 1660 impl->PrepareToDraw(&frame_data); |
| 1661 impl->DidDrawAllLayers(frame_data); | 1661 impl->DidDrawAllLayers(frame_data); |
| 1662 | 1662 |
| (...skipping 773 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2436 PostSetNeedsCommitToMainThread(); | 2436 PostSetNeedsCommitToMainThread(); |
| 2437 swap_count_ = 0; | 2437 swap_count_ = 0; |
| 2438 } | 2438 } |
| 2439 | 2439 |
| 2440 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, | 2440 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, |
| 2441 LayerTreeHostImpl::FrameData* frame_data, | 2441 LayerTreeHostImpl::FrameData* frame_data, |
| 2442 DrawResult draw_result) override { | 2442 DrawResult draw_result) override { |
| 2443 if (host_impl->GetDrawMode() == DRAW_MODE_RESOURCELESS_SOFTWARE) { | 2443 if (host_impl->GetDrawMode() == DRAW_MODE_RESOURCELESS_SOFTWARE) { |
| 2444 EXPECT_EQ(1u, frame_data->render_passes.size()); | 2444 EXPECT_EQ(1u, frame_data->render_passes.size()); |
| 2445 // Has at least 3 quads for each layer. | 2445 // Has at least 3 quads for each layer. |
| 2446 RenderPass* render_pass = frame_data->render_passes[0]; | 2446 RenderPass* render_pass = frame_data->render_passes[0].get(); |
| 2447 EXPECT_GE(render_pass->quad_list.size(), 3u); | 2447 EXPECT_GE(render_pass->quad_list.size(), 3u); |
| 2448 } else { | 2448 } else { |
| 2449 EXPECT_EQ(2u, frame_data->render_passes.size()); | 2449 EXPECT_EQ(2u, frame_data->render_passes.size()); |
| 2450 | 2450 |
| 2451 // At least root layer quad in root render pass. | 2451 // At least root layer quad in root render pass. |
| 2452 EXPECT_GE(frame_data->render_passes[0]->quad_list.size(), 1u); | 2452 EXPECT_GE(frame_data->render_passes[0]->quad_list.size(), 1u); |
| 2453 // At least parent and child layer quads in parent render pass. | 2453 // At least parent and child layer quads in parent render pass. |
| 2454 EXPECT_GE(frame_data->render_passes[1]->quad_list.size(), 2u); | 2454 EXPECT_GE(frame_data->render_passes[1]->quad_list.size(), 2u); |
| 2455 } | 2455 } |
| 2456 return draw_result; | 2456 return draw_result; |
| (...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3007 PushPropertiesCountingLayerImpl* grandchild_impl_ = NULL; | 3007 PushPropertiesCountingLayerImpl* grandchild_impl_ = NULL; |
| 3008 PushPropertiesCountingLayerImpl* leaf_always_pushing_layer_impl_ = NULL; | 3008 PushPropertiesCountingLayerImpl* leaf_always_pushing_layer_impl_ = NULL; |
| 3009 | 3009 |
| 3010 // Pull the layers that we need from the tree assuming the same structure | 3010 // Pull the layers that we need from the tree assuming the same structure |
| 3011 // as LayerTreeHostTestLayersPushProperties | 3011 // as LayerTreeHostTestLayersPushProperties |
| 3012 root_impl_ = static_cast<PushPropertiesCountingLayerImpl*>( | 3012 root_impl_ = static_cast<PushPropertiesCountingLayerImpl*>( |
| 3013 host_impl->RootLayer()); | 3013 host_impl->RootLayer()); |
| 3014 | 3014 |
| 3015 if (root_impl_ && root_impl_->children().size() > 0) { | 3015 if (root_impl_ && root_impl_->children().size() > 0) { |
| 3016 child_impl_ = static_cast<PushPropertiesCountingLayerImpl*>( | 3016 child_impl_ = static_cast<PushPropertiesCountingLayerImpl*>( |
| 3017 root_impl_->children()[0]); | 3017 root_impl_->children()[0].get()); |
| 3018 | 3018 |
| 3019 if (child_impl_ && child_impl_->children().size() > 0) | 3019 if (child_impl_ && child_impl_->children().size() > 0) |
| 3020 grandchild_impl_ = static_cast<PushPropertiesCountingLayerImpl*>( | 3020 grandchild_impl_ = static_cast<PushPropertiesCountingLayerImpl*>( |
| 3021 child_impl_->children()[0]); | 3021 child_impl_->children()[0].get()); |
| 3022 } | 3022 } |
| 3023 | 3023 |
| 3024 if (root_impl_ && root_impl_->children().size() > 1) { | 3024 if (root_impl_ && root_impl_->children().size() > 1) { |
| 3025 child2_impl_ = static_cast<PushPropertiesCountingLayerImpl*>( | 3025 child2_impl_ = static_cast<PushPropertiesCountingLayerImpl*>( |
| 3026 root_impl_->children()[1]); | 3026 root_impl_->children()[1].get()); |
| 3027 | 3027 |
| 3028 if (child2_impl_ && child2_impl_->children().size() > 0) | 3028 if (child2_impl_ && child2_impl_->children().size() > 0) |
| 3029 leaf_always_pushing_layer_impl_ = | 3029 leaf_always_pushing_layer_impl_ = |
| 3030 static_cast<PushPropertiesCountingLayerImpl*>( | 3030 static_cast<PushPropertiesCountingLayerImpl*>( |
| 3031 child2_impl_->children()[0]); | 3031 child2_impl_->children()[0].get()); |
| 3032 } | 3032 } |
| 3033 | 3033 |
| 3034 if (root_impl_) | 3034 if (root_impl_) |
| 3035 EXPECT_EQ(expected_push_properties_root_impl_, | 3035 EXPECT_EQ(expected_push_properties_root_impl_, |
| 3036 root_impl_->push_properties_count()); | 3036 root_impl_->push_properties_count()); |
| 3037 if (child_impl_) | 3037 if (child_impl_) |
| 3038 EXPECT_EQ(expected_push_properties_child_impl_, | 3038 EXPECT_EQ(expected_push_properties_child_impl_, |
| 3039 child_impl_->push_properties_count()); | 3039 child_impl_->push_properties_count()); |
| 3040 if (grandchild_impl_) | 3040 if (grandchild_impl_) |
| 3041 EXPECT_EQ(expected_push_properties_grandchild_impl_, | 3041 EXPECT_EQ(expected_push_properties_grandchild_impl_, |
| (...skipping 721 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3763 // The bounds of the child layer were pushed to the impl side. | 3763 // The bounds of the child layer were pushed to the impl side. |
| 3764 EXPECT_FALSE(child_layer_->needs_push_properties()); | 3764 EXPECT_FALSE(child_layer_->needs_push_properties()); |
| 3765 | 3765 |
| 3766 EndTest(); | 3766 EndTest(); |
| 3767 break; | 3767 break; |
| 3768 } | 3768 } |
| 3769 } | 3769 } |
| 3770 | 3770 |
| 3771 void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override { | 3771 void DidActivateTreeOnThread(LayerTreeHostImpl* impl) override { |
| 3772 LayerImpl* root = impl->active_tree()->root_layer(); | 3772 LayerImpl* root = impl->active_tree()->root_layer(); |
| 3773 LayerImpl* parent = root->children()[0]; | 3773 LayerImpl* parent = root->children()[0].get(); |
| 3774 LayerImpl* child = parent->children()[0]; | 3774 LayerImpl* child = parent->children()[0].get(); |
| 3775 | 3775 |
| 3776 switch (impl->active_tree()->source_frame_number()) { | 3776 switch (impl->active_tree()->source_frame_number()) { |
| 3777 case 1: | 3777 case 1: |
| 3778 EXPECT_EQ(gfx::Size(5, 5).ToString(), child->bounds().ToString()); | 3778 EXPECT_EQ(gfx::Size(5, 5).ToString(), child->bounds().ToString()); |
| 3779 break; | 3779 break; |
| 3780 } | 3780 } |
| 3781 } | 3781 } |
| 3782 | 3782 |
| 3783 void AfterTest() override {} | 3783 void AfterTest() override {} |
| 3784 | 3784 |
| (...skipping 1279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5064 layer_tree_host()->SetRootLayer(root); | 5064 layer_tree_host()->SetRootLayer(root); |
| 5065 LayerTreeHostTest::SetupTree(); | 5065 LayerTreeHostTest::SetupTree(); |
| 5066 } | 5066 } |
| 5067 | 5067 |
| 5068 // Returns the delta scale of all quads in the frame's root pass from their | 5068 // Returns the delta scale of all quads in the frame's root pass from their |
| 5069 // ideal, or 0 if they are not all the same. | 5069 // ideal, or 0 if they are not all the same. |
| 5070 float FrameQuadScaleDeltaFromIdeal(LayerTreeHostImpl::FrameData* frame_data) { | 5070 float FrameQuadScaleDeltaFromIdeal(LayerTreeHostImpl::FrameData* frame_data) { |
| 5071 if (frame_data->has_no_damage) | 5071 if (frame_data->has_no_damage) |
| 5072 return 0.f; | 5072 return 0.f; |
| 5073 float frame_scale = 0.f; | 5073 float frame_scale = 0.f; |
| 5074 RenderPass* root_pass = frame_data->render_passes.back(); | 5074 RenderPass* root_pass = frame_data->render_passes.back().get(); |
| 5075 for (const auto& draw_quad : root_pass->quad_list) { | 5075 for (const auto& draw_quad : root_pass->quad_list) { |
| 5076 // Checkerboards mean an incomplete frame. | 5076 // Checkerboards mean an incomplete frame. |
| 5077 if (draw_quad->material != DrawQuad::TILED_CONTENT) | 5077 if (draw_quad->material != DrawQuad::TILED_CONTENT) |
| 5078 return 0.f; | 5078 return 0.f; |
| 5079 const TileDrawQuad* quad = TileDrawQuad::MaterialCast(draw_quad); | 5079 const TileDrawQuad* quad = TileDrawQuad::MaterialCast(draw_quad); |
| 5080 float quad_scale = | 5080 float quad_scale = |
| 5081 quad->tex_coord_rect.width() / static_cast<float>(quad->rect.width()); | 5081 quad->tex_coord_rect.width() / static_cast<float>(quad->rect.width()); |
| 5082 float transform_scale = SkMScalarToFloat( | 5082 float transform_scale = SkMScalarToFloat( |
| 5083 quad->shared_quad_state->quad_to_target_transform.matrix().get(0, 0)); | 5083 quad->shared_quad_state->quad_to_target_transform.matrix().get(0, 0)); |
| 5084 float scale = quad_scale / transform_scale; | 5084 float scale = quad_scale / transform_scale; |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5360 layer_tree_host()->SetRootLayer(root); | 5360 layer_tree_host()->SetRootLayer(root); |
| 5361 LayerTreeHostTest::SetupTree(); | 5361 LayerTreeHostTest::SetupTree(); |
| 5362 } | 5362 } |
| 5363 | 5363 |
| 5364 // Returns the delta scale of all quads in the frame's root pass from their | 5364 // Returns the delta scale of all quads in the frame's root pass from their |
| 5365 // ideal, or 0 if they are not all the same. | 5365 // ideal, or 0 if they are not all the same. |
| 5366 float FrameQuadScaleDeltaFromIdeal(LayerTreeHostImpl::FrameData* frame_data) { | 5366 float FrameQuadScaleDeltaFromIdeal(LayerTreeHostImpl::FrameData* frame_data) { |
| 5367 if (frame_data->has_no_damage) | 5367 if (frame_data->has_no_damage) |
| 5368 return 0.f; | 5368 return 0.f; |
| 5369 float frame_scale = 0.f; | 5369 float frame_scale = 0.f; |
| 5370 RenderPass* root_pass = frame_data->render_passes.back(); | 5370 RenderPass* root_pass = frame_data->render_passes.back().get(); |
| 5371 for (const auto& draw_quad : root_pass->quad_list) { | 5371 for (const auto& draw_quad : root_pass->quad_list) { |
| 5372 const TileDrawQuad* quad = TileDrawQuad::MaterialCast(draw_quad); | 5372 const TileDrawQuad* quad = TileDrawQuad::MaterialCast(draw_quad); |
| 5373 float quad_scale = | 5373 float quad_scale = |
| 5374 quad->tex_coord_rect.width() / static_cast<float>(quad->rect.width()); | 5374 quad->tex_coord_rect.width() / static_cast<float>(quad->rect.width()); |
| 5375 float transform_scale = SkMScalarToFloat( | 5375 float transform_scale = SkMScalarToFloat( |
| 5376 quad->shared_quad_state->quad_to_target_transform.matrix().get(0, 0)); | 5376 quad->shared_quad_state->quad_to_target_transform.matrix().get(0, 0)); |
| 5377 float scale = quad_scale / transform_scale; | 5377 float scale = quad_scale / transform_scale; |
| 5378 if (frame_scale != 0.f && frame_scale != scale) | 5378 if (frame_scale != 0.f && frame_scale != scale) |
| 5379 return 0.f; | 5379 return 0.f; |
| 5380 frame_scale = scale; | 5380 frame_scale = scale; |
| (...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5809 layer_tree_host()->SetRootLayer(root); | 5809 layer_tree_host()->SetRootLayer(root); |
| 5810 LayerTreeTest::SetupTree(); | 5810 LayerTreeTest::SetupTree(); |
| 5811 } | 5811 } |
| 5812 | 5812 |
| 5813 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 5813 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 5814 | 5814 |
| 5815 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, | 5815 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, |
| 5816 LayerTreeHostImpl::FrameData* frame_data, | 5816 LayerTreeHostImpl::FrameData* frame_data, |
| 5817 DrawResult draw_result) override { | 5817 DrawResult draw_result) override { |
| 5818 EXPECT_EQ(2u, frame_data->render_passes.size()); | 5818 EXPECT_EQ(2u, frame_data->render_passes.size()); |
| 5819 RenderPass* root_pass = frame_data->render_passes.back(); | 5819 RenderPass* root_pass = frame_data->render_passes.back().get(); |
| 5820 EXPECT_EQ(2u, root_pass->quad_list.size()); | 5820 EXPECT_EQ(2u, root_pass->quad_list.size()); |
| 5821 | 5821 |
| 5822 // There's a solid color quad under everything. | 5822 // There's a solid color quad under everything. |
| 5823 EXPECT_EQ(DrawQuad::SOLID_COLOR, root_pass->quad_list.back()->material); | 5823 EXPECT_EQ(DrawQuad::SOLID_COLOR, root_pass->quad_list.back()->material); |
| 5824 | 5824 |
| 5825 // The surface is clipped to 10x20. | 5825 // The surface is clipped to 10x20. |
| 5826 EXPECT_EQ(DrawQuad::RENDER_PASS, root_pass->quad_list.front()->material); | 5826 EXPECT_EQ(DrawQuad::RENDER_PASS, root_pass->quad_list.front()->material); |
| 5827 const RenderPassDrawQuad* render_pass_quad = | 5827 const RenderPassDrawQuad* render_pass_quad = |
| 5828 RenderPassDrawQuad::MaterialCast(root_pass->quad_list.front()); | 5828 RenderPassDrawQuad::MaterialCast(root_pass->quad_list.front()); |
| 5829 EXPECT_EQ(gfx::Rect(20, 10, 10, 20).ToString(), | 5829 EXPECT_EQ(gfx::Rect(20, 10, 10, 20).ToString(), |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5893 layer_tree_host()->SetRootLayer(root); | 5893 layer_tree_host()->SetRootLayer(root); |
| 5894 LayerTreeTest::SetupTree(); | 5894 LayerTreeTest::SetupTree(); |
| 5895 } | 5895 } |
| 5896 | 5896 |
| 5897 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 5897 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 5898 | 5898 |
| 5899 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, | 5899 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, |
| 5900 LayerTreeHostImpl::FrameData* frame_data, | 5900 LayerTreeHostImpl::FrameData* frame_data, |
| 5901 DrawResult draw_result) override { | 5901 DrawResult draw_result) override { |
| 5902 EXPECT_EQ(2u, frame_data->render_passes.size()); | 5902 EXPECT_EQ(2u, frame_data->render_passes.size()); |
| 5903 RenderPass* root_pass = frame_data->render_passes.back(); | 5903 RenderPass* root_pass = frame_data->render_passes.back().get(); |
| 5904 EXPECT_EQ(2u, root_pass->quad_list.size()); | 5904 EXPECT_EQ(2u, root_pass->quad_list.size()); |
| 5905 | 5905 |
| 5906 // There's a solid color quad under everything. | 5906 // There's a solid color quad under everything. |
| 5907 EXPECT_EQ(DrawQuad::SOLID_COLOR, root_pass->quad_list.back()->material); | 5907 EXPECT_EQ(DrawQuad::SOLID_COLOR, root_pass->quad_list.back()->material); |
| 5908 | 5908 |
| 5909 EXPECT_EQ(DrawQuad::RENDER_PASS, root_pass->quad_list.front()->material); | 5909 EXPECT_EQ(DrawQuad::RENDER_PASS, root_pass->quad_list.front()->material); |
| 5910 const RenderPassDrawQuad* render_pass_quad = | 5910 const RenderPassDrawQuad* render_pass_quad = |
| 5911 RenderPassDrawQuad::MaterialCast(root_pass->quad_list.front()); | 5911 RenderPassDrawQuad::MaterialCast(root_pass->quad_list.front()); |
| 5912 switch (host_impl->active_tree()->source_frame_number()) { | 5912 switch (host_impl->active_tree()->source_frame_number()) { |
| 5913 case 0: | 5913 case 0: |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5981 layer_tree_host()->SetRootLayer(root); | 5981 layer_tree_host()->SetRootLayer(root); |
| 5982 LayerTreeTest::SetupTree(); | 5982 LayerTreeTest::SetupTree(); |
| 5983 } | 5983 } |
| 5984 | 5984 |
| 5985 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 5985 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 5986 | 5986 |
| 5987 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, | 5987 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, |
| 5988 LayerTreeHostImpl::FrameData* frame_data, | 5988 LayerTreeHostImpl::FrameData* frame_data, |
| 5989 DrawResult draw_result) override { | 5989 DrawResult draw_result) override { |
| 5990 EXPECT_EQ(2u, frame_data->render_passes.size()); | 5990 EXPECT_EQ(2u, frame_data->render_passes.size()); |
| 5991 RenderPass* root_pass = frame_data->render_passes.back(); | 5991 RenderPass* root_pass = frame_data->render_passes.back().get(); |
| 5992 EXPECT_EQ(2u, root_pass->quad_list.size()); | 5992 EXPECT_EQ(2u, root_pass->quad_list.size()); |
| 5993 | 5993 |
| 5994 // There's a solid color quad under everything. | 5994 // There's a solid color quad under everything. |
| 5995 EXPECT_EQ(DrawQuad::SOLID_COLOR, root_pass->quad_list.back()->material); | 5995 EXPECT_EQ(DrawQuad::SOLID_COLOR, root_pass->quad_list.back()->material); |
| 5996 | 5996 |
| 5997 EXPECT_EQ(DrawQuad::RENDER_PASS, root_pass->quad_list.front()->material); | 5997 EXPECT_EQ(DrawQuad::RENDER_PASS, root_pass->quad_list.front()->material); |
| 5998 const RenderPassDrawQuad* render_pass_quad = | 5998 const RenderPassDrawQuad* render_pass_quad = |
| 5999 RenderPassDrawQuad::MaterialCast(root_pass->quad_list.front()); | 5999 RenderPassDrawQuad::MaterialCast(root_pass->quad_list.front()); |
| 6000 switch (host_impl->active_tree()->source_frame_number()) { | 6000 switch (host_impl->active_tree()->source_frame_number()) { |
| 6001 case 0: | 6001 case 0: |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6072 layer_tree_host()->SetRootLayer(root); | 6072 layer_tree_host()->SetRootLayer(root); |
| 6073 LayerTreeTest::SetupTree(); | 6073 LayerTreeTest::SetupTree(); |
| 6074 } | 6074 } |
| 6075 | 6075 |
| 6076 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 6076 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 6077 | 6077 |
| 6078 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, | 6078 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, |
| 6079 LayerTreeHostImpl::FrameData* frame_data, | 6079 LayerTreeHostImpl::FrameData* frame_data, |
| 6080 DrawResult draw_result) override { | 6080 DrawResult draw_result) override { |
| 6081 EXPECT_EQ(2u, frame_data->render_passes.size()); | 6081 EXPECT_EQ(2u, frame_data->render_passes.size()); |
| 6082 RenderPass* root_pass = frame_data->render_passes.back(); | 6082 RenderPass* root_pass = frame_data->render_passes.back().get(); |
| 6083 EXPECT_EQ(3u, root_pass->quad_list.size()); | 6083 EXPECT_EQ(3u, root_pass->quad_list.size()); |
| 6084 | 6084 |
| 6085 // There's a solid color quad under everything. | 6085 // There's a solid color quad under everything. |
| 6086 EXPECT_EQ(DrawQuad::SOLID_COLOR, root_pass->quad_list.back()->material); | 6086 EXPECT_EQ(DrawQuad::SOLID_COLOR, root_pass->quad_list.back()->material); |
| 6087 | 6087 |
| 6088 EXPECT_EQ(DrawQuad::RENDER_PASS, | 6088 EXPECT_EQ(DrawQuad::RENDER_PASS, |
| 6089 root_pass->quad_list.ElementAt(1)->material); | 6089 root_pass->quad_list.ElementAt(1)->material); |
| 6090 const RenderPassDrawQuad* render_pass_quad = | 6090 const RenderPassDrawQuad* render_pass_quad = |
| 6091 RenderPassDrawQuad::MaterialCast(root_pass->quad_list.ElementAt(1)); | 6091 RenderPassDrawQuad::MaterialCast(root_pass->quad_list.ElementAt(1)); |
| 6092 switch (host_impl->active_tree()->source_frame_number()) { | 6092 switch (host_impl->active_tree()->source_frame_number()) { |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6170 layer_tree_host()->SetRootLayer(root); | 6170 layer_tree_host()->SetRootLayer(root); |
| 6171 LayerTreeTest::SetupTree(); | 6171 LayerTreeTest::SetupTree(); |
| 6172 } | 6172 } |
| 6173 | 6173 |
| 6174 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 6174 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
| 6175 | 6175 |
| 6176 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, | 6176 DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, |
| 6177 LayerTreeHostImpl::FrameData* frame_data, | 6177 LayerTreeHostImpl::FrameData* frame_data, |
| 6178 DrawResult draw_result) override { | 6178 DrawResult draw_result) override { |
| 6179 EXPECT_EQ(2u, frame_data->render_passes.size()); | 6179 EXPECT_EQ(2u, frame_data->render_passes.size()); |
| 6180 RenderPass* root_pass = frame_data->render_passes.back(); | 6180 RenderPass* root_pass = frame_data->render_passes.back().get(); |
| 6181 EXPECT_EQ(3u, root_pass->quad_list.size()); | 6181 EXPECT_EQ(3u, root_pass->quad_list.size()); |
| 6182 | 6182 |
| 6183 // There's a solid color quad under everything. | 6183 // There's a solid color quad under everything. |
| 6184 EXPECT_EQ(DrawQuad::SOLID_COLOR, root_pass->quad_list.back()->material); | 6184 EXPECT_EQ(DrawQuad::SOLID_COLOR, root_pass->quad_list.back()->material); |
| 6185 | 6185 |
| 6186 EXPECT_EQ(DrawQuad::RENDER_PASS, | 6186 EXPECT_EQ(DrawQuad::RENDER_PASS, |
| 6187 root_pass->quad_list.ElementAt(1)->material); | 6187 root_pass->quad_list.ElementAt(1)->material); |
| 6188 const RenderPassDrawQuad* replica_quad = | 6188 const RenderPassDrawQuad* replica_quad = |
| 6189 RenderPassDrawQuad::MaterialCast(root_pass->quad_list.ElementAt(1)); | 6189 RenderPassDrawQuad::MaterialCast(root_pass->quad_list.ElementAt(1)); |
| 6190 switch (host_impl->active_tree()->source_frame_number()) { | 6190 switch (host_impl->active_tree()->source_frame_number()) { |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6404 EndTest(); | 6404 EndTest(); |
| 6405 } | 6405 } |
| 6406 | 6406 |
| 6407 void AfterTest() override {} | 6407 void AfterTest() override {} |
| 6408 }; | 6408 }; |
| 6409 | 6409 |
| 6410 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestPaintedDeviceScaleFactor); | 6410 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestPaintedDeviceScaleFactor); |
| 6411 | 6411 |
| 6412 } // namespace | 6412 } // namespace |
| 6413 } // namespace cc | 6413 } // namespace cc |
| OLD | NEW |