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

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

Issue 1158433010: Reland: cc: Fix size_t to int truncations in layers/ output/ playback/ quads/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 LayerTreeHostImpl::FrameData frame; 300 LayerTreeHostImpl::FrameData frame;
301 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 301 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
302 302
303 // Each non-DelegatedRendererLayer added one RenderPass. The 303 // Each non-DelegatedRendererLayer added one RenderPass. The
304 // DelegatedRendererLayer added two contributing passes. 304 // DelegatedRendererLayer added two contributing passes.
305 ASSERT_EQ(5u, frame.render_passes.size()); 305 ASSERT_EQ(5u, frame.render_passes.size());
306 306
307 // The DelegatedRendererLayer should have added its contributing RenderPasses 307 // The DelegatedRendererLayer should have added its contributing RenderPasses
308 // to the frame. 308 // to the frame.
309 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id); 309 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id);
310 EXPECT_EQ(1, frame.render_passes[1]->id.index); 310 EXPECT_EQ(1u, frame.render_passes[1]->id.index);
311 EXPECT_EQ(4, frame.render_passes[2]->id.layer_id); 311 EXPECT_EQ(4, frame.render_passes[2]->id.layer_id);
312 EXPECT_EQ(2, frame.render_passes[2]->id.index); 312 EXPECT_EQ(2u, frame.render_passes[2]->id.index);
313 // And all other RenderPasses should be non-delegated. 313 // And all other RenderPasses should be non-delegated.
314 EXPECT_NE(4, frame.render_passes[0]->id.layer_id); 314 EXPECT_NE(4, frame.render_passes[0]->id.layer_id);
315 EXPECT_EQ(0, frame.render_passes[0]->id.index); 315 EXPECT_EQ(0u, frame.render_passes[0]->id.index);
316 EXPECT_NE(4, frame.render_passes[3]->id.layer_id); 316 EXPECT_NE(4, frame.render_passes[3]->id.layer_id);
317 EXPECT_EQ(0, frame.render_passes[3]->id.index); 317 EXPECT_EQ(0u, frame.render_passes[3]->id.index);
318 EXPECT_NE(4, frame.render_passes[4]->id.layer_id); 318 EXPECT_NE(4, frame.render_passes[4]->id.layer_id);
319 EXPECT_EQ(0, frame.render_passes[4]->id.index); 319 EXPECT_EQ(0u, frame.render_passes[4]->id.index);
320 320
321 // The DelegatedRendererLayer should have added its RenderPasses to the frame 321 // The DelegatedRendererLayer should have added its RenderPasses to the frame
322 // in order. 322 // in order.
323 EXPECT_EQ(gfx::Rect(6, 6, 6, 6).ToString(), 323 EXPECT_EQ(gfx::Rect(6, 6, 6, 6).ToString(),
324 frame.render_passes[1]->output_rect.ToString()); 324 frame.render_passes[1]->output_rect.ToString());
325 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(), 325 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(),
326 frame.render_passes[2]->output_rect.ToString()); 326 frame.render_passes[2]->output_rect.ToString());
327 327
328 host_impl_->DrawLayers(&frame); 328 host_impl_->DrawLayers(&frame);
329 host_impl_->DidDrawAllLayers(frame); 329 host_impl_->DidDrawAllLayers(frame);
330 } 330 }
331 331
332 TEST_F(DelegatedRendererLayerImplTestSimple, 332 TEST_F(DelegatedRendererLayerImplTestSimple,
333 AddsQuadsToContributingRenderPasses) { 333 AddsQuadsToContributingRenderPasses) {
334 LayerTreeHostImpl::FrameData frame; 334 LayerTreeHostImpl::FrameData frame;
335 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 335 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
336 336
337 // Each non-DelegatedRendererLayer added one RenderPass. The 337 // Each non-DelegatedRendererLayer added one RenderPass. The
338 // DelegatedRendererLayer added two contributing passes. 338 // DelegatedRendererLayer added two contributing passes.
339 ASSERT_EQ(5u, frame.render_passes.size()); 339 ASSERT_EQ(5u, frame.render_passes.size());
340 340
341 // The DelegatedRendererLayer should have added its contributing RenderPasses 341 // The DelegatedRendererLayer should have added its contributing RenderPasses
342 // to the frame. 342 // to the frame.
343 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id); 343 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id);
344 EXPECT_EQ(1, frame.render_passes[1]->id.index); 344 EXPECT_EQ(1u, frame.render_passes[1]->id.index);
345 EXPECT_EQ(4, frame.render_passes[2]->id.layer_id); 345 EXPECT_EQ(4, frame.render_passes[2]->id.layer_id);
346 EXPECT_EQ(2, frame.render_passes[2]->id.index); 346 EXPECT_EQ(2u, frame.render_passes[2]->id.index);
347 347
348 // The DelegatedRendererLayer should have added copies of its quads to 348 // The DelegatedRendererLayer should have added copies of its quads to
349 // contributing RenderPasses. 349 // contributing RenderPasses.
350 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size()); 350 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size());
351 EXPECT_EQ(gfx::Rect(0, 0, 6, 6).ToString(), 351 EXPECT_EQ(gfx::Rect(0, 0, 6, 6).ToString(),
352 frame.render_passes[1]->quad_list.front()->rect.ToString()); 352 frame.render_passes[1]->quad_list.front()->rect.ToString());
353 353
354 // Verify it added the right quads. 354 // Verify it added the right quads.
355 ASSERT_EQ(2u, frame.render_passes[2]->quad_list.size()); 355 ASSERT_EQ(2u, frame.render_passes[2]->quad_list.size());
356 EXPECT_EQ(gfx::Rect(0, 0, 7, 7).ToString(), 356 EXPECT_EQ(gfx::Rect(0, 0, 7, 7).ToString(),
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
473 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 473 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
474 474
475 // Each non-DelegatedRendererLayer added one RenderPass. The 475 // Each non-DelegatedRendererLayer added one RenderPass. The
476 // DelegatedRendererLayer added two contributing passes and its owned surface 476 // DelegatedRendererLayer added two contributing passes and its owned surface
477 // added one pass. 477 // added one pass.
478 ASSERT_EQ(6u, frame.render_passes.size()); 478 ASSERT_EQ(6u, frame.render_passes.size());
479 479
480 // The DelegatedRendererLayer should have added its contributing RenderPasses 480 // The DelegatedRendererLayer should have added its contributing RenderPasses
481 // to the frame. 481 // to the frame.
482 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id); 482 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id);
483 EXPECT_EQ(1, frame.render_passes[1]->id.index); 483 EXPECT_EQ(1u, frame.render_passes[1]->id.index);
484 EXPECT_EQ(4, frame.render_passes[2]->id.layer_id); 484 EXPECT_EQ(4, frame.render_passes[2]->id.layer_id);
485 EXPECT_EQ(2, frame.render_passes[2]->id.index); 485 EXPECT_EQ(2u, frame.render_passes[2]->id.index);
486 // The DelegatedRendererLayer should have added a RenderPass for its surface 486 // The DelegatedRendererLayer should have added a RenderPass for its surface
487 // to the frame. 487 // to the frame.
488 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id); 488 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id);
489 EXPECT_EQ(0, frame.render_passes[3]->id.index); 489 EXPECT_EQ(0u, frame.render_passes[3]->id.index);
490 // And all other RenderPasses should be non-delegated. 490 // And all other RenderPasses should be non-delegated.
491 EXPECT_NE(4, frame.render_passes[0]->id.layer_id); 491 EXPECT_NE(4, frame.render_passes[0]->id.layer_id);
492 EXPECT_EQ(0, frame.render_passes[0]->id.index); 492 EXPECT_EQ(0u, frame.render_passes[0]->id.index);
493 EXPECT_NE(4, frame.render_passes[4]->id.layer_id); 493 EXPECT_NE(4, frame.render_passes[4]->id.layer_id);
494 EXPECT_EQ(0, frame.render_passes[4]->id.index); 494 EXPECT_EQ(0u, frame.render_passes[4]->id.index);
495 EXPECT_NE(4, frame.render_passes[5]->id.layer_id); 495 EXPECT_NE(4, frame.render_passes[5]->id.layer_id);
496 EXPECT_EQ(0, frame.render_passes[5]->id.index); 496 EXPECT_EQ(0u, frame.render_passes[5]->id.index);
497 497
498 // The DelegatedRendererLayer should have added its RenderPasses to the frame 498 // The DelegatedRendererLayer should have added its RenderPasses to the frame
499 // in order. 499 // in order.
500 EXPECT_EQ(gfx::Rect(6, 6, 6, 6).ToString(), 500 EXPECT_EQ(gfx::Rect(6, 6, 6, 6).ToString(),
501 frame.render_passes[1]->output_rect.ToString()); 501 frame.render_passes[1]->output_rect.ToString());
502 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(), 502 EXPECT_EQ(gfx::Rect(7, 7, 7, 7).ToString(),
503 frame.render_passes[2]->output_rect.ToString()); 503 frame.render_passes[2]->output_rect.ToString());
504 504
505 host_impl_->DrawLayers(&frame); 505 host_impl_->DrawLayers(&frame);
506 host_impl_->DidDrawAllLayers(frame); 506 host_impl_->DidDrawAllLayers(frame);
507 } 507 }
508 508
509 TEST_F(DelegatedRendererLayerImplTestOwnSurface, 509 TEST_F(DelegatedRendererLayerImplTestOwnSurface,
510 AddsQuadsToContributingRenderPasses) { 510 AddsQuadsToContributingRenderPasses) {
511 LayerTreeHostImpl::FrameData frame; 511 LayerTreeHostImpl::FrameData frame;
512 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame)); 512 EXPECT_EQ(DRAW_SUCCESS, host_impl_->PrepareToDraw(&frame));
513 513
514 // Each non-DelegatedRendererLayer added one RenderPass. The 514 // Each non-DelegatedRendererLayer added one RenderPass. The
515 // DelegatedRendererLayer added two contributing passes and its owned surface 515 // DelegatedRendererLayer added two contributing passes and its owned surface
516 // added one pass. 516 // added one pass.
517 ASSERT_EQ(6u, frame.render_passes.size()); 517 ASSERT_EQ(6u, frame.render_passes.size());
518 518
519 // The DelegatedRendererLayer should have added its contributing RenderPasses 519 // The DelegatedRendererLayer should have added its contributing RenderPasses
520 // to the frame. 520 // to the frame.
521 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id); 521 EXPECT_EQ(4, frame.render_passes[1]->id.layer_id);
522 EXPECT_EQ(1, frame.render_passes[1]->id.index); 522 EXPECT_EQ(1u, frame.render_passes[1]->id.index);
523 EXPECT_EQ(4, frame.render_passes[2]->id.layer_id); 523 EXPECT_EQ(4, frame.render_passes[2]->id.layer_id);
524 EXPECT_EQ(2, frame.render_passes[2]->id.index); 524 EXPECT_EQ(2u, frame.render_passes[2]->id.index);
525 525
526 // The DelegatedRendererLayer should have added copies of its quads to 526 // The DelegatedRendererLayer should have added copies of its quads to
527 // contributing RenderPasses. 527 // contributing RenderPasses.
528 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size()); 528 ASSERT_EQ(1u, frame.render_passes[1]->quad_list.size());
529 EXPECT_EQ(gfx::Rect(0, 0, 6, 6).ToString(), 529 EXPECT_EQ(gfx::Rect(0, 0, 6, 6).ToString(),
530 frame.render_passes[1]->quad_list.front()->rect.ToString()); 530 frame.render_passes[1]->quad_list.front()->rect.ToString());
531 531
532 // Verify it added the right quads. 532 // Verify it added the right quads.
533 ASSERT_EQ(2u, frame.render_passes[2]->quad_list.size()); 533 ASSERT_EQ(2u, frame.render_passes[2]->quad_list.size());
534 534
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 } 748 }
749 749
750 void VerifyRenderPasses( 750 void VerifyRenderPasses(
751 const LayerTreeHostImpl::FrameData& frame, 751 const LayerTreeHostImpl::FrameData& frame,
752 size_t num_render_passes, 752 size_t num_render_passes,
753 const SharedQuadState** root_delegated_shared_quad_state, 753 const SharedQuadState** root_delegated_shared_quad_state,
754 const SharedQuadState** contrib_delegated_shared_quad_state) { 754 const SharedQuadState** contrib_delegated_shared_quad_state) {
755 ASSERT_EQ(num_render_passes, frame.render_passes.size()); 755 ASSERT_EQ(num_render_passes, frame.render_passes.size());
756 // The contributing render pass in the DelegatedRendererLayer. 756 // The contributing render pass in the DelegatedRendererLayer.
757 EXPECT_EQ(2, frame.render_passes[0]->id.layer_id); 757 EXPECT_EQ(2, frame.render_passes[0]->id.layer_id);
758 EXPECT_EQ(1, frame.render_passes[0]->id.index); 758 EXPECT_EQ(1u, frame.render_passes[0]->id.index);
759 // The root render pass. 759 // The root render pass.
760 EXPECT_EQ(1, frame.render_passes.back()->id.layer_id); 760 EXPECT_EQ(1, frame.render_passes.back()->id.layer_id);
761 EXPECT_EQ(0, frame.render_passes.back()->id.index); 761 EXPECT_EQ(0u, frame.render_passes.back()->id.index);
762 762
763 const QuadList& contrib_delegated_quad_list = 763 const QuadList& contrib_delegated_quad_list =
764 frame.render_passes[0]->quad_list; 764 frame.render_passes[0]->quad_list;
765 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 765 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
766 766
767 const QuadList& root_delegated_quad_list = 767 const QuadList& root_delegated_quad_list =
768 frame.render_passes[1]->quad_list; 768 frame.render_passes[1]->quad_list;
769 ASSERT_EQ(5u, root_delegated_quad_list.size()); 769 ASSERT_EQ(5u, root_delegated_quad_list.size());
770 770
771 // All quads in a render pass should share the same state. 771 // All quads in a render pass should share the same state.
(...skipping 921 matching lines...) Expand 10 before | Expand all | Expand 10 after
1693 scoped_ptr<DelegatedRendererLayerImpl> other_layer = 1693 scoped_ptr<DelegatedRendererLayerImpl> other_layer =
1694 DelegatedRendererLayerImpl::Create(host_impl_->active_tree(), 6); 1694 DelegatedRendererLayerImpl::Create(host_impl_->active_tree(), 6);
1695 1695
1696 delegated_renderer_layer_impl->PushPropertiesTo(other_layer.get()); 1696 delegated_renderer_layer_impl->PushPropertiesTo(other_layer.get());
1697 1697
1698 EXPECT_EQ(0.5f, other_layer->inverse_device_scale_factor()); 1698 EXPECT_EQ(0.5f, other_layer->inverse_device_scale_factor());
1699 } 1699 }
1700 1700
1701 } // namespace 1701 } // namespace
1702 } // namespace cc 1702 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698