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

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: Initialized is_clipped_ 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
« no previous file with comments | « no previous file | cc/layers/draw_properties.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1232 matching lines...) Expand 10 before | Expand all | Expand 10 after
1243 host_impl_->DidDrawAllLayers(frame); 1243 host_impl_->DidDrawAllLayers(frame);
1244 } 1244 }
1245 1245
1246 TEST_F(DelegatedRendererLayerImplTestClip, 1246 TEST_F(DelegatedRendererLayerImplTestClip,
1247 QuadsUnclipped_LayerClipped_NoSurface) { 1247 QuadsUnclipped_LayerClipped_NoSurface) {
1248 root_delegated_render_pass_is_clipped_ = false; 1248 root_delegated_render_pass_is_clipped_ = false;
1249 clip_delegated_renderer_layer_ = true; 1249 clip_delegated_renderer_layer_ = true;
1250 SetUpTest(); 1250 SetUpTest();
1251 1251
1252 LayerTreeHostImpl::FrameData frame; 1252 LayerTreeHostImpl::FrameData frame;
1253 host_impl_->active_tree()->BuildPropertyTreesForTesting();
1253 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 1254 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
1254 1255
1255 ASSERT_EQ(2u, frame.render_passes.size()); 1256 ASSERT_EQ(2u, frame.render_passes.size());
1256 const QuadList& contrib_delegated_quad_list = 1257 const QuadList& contrib_delegated_quad_list =
1257 frame.render_passes[0]->quad_list; 1258 frame.render_passes[0]->quad_list;
1258 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1259 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1259 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; 1260 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list;
1260 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1261 ASSERT_EQ(5u, root_delegated_quad_list.size());
1261 const SharedQuadState* root_delegated_shared_quad_state = 1262 const SharedQuadState* root_delegated_shared_quad_state =
1262 root_delegated_quad_list.front()->shared_quad_state; 1263 root_delegated_quad_list.front()->shared_quad_state;
(...skipping 10 matching lines...) Expand all
1273 host_impl_->DidDrawAllLayers(frame); 1274 host_impl_->DidDrawAllLayers(frame);
1274 } 1275 }
1275 1276
1276 TEST_F(DelegatedRendererLayerImplTestClip, 1277 TEST_F(DelegatedRendererLayerImplTestClip,
1277 QuadsClipped_LayerClipped_NoSurface) { 1278 QuadsClipped_LayerClipped_NoSurface) {
1278 root_delegated_render_pass_is_clipped_ = true; 1279 root_delegated_render_pass_is_clipped_ = true;
1279 clip_delegated_renderer_layer_ = true; 1280 clip_delegated_renderer_layer_ = true;
1280 SetUpTest(); 1281 SetUpTest();
1281 1282
1282 LayerTreeHostImpl::FrameData frame; 1283 LayerTreeHostImpl::FrameData frame;
1284 host_impl_->active_tree()->BuildPropertyTreesForTesting();
1283 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 1285 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
1284 1286
1285 ASSERT_EQ(2u, frame.render_passes.size()); 1287 ASSERT_EQ(2u, frame.render_passes.size());
1286 const QuadList& contrib_delegated_quad_list = 1288 const QuadList& contrib_delegated_quad_list =
1287 frame.render_passes[0]->quad_list; 1289 frame.render_passes[0]->quad_list;
1288 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1290 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1289 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; 1291 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list;
1290 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1292 ASSERT_EQ(5u, root_delegated_quad_list.size());
1291 const SharedQuadState* root_delegated_shared_quad_state = 1293 const SharedQuadState* root_delegated_shared_quad_state =
1292 root_delegated_quad_list.front()->shared_quad_state; 1294 root_delegated_quad_list.front()->shared_quad_state;
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
1363 1365
1364 TEST_F(DelegatedRendererLayerImplTestClip, 1366 TEST_F(DelegatedRendererLayerImplTestClip,
1365 QuadsUnclipped_LayerClipped_Surface) { 1367 QuadsUnclipped_LayerClipped_Surface) {
1366 root_delegated_render_pass_is_clipped_ = false; 1368 root_delegated_render_pass_is_clipped_ = false;
1367 clip_delegated_renderer_layer_ = true; 1369 clip_delegated_renderer_layer_ = true;
1368 SetUpTest(); 1370 SetUpTest();
1369 1371
1370 delegated_renderer_layer_->SetHasRenderSurface(true); 1372 delegated_renderer_layer_->SetHasRenderSurface(true);
1371 1373
1372 LayerTreeHostImpl::FrameData frame; 1374 LayerTreeHostImpl::FrameData frame;
1375 host_impl_->active_tree()->BuildPropertyTreesForTesting();
1373 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 1376 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
1374 1377
1375 ASSERT_EQ(3u, frame.render_passes.size()); 1378 ASSERT_EQ(3u, frame.render_passes.size());
1376 const QuadList& contrib_delegated_quad_list = 1379 const QuadList& contrib_delegated_quad_list =
1377 frame.render_passes[0]->quad_list; 1380 frame.render_passes[0]->quad_list;
1378 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1381 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1379 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; 1382 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list;
1380 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1383 ASSERT_EQ(5u, root_delegated_quad_list.size());
1381 const SharedQuadState* root_delegated_shared_quad_state = 1384 const SharedQuadState* root_delegated_shared_quad_state =
1382 root_delegated_quad_list.front()->shared_quad_state; 1385 root_delegated_quad_list.front()->shared_quad_state;
1383 1386
1384 // When the layer owns a surface, the quads don't need to be clipped 1387 // 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 1388 // further than they already specify. If they aren't clipped, then their
1386 // clip rect is ignored, and they are not set as clipped. 1389 // clip rect is ignored, and they are not set as clipped.
1387 EXPECT_FALSE(root_delegated_shared_quad_state->is_clipped); 1390 EXPECT_FALSE(root_delegated_shared_quad_state->is_clipped);
1388 1391
1389 host_impl_->DrawLayers(&frame); 1392 host_impl_->DrawLayers(&frame);
1390 host_impl_->DidDrawAllLayers(frame); 1393 host_impl_->DidDrawAllLayers(frame);
1391 } 1394 }
1392 1395
1393 TEST_F(DelegatedRendererLayerImplTestClip, QuadsClipped_LayerClipped_Surface) { 1396 TEST_F(DelegatedRendererLayerImplTestClip, QuadsClipped_LayerClipped_Surface) {
1394 root_delegated_render_pass_is_clipped_ = true; 1397 root_delegated_render_pass_is_clipped_ = true;
1395 clip_delegated_renderer_layer_ = true; 1398 clip_delegated_renderer_layer_ = true;
1396 SetUpTest(); 1399 SetUpTest();
1397 1400
1398 delegated_renderer_layer_->SetHasRenderSurface(true); 1401 delegated_renderer_layer_->SetHasRenderSurface(true);
1399 1402
1400 LayerTreeHostImpl::FrameData frame; 1403 LayerTreeHostImpl::FrameData frame;
1404 host_impl_->active_tree()->BuildPropertyTreesForTesting();
1401 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 1405 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
1402 1406
1403 ASSERT_EQ(3u, frame.render_passes.size()); 1407 ASSERT_EQ(3u, frame.render_passes.size());
1404 const QuadList& contrib_delegated_quad_list = 1408 const QuadList& contrib_delegated_quad_list =
1405 frame.render_passes[0]->quad_list; 1409 frame.render_passes[0]->quad_list;
1406 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1410 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1407 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list; 1411 const QuadList& root_delegated_quad_list = frame.render_passes[1]->quad_list;
1408 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1412 ASSERT_EQ(5u, root_delegated_quad_list.size());
1409 const SharedQuadState* root_delegated_shared_quad_state = 1413 const SharedQuadState* root_delegated_shared_quad_state =
1410 root_delegated_quad_list.front()->shared_quad_state; 1414 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 = 1678 scoped_ptr<DelegatedRendererLayerImpl> other_layer =
1675 DelegatedRendererLayerImpl::Create(host_impl_->active_tree(), 6); 1679 DelegatedRendererLayerImpl::Create(host_impl_->active_tree(), 6);
1676 1680
1677 delegated_renderer_layer_impl->PushPropertiesTo(other_layer.get()); 1681 delegated_renderer_layer_impl->PushPropertiesTo(other_layer.get());
1678 1682
1679 EXPECT_EQ(0.5f, other_layer->inverse_device_scale_factor()); 1683 EXPECT_EQ(0.5f, other_layer->inverse_device_scale_factor());
1680 } 1684 }
1681 1685
1682 } // namespace 1686 } // namespace
1683 } // namespace cc 1687 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/layers/draw_properties.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698