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

Side by Side Diff: content/common/cc_messages_unittest.cc

Issue 448303002: Use custom ListContainer to allocate DrawQuads (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@perftest
Patch Set: fix win trybot compile error Created 6 years, 3 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "content/common/cc_messages.h" 5 #include "content/common/cc_messages.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 yuvvideo_in->shared_quad_state); 470 yuvvideo_in->shared_quad_state);
471 471
472 // Make sure the in and cmp RenderPasses match. 472 // Make sure the in and cmp RenderPasses match.
473 Compare(pass_cmp.get(), pass_in.get()); 473 Compare(pass_cmp.get(), pass_in.get());
474 ASSERT_EQ(3u, pass_in->shared_quad_state_list.size()); 474 ASSERT_EQ(3u, pass_in->shared_quad_state_list.size());
475 ASSERT_EQ(10u, pass_in->quad_list.size()); 475 ASSERT_EQ(10u, pass_in->quad_list.size());
476 for (size_t i = 0; i < 3; ++i) { 476 for (size_t i = 0; i < 3; ++i) {
477 Compare(pass_cmp->shared_quad_state_list[i], 477 Compare(pass_cmp->shared_quad_state_list[i],
478 pass_in->shared_quad_state_list[i]); 478 pass_in->shared_quad_state_list[i]);
479 } 479 }
480 for (size_t i = 0; i < pass_in->quad_list.size(); ++i) 480 for (cc::QuadList::Iterator in_iter = pass_in->quad_list.begin(),
481 Compare(pass_cmp->quad_list[i], pass_in->quad_list[i]); 481 cmp_iter = pass_cmp->quad_list.begin();
482 for (size_t i = 1; i < pass_in->quad_list.size(); ++i) { 482 in_iter != pass_in->quad_list.end();
483 bool same_shared_quad_state_cmp = 483 ++in_iter, ++cmp_iter)
484 pass_cmp->quad_list[i]->shared_quad_state == 484 Compare(&*cmp_iter, &*in_iter);
485 pass_cmp->quad_list[i - 1]->shared_quad_state; 485
486 bool same_shared_quad_state_in = 486 cc::QuadList::Iterator in_iter_next = pass_in->quad_list.begin();
487 pass_in->quad_list[i]->shared_quad_state == 487 ++in_iter_next;
488 pass_in->quad_list[i - 1]->shared_quad_state; 488 cc::QuadList::Iterator cmp_iter_next = pass_cmp->quad_list.begin();
489 EXPECT_EQ(same_shared_quad_state_cmp, same_shared_quad_state_in); 489 ++cmp_iter_next;
490 for (cc::QuadList::Iterator in_iter = pass_in->quad_list.begin(),
491 cmp_iter = pass_cmp->quad_list.begin();
492 in_iter_next != pass_in->quad_list.end();
493 ++in_iter, ++cmp_iter, ++in_iter_next, ++cmp_iter_next) {
494 if (in_iter_next != pass_in->quad_list.end()) {
danakj 2014/09/23 17:59:38 Can you do this without managing 2 sets of 2 itera
weiliangc 2014/09/24 20:14:35 Done with using at(). I was thinking every time a
495 bool same_shared_quad_state_cmp =
496 in_iter->shared_quad_state == in_iter_next->shared_quad_state;
497 bool same_shared_quad_state_in =
498 cmp_iter->shared_quad_state == cmp_iter_next->shared_quad_state;
499 EXPECT_EQ(same_shared_quad_state_cmp, same_shared_quad_state_in);
500 }
490 } 501 }
491 502
492 DelegatedFrameData frame_in; 503 DelegatedFrameData frame_in;
493 frame_in.render_pass_list.push_back(pass_in.Pass()); 504 frame_in.render_pass_list.push_back(pass_in.Pass());
494 505
495 IPC::ParamTraits<DelegatedFrameData>::Write(&msg, frame_in); 506 IPC::ParamTraits<DelegatedFrameData>::Write(&msg, frame_in);
496 507
497 DelegatedFrameData frame_out; 508 DelegatedFrameData frame_out;
498 PickleIterator iter(msg); 509 PickleIterator iter(msg);
499 EXPECT_TRUE(IPC::ParamTraits<DelegatedFrameData>::Read(&msg, 510 EXPECT_TRUE(IPC::ParamTraits<DelegatedFrameData>::Read(&msg,
500 &iter, &frame_out)); 511 &iter, &frame_out));
501 512
502 // Make sure the out and cmp RenderPasses match. 513 // Make sure the out and cmp RenderPasses match.
503 scoped_ptr<RenderPass> pass_out = frame_out.render_pass_list.take( 514 scoped_ptr<RenderPass> pass_out = frame_out.render_pass_list.take(
504 frame_out.render_pass_list.begin()); 515 frame_out.render_pass_list.begin());
505 Compare(pass_cmp.get(), pass_out.get()); 516 Compare(pass_cmp.get(), pass_out.get());
506 ASSERT_EQ(3u, pass_out->shared_quad_state_list.size()); 517 ASSERT_EQ(3u, pass_out->shared_quad_state_list.size());
507 ASSERT_EQ(10u, pass_out->quad_list.size()); 518 ASSERT_EQ(10u, pass_out->quad_list.size());
508 for (size_t i = 0; i < 3; ++i) { 519 for (size_t i = 0; i < 3; ++i) {
509 Compare(pass_cmp->shared_quad_state_list[i], 520 Compare(pass_cmp->shared_quad_state_list[i],
510 pass_out->shared_quad_state_list[i]); 521 pass_out->shared_quad_state_list[i]);
511 } 522 }
512 for (size_t i = 0; i < pass_out->quad_list.size(); ++i) 523 for (cc::QuadList::Iterator out_iter = pass_out->quad_list.begin(),
513 Compare(pass_cmp->quad_list[i], pass_out->quad_list[i]); 524 cmp_iter = pass_cmp->quad_list.begin();
514 for (size_t i = 1; i < pass_out->quad_list.size(); ++i) { 525 out_iter != pass_out->quad_list.end();
515 bool same_shared_quad_state_cmp = 526 ++out_iter, ++cmp_iter)
516 pass_cmp->quad_list[i]->shared_quad_state == 527 Compare(&*cmp_iter, &*out_iter);
517 pass_cmp->quad_list[i - 1]->shared_quad_state; 528
518 bool same_shared_quad_state_out = 529 cc::QuadList::Iterator out_iter_next = pass_out->quad_list.begin();
519 pass_out->quad_list[i]->shared_quad_state == 530 ++out_iter_next;
520 pass_out->quad_list[i - 1]->shared_quad_state; 531 cmp_iter_next = pass_cmp->quad_list.begin();
521 EXPECT_EQ(same_shared_quad_state_cmp, same_shared_quad_state_out); 532 ++cmp_iter_next;
533 for (cc::QuadList::Iterator out_iter = pass_out->quad_list.begin(),
534 cmp_iter = pass_cmp->quad_list.begin();
535 out_iter_next != pass_out->quad_list.end();
536 ++out_iter, ++cmp_iter, ++out_iter_next, ++cmp_iter_next) {
537 if (out_iter_next != pass_out->quad_list.end()) {
538 bool same_shared_quad_state_cmp =
539 out_iter->shared_quad_state == out_iter_next->shared_quad_state;
540 bool same_shared_quad_state_out =
541 cmp_iter->shared_quad_state == cmp_iter_next->shared_quad_state;
542 EXPECT_EQ(same_shared_quad_state_cmp, same_shared_quad_state_out);
543 }
522 } 544 }
523 } 545 }
524 546
525 TEST_F(CCMessagesTest, UnusedSharedQuadStates) { 547 TEST_F(CCMessagesTest, UnusedSharedQuadStates) {
526 scoped_ptr<RenderPass> pass_in = RenderPass::Create(); 548 scoped_ptr<RenderPass> pass_in = RenderPass::Create();
527 pass_in->SetAll(RenderPassId(1, 1), 549 pass_in->SetAll(RenderPassId(1, 1),
528 gfx::Rect(100, 100), 550 gfx::Rect(100, 100),
529 gfx::Rect(), 551 gfx::Rect(),
530 gfx::Transform(), 552 gfx::Transform(),
531 false); 553 false);
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 SoftwareFrameData frame_out; 770 SoftwareFrameData frame_out;
749 PickleIterator iter(msg); 771 PickleIterator iter(msg);
750 EXPECT_EQ( 772 EXPECT_EQ(
751 expect_read, 773 expect_read,
752 IPC::ParamTraits<SoftwareFrameData>::Read(&msg, &iter, &frame_out)); 774 IPC::ParamTraits<SoftwareFrameData>::Read(&msg, &iter, &frame_out));
753 } 775 }
754 } 776 }
755 777
756 } // namespace 778 } // namespace
757 } // namespace content 779 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698