| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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/delegated_renderer_layer_impl.h" | 5 #include "cc/layers/delegated_renderer_layer_impl.h" |
| 6 | 6 |
| 7 #include "cc/layers/solid_color_layer_impl.h" | 7 #include "cc/layers/solid_color_layer_impl.h" |
| 8 #include "cc/quads/render_pass_draw_quad.h" | 8 #include "cc/quads/render_pass_draw_quad.h" |
| 9 #include "cc/quads/solid_color_draw_quad.h" | 9 #include "cc/quads/solid_color_draw_quad.h" |
| 10 #include "cc/test/fake_delegated_renderer_layer_impl.h" | 10 #include "cc/test/fake_delegated_renderer_layer_impl.h" |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 delegated_renderer_layer->SetFrameDataForRenderPasses( | 111 delegated_renderer_layer->SetFrameDataForRenderPasses( |
| 112 1.f, delegated_render_passes); | 112 1.f, delegated_render_passes); |
| 113 | 113 |
| 114 root_layer_ = root_layer.get(); | 114 root_layer_ = root_layer.get(); |
| 115 layer_before_ = layer_before.get(); | 115 layer_before_ = layer_before.get(); |
| 116 layer_after_ = layer_after.get(); | 116 layer_after_ = layer_after.get(); |
| 117 delegated_renderer_layer_ = delegated_renderer_layer.get(); | 117 delegated_renderer_layer_ = delegated_renderer_layer.get(); |
| 118 | 118 |
| 119 // Force the delegated RenderPasses to come before the RenderPass from | 119 // Force the delegated RenderPasses to come before the RenderPass from |
| 120 // layer_after. | 120 // layer_after. |
| 121 layer_after->AddChild(delegated_renderer_layer.Pass()); | 121 layer_after->AddChild(std::move(delegated_renderer_layer)); |
| 122 root_layer->AddChild(layer_after.Pass()); | 122 root_layer->AddChild(std::move(layer_after)); |
| 123 | 123 |
| 124 // Get the RenderPass generated by layer_before to come before the delegated | 124 // Get the RenderPass generated by layer_before to come before the delegated |
| 125 // RenderPasses. | 125 // RenderPasses. |
| 126 root_layer->AddChild(layer_before.Pass()); | 126 root_layer->AddChild(std::move(layer_before)); |
| 127 host_impl_->active_tree()->SetRootLayer(root_layer.Pass()); | 127 host_impl_->active_tree()->SetRootLayer(std::move(root_layer)); |
| 128 } | 128 } |
| 129 | 129 |
| 130 protected: | 130 protected: |
| 131 LayerImpl* root_layer_; | 131 LayerImpl* root_layer_; |
| 132 LayerImpl* layer_before_; | 132 LayerImpl* layer_before_; |
| 133 LayerImpl* layer_after_; | 133 LayerImpl* layer_after_; |
| 134 DelegatedRendererLayerImpl* delegated_renderer_layer_; | 134 DelegatedRendererLayerImpl* delegated_renderer_layer_; |
| 135 }; | 135 }; |
| 136 | 136 |
| 137 TEST_F(DelegatedRendererLayerImplTest, | 137 TEST_F(DelegatedRendererLayerImplTest, |
| (...skipping 29 matching lines...) Expand all Loading... |
| 167 AddRenderPassQuad(pass2, pass1); | 167 AddRenderPassQuad(pass2, pass1); |
| 168 RenderPass* pass3 = | 168 RenderPass* pass3 = |
| 169 AddRenderPass(&delegated_render_passes, RenderPassId(9, 8), | 169 AddRenderPass(&delegated_render_passes, RenderPassId(9, 8), |
| 170 gfx::Rect(0, 0, 8, 8), gfx::Transform(1, 0, 0, 1, 9, 10)); | 170 gfx::Rect(0, 0, 8, 8), gfx::Transform(1, 0, 0, 1, 9, 10)); |
| 171 AddRenderPassQuad(pass3, pass2); | 171 AddRenderPassQuad(pass3, pass2); |
| 172 delegated_renderer_layer->SetFrameDataForRenderPasses( | 172 delegated_renderer_layer->SetFrameDataForRenderPasses( |
| 173 1.f, delegated_render_passes); | 173 1.f, delegated_render_passes); |
| 174 | 174 |
| 175 fake_delegated_renderer_layer_impl = delegated_renderer_layer.get(); | 175 fake_delegated_renderer_layer_impl = delegated_renderer_layer.get(); |
| 176 | 176 |
| 177 root_layer->AddChild(delegated_renderer_layer.Pass()); | 177 root_layer->AddChild(std::move(delegated_renderer_layer)); |
| 178 | 178 |
| 179 host_impl_->active_tree()->SetRootLayer(root_layer.Pass()); | 179 host_impl_->active_tree()->SetRootLayer(std::move(root_layer)); |
| 180 | 180 |
| 181 LayerTreeHostImpl::FrameData frame; | 181 LayerTreeHostImpl::FrameData frame; |
| 182 EXPECT_EQ(DRAW_SUCCESS, PrepareToDrawFrame(&frame)); | 182 EXPECT_EQ(DRAW_SUCCESS, PrepareToDrawFrame(&frame)); |
| 183 | 183 |
| 184 // Root layer has one render pass, and delegated renderer layer has two | 184 // Root layer has one render pass, and delegated renderer layer has two |
| 185 // contributing render passes and its own render pass. | 185 // contributing render passes and its own render pass. |
| 186 ASSERT_EQ(4u, frame.render_passes.size()); | 186 ASSERT_EQ(4u, frame.render_passes.size()); |
| 187 | 187 |
| 188 host_impl_->DrawLayers(&frame); | 188 host_impl_->DrawLayers(&frame); |
| 189 host_impl_->DidDrawAllLayers(frame); | 189 host_impl_->DidDrawAllLayers(frame); |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 AddRenderPassQuad(pass2, pass1); | 246 AddRenderPassQuad(pass2, pass1); |
| 247 RenderPass* pass3 = | 247 RenderPass* pass3 = |
| 248 AddRenderPass(&delegated_render_passes, RenderPassId(9, 8), | 248 AddRenderPass(&delegated_render_passes, RenderPassId(9, 8), |
| 249 gfx::Rect(0, 0, 8, 8), gfx::Transform(1, 0, 0, 1, 9, 10)); | 249 gfx::Rect(0, 0, 8, 8), gfx::Transform(1, 0, 0, 1, 9, 10)); |
| 250 AddRenderPassQuad(pass3, pass2); | 250 AddRenderPassQuad(pass3, pass2); |
| 251 delegated_renderer_layer->SetFrameDataForRenderPasses( | 251 delegated_renderer_layer->SetFrameDataForRenderPasses( |
| 252 1.f, delegated_render_passes); | 252 1.f, delegated_render_passes); |
| 253 | 253 |
| 254 fake_delegated_renderer_layer_impl = delegated_renderer_layer.get(); | 254 fake_delegated_renderer_layer_impl = delegated_renderer_layer.get(); |
| 255 | 255 |
| 256 root_layer->AddChild(delegated_renderer_layer.Pass()); | 256 root_layer->AddChild(std::move(delegated_renderer_layer)); |
| 257 | 257 |
| 258 host_impl_->pending_tree()->SetRootLayer(root_layer.Pass()); | 258 host_impl_->pending_tree()->SetRootLayer(std::move(root_layer)); |
| 259 host_impl_->ActivateSyncTree(); | 259 host_impl_->ActivateSyncTree(); |
| 260 | 260 |
| 261 LayerTreeHostImpl::FrameData frame; | 261 LayerTreeHostImpl::FrameData frame; |
| 262 EXPECT_EQ(DRAW_SUCCESS, PrepareToDrawFrame(&frame)); | 262 EXPECT_EQ(DRAW_SUCCESS, PrepareToDrawFrame(&frame)); |
| 263 | 263 |
| 264 // Root layer has one render pass, and delegated renderer layer has two | 264 // Root layer has one render pass, and delegated renderer layer has two |
| 265 // contributing render passes and its own render pass. | 265 // contributing render passes and its own render pass. |
| 266 ASSERT_EQ(4u, frame.render_passes.size()); | 266 ASSERT_EQ(4u, frame.render_passes.size()); |
| 267 | 267 |
| 268 host_impl_->DrawLayers(&frame); | 268 host_impl_->DrawLayers(&frame); |
| (...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 733 gfx::Rect(10, 10, 10, 10), | 733 gfx::Rect(10, 10, 10, 10), |
| 734 4u, | 734 4u, |
| 735 false); | 735 false); |
| 736 | 736 |
| 737 delegated_renderer_layer->SetFrameDataForRenderPasses( | 737 delegated_renderer_layer->SetFrameDataForRenderPasses( |
| 738 delegated_device_scale_factor_, delegated_render_passes); | 738 delegated_device_scale_factor_, delegated_render_passes); |
| 739 | 739 |
| 740 root_layer_ = root_layer.get(); | 740 root_layer_ = root_layer.get(); |
| 741 delegated_renderer_layer_ = delegated_renderer_layer.get(); | 741 delegated_renderer_layer_ = delegated_renderer_layer.get(); |
| 742 | 742 |
| 743 root_layer->AddChild(delegated_renderer_layer.Pass()); | 743 root_layer->AddChild(std::move(delegated_renderer_layer)); |
| 744 host_impl_->active_tree()->SetRootLayer(root_layer.Pass()); | 744 host_impl_->active_tree()->SetRootLayer(std::move(root_layer)); |
| 745 } | 745 } |
| 746 | 746 |
| 747 void VerifyRenderPasses( | 747 void VerifyRenderPasses( |
| 748 const LayerTreeHostImpl::FrameData& frame, | 748 const LayerTreeHostImpl::FrameData& frame, |
| 749 size_t num_render_passes, | 749 size_t num_render_passes, |
| 750 const SharedQuadState** root_delegated_shared_quad_state, | 750 const SharedQuadState** root_delegated_shared_quad_state, |
| 751 const SharedQuadState** contrib_delegated_shared_quad_state) { | 751 const SharedQuadState** contrib_delegated_shared_quad_state) { |
| 752 ASSERT_EQ(num_render_passes, frame.render_passes.size()); | 752 ASSERT_EQ(num_render_passes, frame.render_passes.size()); |
| 753 // The contributing render pass in the DelegatedRendererLayer. | 753 // The contributing render pass in the DelegatedRendererLayer. |
| 754 EXPECT_EQ(2, frame.render_passes[0]->id.layer_id); | 754 EXPECT_EQ(2, frame.render_passes[0]->id.layer_id); |
| (...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1162 gfx::PointF clip_origin(21.f, 27.f); | 1162 gfx::PointF clip_origin(21.f, 27.f); |
| 1163 gfx::Size clip_size(23, 21); | 1163 gfx::Size clip_size(23, 21); |
| 1164 | 1164 |
| 1165 clip_layer->SetPosition(clip_origin); | 1165 clip_layer->SetPosition(clip_origin); |
| 1166 clip_layer->SetBounds(clip_size); | 1166 clip_layer->SetBounds(clip_size); |
| 1167 clip_layer->SetMasksToBounds(true); | 1167 clip_layer->SetMasksToBounds(true); |
| 1168 | 1168 |
| 1169 origin_layer->SetPosition( | 1169 origin_layer->SetPosition( |
| 1170 gfx::PointF(-clip_origin.x(), -clip_origin.y())); | 1170 gfx::PointF(-clip_origin.x(), -clip_origin.y())); |
| 1171 | 1171 |
| 1172 origin_layer->AddChild(delegated_renderer_layer.Pass()); | 1172 origin_layer->AddChild(std::move(delegated_renderer_layer)); |
| 1173 clip_layer->AddChild(origin_layer.Pass()); | 1173 clip_layer->AddChild(std::move(origin_layer)); |
| 1174 root_layer->AddChild(clip_layer.Pass()); | 1174 root_layer->AddChild(std::move(clip_layer)); |
| 1175 } else { | 1175 } else { |
| 1176 root_layer->AddChild(delegated_renderer_layer.Pass()); | 1176 root_layer->AddChild(std::move(delegated_renderer_layer)); |
| 1177 } | 1177 } |
| 1178 | 1178 |
| 1179 host_impl_->active_tree()->SetRootLayer(root_layer.Pass()); | 1179 host_impl_->active_tree()->SetRootLayer(std::move(root_layer)); |
| 1180 } | 1180 } |
| 1181 | 1181 |
| 1182 protected: | 1182 protected: |
| 1183 LayerImpl* root_layer_; | 1183 LayerImpl* root_layer_; |
| 1184 DelegatedRendererLayerImpl* delegated_renderer_layer_; | 1184 DelegatedRendererLayerImpl* delegated_renderer_layer_; |
| 1185 bool root_delegated_render_pass_is_clipped_; | 1185 bool root_delegated_render_pass_is_clipped_; |
| 1186 bool clip_delegated_renderer_layer_; | 1186 bool clip_delegated_renderer_layer_; |
| 1187 }; | 1187 }; |
| 1188 | 1188 |
| 1189 TEST_F(DelegatedRendererLayerImplTestClip, | 1189 TEST_F(DelegatedRendererLayerImplTestClip, |
| (...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1675 scoped_ptr<DelegatedRendererLayerImpl> other_layer = | 1675 scoped_ptr<DelegatedRendererLayerImpl> other_layer = |
| 1676 DelegatedRendererLayerImpl::Create(host_impl_->active_tree(), 6); | 1676 DelegatedRendererLayerImpl::Create(host_impl_->active_tree(), 6); |
| 1677 | 1677 |
| 1678 delegated_renderer_layer_impl->PushPropertiesTo(other_layer.get()); | 1678 delegated_renderer_layer_impl->PushPropertiesTo(other_layer.get()); |
| 1679 | 1679 |
| 1680 EXPECT_EQ(0.5f, other_layer->inverse_device_scale_factor()); | 1680 EXPECT_EQ(0.5f, other_layer->inverse_device_scale_factor()); |
| 1681 } | 1681 } |
| 1682 | 1682 |
| 1683 } // namespace | 1683 } // namespace |
| 1684 } // namespace cc | 1684 } // namespace cc |
| OLD | NEW |