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

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

Issue 1231453002: Compute if a layer is clipped outside CalcDrawProps (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: DrawProperties is_clipped removed Created 5 years, 5 months 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
OLDNEW
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/base/scoped_ptr_vector.h" 7 #include "cc/base/scoped_ptr_vector.h"
8 #include "cc/layers/solid_color_layer_impl.h" 8 #include "cc/layers/solid_color_layer_impl.h"
9 #include "cc/quads/render_pass_draw_quad.h" 9 #include "cc/quads/render_pass_draw_quad.h"
10 #include "cc/quads/solid_color_draw_quad.h" 10 #include "cc/quads/solid_color_draw_quad.h"
(...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after
787 protected: 787 protected:
788 LayerImpl* root_layer_; 788 LayerImpl* root_layer_;
789 DelegatedRendererLayerImpl* delegated_renderer_layer_; 789 DelegatedRendererLayerImpl* delegated_renderer_layer_;
790 bool root_delegated_render_pass_is_clipped_; 790 bool root_delegated_render_pass_is_clipped_;
791 float delegated_device_scale_factor_; 791 float delegated_device_scale_factor_;
792 }; 792 };
793 793
794 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsUnclipped_NoSurface) { 794 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsUnclipped_NoSurface) {
795 root_delegated_render_pass_is_clipped_ = false; 795 root_delegated_render_pass_is_clipped_ = false;
796 SetUpTest(); 796 SetUpTest();
797
Ian Vollick 2015/07/09 14:26:27 nit: no need for spurious whitespace changes.
jaydasika 2015/07/09 15:11:49 Done.
798 LayerTreeHostImpl::FrameData frame; 797 LayerTreeHostImpl::FrameData frame;
799 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 798 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
800 799
801 const SharedQuadState* root_delegated_shared_quad_state = nullptr; 800 const SharedQuadState* root_delegated_shared_quad_state = nullptr;
802 const SharedQuadState* contrib_delegated_shared_quad_state = nullptr; 801 const SharedQuadState* contrib_delegated_shared_quad_state = nullptr;
803 VerifyRenderPasses( 802 VerifyRenderPasses(
804 frame, 803 frame,
805 2, 804 2,
806 &root_delegated_shared_quad_state, 805 &root_delegated_shared_quad_state,
807 &contrib_delegated_shared_quad_state); 806 &contrib_delegated_shared_quad_state);
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after
1243 host_impl_->DidDrawAllLayers(frame); 1242 host_impl_->DidDrawAllLayers(frame);
1244 } 1243 }
1245 1244
1246 TEST_F(DelegatedRendererLayerImplTestClip, 1245 TEST_F(DelegatedRendererLayerImplTestClip,
1247 QuadsUnclipped_LayerClipped_NoSurface) { 1246 QuadsUnclipped_LayerClipped_NoSurface) {
1248 root_delegated_render_pass_is_clipped_ = false; 1247 root_delegated_render_pass_is_clipped_ = false;
1249 clip_delegated_renderer_layer_ = true; 1248 clip_delegated_renderer_layer_ = true;
1250 SetUpTest(); 1249 SetUpTest();
1251 1250
1252 LayerTreeHostImpl::FrameData frame; 1251 LayerTreeHostImpl::FrameData frame;
1252 host_impl_->active_tree()->BuildPropertyTreesForTesting();
1253 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 1253 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
1254 1254
1255 ASSERT_EQ(2u, frame.render_passes.size()); 1255 ASSERT_EQ(2u, frame.render_passes.size());
1256 const QuadList& contrib_delegated_quad_list = 1256 const QuadList& contrib_delegated_quad_list =
1257 frame.render_passes[0]->quad_list; 1257 frame.render_passes[0]->quad_list;
1258 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1258 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1259 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; 1259 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list;
1260 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1260 ASSERT_EQ(5u, root_delegated_quad_list.size());
1261 const SharedQuadState* root_delegated_shared_quad_state = 1261 const SharedQuadState* root_delegated_shared_quad_state =
1262 root_delegated_quad_list.front()->shared_quad_state; 1262 root_delegated_quad_list.front()->shared_quad_state;
(...skipping 10 matching lines...) Expand all
1273 host_impl_->DidDrawAllLayers(frame); 1273 host_impl_->DidDrawAllLayers(frame);
1274 } 1274 }
1275 1275
1276 TEST_F(DelegatedRendererLayerImplTestClip, 1276 TEST_F(DelegatedRendererLayerImplTestClip,
1277 QuadsClipped_LayerClipped_NoSurface) { 1277 QuadsClipped_LayerClipped_NoSurface) {
1278 root_delegated_render_pass_is_clipped_ = true; 1278 root_delegated_render_pass_is_clipped_ = true;
1279 clip_delegated_renderer_layer_ = true; 1279 clip_delegated_renderer_layer_ = true;
1280 SetUpTest(); 1280 SetUpTest();
1281 1281
1282 LayerTreeHostImpl::FrameData frame; 1282 LayerTreeHostImpl::FrameData frame;
1283 host_impl_->active_tree()->BuildPropertyTreesForTesting();
1283 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 1284 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
1284 1285
1285 ASSERT_EQ(2u, frame.render_passes.size()); 1286 ASSERT_EQ(2u, frame.render_passes.size());
1286 const QuadList& contrib_delegated_quad_list = 1287 const QuadList& contrib_delegated_quad_list =
1287 frame.render_passes[0]->quad_list; 1288 frame.render_passes[0]->quad_list;
1288 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1289 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1289 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; 1290 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list;
1290 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1291 ASSERT_EQ(5u, root_delegated_quad_list.size());
1291 const SharedQuadState* root_delegated_shared_quad_state = 1292 const SharedQuadState* root_delegated_shared_quad_state =
1292 root_delegated_quad_list.front()->shared_quad_state; 1293 root_delegated_quad_list.front()->shared_quad_state;
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
1363 1364
1364 TEST_F(DelegatedRendererLayerImplTestClip, 1365 TEST_F(DelegatedRendererLayerImplTestClip,
1365 QuadsUnclipped_LayerClipped_Surface) { 1366 QuadsUnclipped_LayerClipped_Surface) {
1366 root_delegated_render_pass_is_clipped_ = false; 1367 root_delegated_render_pass_is_clipped_ = false;
1367 clip_delegated_renderer_layer_ = true; 1368 clip_delegated_renderer_layer_ = true;
1368 SetUpTest(); 1369 SetUpTest();
1369 1370
1370 delegated_renderer_layer_->SetHasRenderSurface(true); 1371 delegated_renderer_layer_->SetHasRenderSurface(true);
1371 1372
1372 LayerTreeHostImpl::FrameData frame; 1373 LayerTreeHostImpl::FrameData frame;
1374 host_impl_->active_tree()->BuildPropertyTreesForTesting();
1373 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 1375 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
1374 1376
1375 ASSERT_EQ(3u, frame.render_passes.size()); 1377 ASSERT_EQ(3u, frame.render_passes.size());
1376 const QuadList& contrib_delegated_quad_list = 1378 const QuadList& contrib_delegated_quad_list =
1377 frame.render_passes[0]->quad_list; 1379 frame.render_passes[0]->quad_list;
1378 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1380 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1379 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; 1381 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list;
1380 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1382 ASSERT_EQ(5u, root_delegated_quad_list.size());
1381 const SharedQuadState* root_delegated_shared_quad_state = 1383 const SharedQuadState* root_delegated_shared_quad_state =
1382 root_delegated_quad_list.front()->shared_quad_state; 1384 root_delegated_quad_list.front()->shared_quad_state;
1383 1385
1384 // When the layer owns a surface, the quads don't need to be clipped 1386 // When the layer owns a surface, the quads don't need to be clipped
1385 // further than they already specify. If they aren't clipped, then their 1387 // further than they already specify. If they aren't clipped, then their
1386 // clip rect is ignored, and they are not set as clipped. 1388 // clip rect is ignored, and they are not set as clipped.
1387 EXPECT_FALSE(root_delegated_shared_quad_state->is_clipped); 1389 EXPECT_FALSE(root_delegated_shared_quad_state->is_clipped);
1388 1390
1389 host_impl_->DrawLayers(&frame); 1391 host_impl_->DrawLayers(&frame);
1390 host_impl_->DidDrawAllLayers(frame); 1392 host_impl_->DidDrawAllLayers(frame);
1391 } 1393 }
1392 1394
1393 TEST_F(DelegatedRendererLayerImplTestClip, QuadsClipped_LayerClipped_Surface) { 1395 TEST_F(DelegatedRendererLayerImplTestClip, QuadsClipped_LayerClipped_Surface) {
1394 root_delegated_render_pass_is_clipped_ = true; 1396 root_delegated_render_pass_is_clipped_ = true;
1395 clip_delegated_renderer_layer_ = true; 1397 clip_delegated_renderer_layer_ = true;
1396 SetUpTest(); 1398 SetUpTest();
1397 1399
1398 delegated_renderer_layer_->SetHasRenderSurface(true); 1400 delegated_renderer_layer_->SetHasRenderSurface(true);
1399 1401
1400 LayerTreeHostImpl::FrameData frame; 1402 LayerTreeHostImpl::FrameData frame;
1403 host_impl_->active_tree()->BuildPropertyTreesForTesting();
1401 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 1404 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
1402 1405
1403 ASSERT_EQ(3u, frame.render_passes.size()); 1406 ASSERT_EQ(3u, frame.render_passes.size());
1404 const QuadList& contrib_delegated_quad_list = 1407 const QuadList& contrib_delegated_quad_list =
1405 frame.render_passes[0]->quad_list; 1408 frame.render_passes[0]->quad_list;
1406 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1409 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1407 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; 1410 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list;
1408 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1411 ASSERT_EQ(5u, root_delegated_quad_list.size());
1409 const SharedQuadState* root_delegated_shared_quad_state = 1412 const SharedQuadState* root_delegated_shared_quad_state =
1410 root_delegated_quad_list.front()->shared_quad_state; 1413 root_delegated_quad_list.front()->shared_quad_state;
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
1674 scoped_ptr<DelegatedRendererLayerImpl> other_layer = 1677 scoped_ptr<DelegatedRendererLayerImpl> other_layer =
1675 DelegatedRendererLayerImpl::Create(host_impl_->active_tree(), 6); 1678 DelegatedRendererLayerImpl::Create(host_impl_->active_tree(), 6);
1676 1679
1677 delegated_renderer_layer_impl->PushPropertiesTo(other_layer.get()); 1680 delegated_renderer_layer_impl->PushPropertiesTo(other_layer.get());
1678 1681
1679 EXPECT_EQ(0.5f, other_layer->inverse_device_scale_factor()); 1682 EXPECT_EQ(0.5f, other_layer->inverse_device_scale_factor());
1680 } 1683 }
1681 1684
1682 } // namespace 1685 } // namespace
1683 } // namespace cc 1686 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698