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

Side by Side Diff: cc/output/overlay_unittest.cc

Issue 1380653003: Mac Overlays: Allow SolidColor and Tile quads to be candidates for overlays. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@AllOrNothing2
Patch Set: Created 5 years, 2 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 | « cc/output/overlay_strategy_underlay.cc ('k') | cc/resources/resource_provider.cc » ('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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/base/region.h" 5 #include "cc/base/region.h"
6 #include "cc/base/scoped_ptr_vector.h" 6 #include "cc/base/scoped_ptr_vector.h"
7 #include "cc/output/compositor_frame_metadata.h" 7 #include "cc/output/compositor_frame_metadata.h"
8 #include "cc/output/gl_renderer.h" 8 #include "cc/output/gl_renderer.h"
9 #include "cc/output/output_surface.h" 9 #include "cc/output/output_surface.h"
10 #include "cc/output/output_surface_client.h" 10 #include "cc/output/output_surface_client.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 BlockingTaskRunner* main_thread_task_runner) { 58 BlockingTaskRunner* main_thread_task_runner) {
59 } 59 }
60 60
61 class SingleOverlayValidator : public OverlayCandidateValidator { 61 class SingleOverlayValidator : public OverlayCandidateValidator {
62 public: 62 public:
63 void GetStrategies(OverlayProcessor::StrategyList* strategies) override { 63 void GetStrategies(OverlayProcessor::StrategyList* strategies) override {
64 strategies->push_back( 64 strategies->push_back(
65 make_scoped_ptr(new OverlayStrategySingleOnTop(this))); 65 make_scoped_ptr(new OverlayStrategySingleOnTop(this)));
66 strategies->push_back(make_scoped_ptr(new OverlayStrategyUnderlay(this))); 66 strategies->push_back(make_scoped_ptr(new OverlayStrategyUnderlay(this)));
67 } 67 }
68 bool IsSupportedQuad(const DrawQuad* quad) override { return true; }
68 void CheckOverlaySupport(OverlayCandidateList* surfaces) override { 69 void CheckOverlaySupport(OverlayCandidateList* surfaces) override {
69 // We may have 1 or 2 surfaces depending on whether this ran through the 70 // We may have 1 or 2 surfaces depending on whether this ran through the
70 // full renderer and picked up the output surface, or not. 71 // full renderer and picked up the output surface, or not.
71 ASSERT_LE(1U, surfaces->size()); 72 ASSERT_LE(1U, surfaces->size());
72 ASSERT_GE(2U, surfaces->size()); 73 ASSERT_GE(2U, surfaces->size());
73 74
74 OverlayCandidate& candidate = surfaces->back(); 75 OverlayCandidate& candidate = surfaces->back();
75 EXPECT_TRUE(!candidate.use_output_surface_for_resource); 76 EXPECT_EQ(OverlayCandidate::HAS_RESOURCE, candidate.resource_type);
76 if (candidate.display_rect.width() == 64) { 77 if (candidate.display_rect.width() == 64) {
77 EXPECT_EQ(gfx::RectF(kOverlayBottomRightRect), candidate.display_rect); 78 EXPECT_EQ(gfx::RectF(kOverlayBottomRightRect), candidate.display_rect);
78 } else { 79 } else {
79 EXPECT_NEAR(kOverlayRect.x(), candidate.display_rect.x(), 0.01f); 80 EXPECT_NEAR(kOverlayRect.x(), candidate.display_rect.x(), 0.01f);
80 EXPECT_NEAR(kOverlayRect.y(), candidate.display_rect.y(), 0.01f); 81 EXPECT_NEAR(kOverlayRect.y(), candidate.display_rect.y(), 0.01f);
81 EXPECT_NEAR(kOverlayRect.width(), candidate.display_rect.width(), 0.01f); 82 EXPECT_NEAR(kOverlayRect.width(), candidate.display_rect.width(), 0.01f);
82 EXPECT_NEAR(kOverlayRect.height(), candidate.display_rect.height(), 83 EXPECT_NEAR(kOverlayRect.height(), candidate.display_rect.height(),
83 0.01f); 84 0.01f);
84 } 85 }
85 EXPECT_FLOAT_RECT_EQ(BoundingRect(kUVTopLeft, kUVBottomRight), 86 EXPECT_FLOAT_RECT_EQ(BoundingRect(kUVTopLeft, kUVBottomRight),
(...skipping 19 matching lines...) Expand all
105 void GetStrategies(OverlayProcessor::StrategyList* strategies) override { 106 void GetStrategies(OverlayProcessor::StrategyList* strategies) override {
106 strategies->push_back(make_scoped_ptr(new OverlayStrategyUnderlay(this))); 107 strategies->push_back(make_scoped_ptr(new OverlayStrategyUnderlay(this)));
107 } 108 }
108 }; 109 };
109 110
110 class SandwichOverlayValidator : public OverlayCandidateValidator { 111 class SandwichOverlayValidator : public OverlayCandidateValidator {
111 public: 112 public:
112 void GetStrategies(OverlayProcessor::StrategyList* strategies) override { 113 void GetStrategies(OverlayProcessor::StrategyList* strategies) override {
113 strategies->push_back(make_scoped_ptr(new OverlayStrategySandwich(this))); 114 strategies->push_back(make_scoped_ptr(new OverlayStrategySandwich(this)));
114 } 115 }
116 bool IsSupportedQuad(const DrawQuad* quad) override { return true; }
115 void CheckOverlaySupport(OverlayCandidateList* surfaces) override { 117 void CheckOverlaySupport(OverlayCandidateList* surfaces) override {
116 for (OverlayCandidate& candidate : *surfaces) 118 for (OverlayCandidate& candidate : *surfaces)
117 candidate.overlay_handled = true; 119 candidate.overlay_handled = true;
118 } 120 }
119 }; 121 };
120 122
121 class AllOrNothingOverlayValidator : public OverlayCandidateValidator { 123 class AllOrNothingOverlayValidator : public OverlayCandidateValidator {
122 public: 124 public:
123 void GetStrategies(OverlayProcessor::StrategyList* strategies) override { 125 void GetStrategies(OverlayProcessor::StrategyList* strategies) override {
124 strategies->push_back( 126 strategies->push_back(
125 make_scoped_ptr(new OverlayStrategyAllOrNothing(this))); 127 make_scoped_ptr(new OverlayStrategyAllOrNothing(this)));
126 } 128 }
129 bool IsSupportedQuad(const DrawQuad* quad) override { return true; }
127 void CheckOverlaySupport(OverlayCandidateList* surfaces) override { 130 void CheckOverlaySupport(OverlayCandidateList* surfaces) override {
128 for (OverlayCandidate& candidate : *surfaces) 131 for (OverlayCandidate& candidate : *surfaces)
129 candidate.overlay_handled = true; 132 candidate.overlay_handled = true;
130 } 133 }
131 }; 134 };
132 135
133 class DefaultOverlayProcessor : public OverlayProcessor { 136 class DefaultOverlayProcessor : public OverlayProcessor {
134 public: 137 public:
135 explicit DefaultOverlayProcessor(OutputSurface* surface); 138 explicit DefaultOverlayProcessor(OutputSurface* surface);
136 size_t GetStrategyCount(); 139 size_t GetStrategyCount();
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 RenderPass* main_pass = pass_list.back(); 430 RenderPass* main_pass = pass_list.back();
428 // Check that the quad is gone. 431 // Check that the quad is gone.
429 EXPECT_EQ(2U, main_pass->quad_list.size()); 432 EXPECT_EQ(2U, main_pass->quad_list.size());
430 const QuadList& quad_list = main_pass->quad_list; 433 const QuadList& quad_list = main_pass->quad_list;
431 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); 434 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin();
432 it != quad_list.BackToFrontEnd(); ++it) { 435 it != quad_list.BackToFrontEnd(); ++it) {
433 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material); 436 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material);
434 } 437 }
435 438
436 // Check that the right resource id got extracted. 439 // Check that the right resource id got extracted.
437 EXPECT_EQ(original_resource_id, candidate_list.back().resource_id); 440 EXPECT_EQ(original_resource_id, candidate_list.back().resource.resource_id);
438 } 441 }
439 442
440 TEST_F(SandwichTest, CroppedSingleOverlay) { 443 TEST_F(SandwichTest, CroppedSingleOverlay) {
441 scoped_ptr<RenderPass> pass = CreateRenderPass(); 444 scoped_ptr<RenderPass> pass = CreateRenderPass();
442 pass->shared_quad_state_list.back()->is_clipped = true; 445 pass->shared_quad_state_list.back()->is_clipped = true;
443 pass->shared_quad_state_list.back()->clip_rect = gfx::Rect(0, 32, 64, 64); 446 pass->shared_quad_state_list.back()->clip_rect = gfx::Rect(0, 32, 64, 64);
444 447
445 TextureDrawQuad* original_quad = CreateFullscreenCandidateQuad( 448 TextureDrawQuad* original_quad = CreateFullscreenCandidateQuad(
446 resource_provider_.get(), pass->shared_quad_state_list.back(), 449 resource_provider_.get(), pass->shared_quad_state_list.back(),
447 pass.get()); 450 pass.get());
(...skipping 11 matching lines...) Expand all
459 pass_list.push_back(pass.Pass()); 462 pass_list.push_back(pass.Pass());
460 463
461 // Check for potential candidates. 464 // Check for potential candidates.
462 OverlayCandidateList candidate_list; 465 OverlayCandidateList candidate_list;
463 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list, 466 overlay_processor_->ProcessForOverlays(resource_provider_.get(), &pass_list,
464 &candidate_list); 467 &candidate_list);
465 468
466 // Ensure that the display and uv rects have cropping applied to them. 469 // Ensure that the display and uv rects have cropping applied to them.
467 ASSERT_EQ(1U, pass_list.size()); 470 ASSERT_EQ(1U, pass_list.size());
468 ASSERT_EQ(1U, candidate_list.size()); 471 ASSERT_EQ(1U, candidate_list.size());
469 EXPECT_EQ(candidate_id, candidate_list[0].resource_id); 472 EXPECT_EQ(candidate_id, candidate_list[0].resource.resource_id);
470 EXPECT_EQ(gfx::RectF(0.f, 32.f, 64.f, 64.f), candidate_list[0].display_rect); 473 EXPECT_EQ(gfx::RectF(0.f, 32.f, 64.f, 64.f), candidate_list[0].display_rect);
471 EXPECT_EQ(gfx::RectF(0.f, 0.25f, 0.5f, 0.5f), candidate_list[0].uv_rect); 474 EXPECT_EQ(gfx::RectF(0.f, 0.25f, 0.5f, 0.5f), candidate_list[0].uv_rect);
472 } 475 }
473 476
474 TEST_F(SandwichTest, SuccessfulTwoOverlays) { 477 TEST_F(SandwichTest, SuccessfulTwoOverlays) {
475 scoped_ptr<RenderPass> pass = CreateRenderPass(); 478 scoped_ptr<RenderPass> pass = CreateRenderPass();
476 479
477 // Add two non-overlapping candidates. 480 // Add two non-overlapping candidates.
478 CreateCandidateQuadAt(resource_provider_.get(), 481 CreateCandidateQuadAt(resource_provider_.get(),
479 pass->shared_quad_state_list.back(), pass.get(), 482 pass->shared_quad_state_list.back(), pass.get(),
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 569
567 RenderPass* main_pass = pass_list.back(); 570 RenderPass* main_pass = pass_list.back();
568 // Check that the quad is gone. 571 // Check that the quad is gone.
569 EXPECT_EQ(3U, main_pass->quad_list.size()); 572 EXPECT_EQ(3U, main_pass->quad_list.size());
570 const QuadList& quad_list = main_pass->quad_list; 573 const QuadList& quad_list = main_pass->quad_list;
571 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); 574 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin();
572 it != quad_list.BackToFrontEnd(); ++it) { 575 it != quad_list.BackToFrontEnd(); ++it) {
573 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material); 576 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material);
574 } 577 }
575 578
576 EXPECT_EQ(candidate_id, candidate_list[0].resource_id); 579 EXPECT_EQ(candidate_id, candidate_list[0].resource.resource_id);
577 EXPECT_EQ(gfx::RectF(32.f, 32.f, 32.f, 32.f), candidate_list[0].display_rect); 580 EXPECT_EQ(gfx::RectF(32.f, 32.f, 32.f, 32.f), candidate_list[0].display_rect);
578 EXPECT_TRUE(candidate_list[1].use_output_surface_for_resource); 581 EXPECT_EQ(OverlayCandidate::USE_OUTPUT_SURFACE,
582 candidate_list[1].resource_type);
579 EXPECT_EQ(gfx::RectF(32.f, 32.f, 16.f, 16.f), candidate_list[1].display_rect); 583 EXPECT_EQ(gfx::RectF(32.f, 32.f, 16.f, 16.f), candidate_list[1].display_rect);
580 EXPECT_EQ(gfx::RectF(32.f / 256.f, 32.f / 256.f, 16.f / 256.f, 16.f / 256.f), 584 EXPECT_EQ(gfx::RectF(32.f / 256.f, 32.f / 256.f, 16.f / 256.f, 16.f / 256.f),
581 candidate_list[1].uv_rect); 585 candidate_list[1].uv_rect);
582 } 586 }
583 587
584 TEST_F(SandwichTest, MultiQuadOverlay) { 588 TEST_F(SandwichTest, MultiQuadOverlay) {
585 scoped_ptr<RenderPass> pass = CreateRenderPass(); 589 scoped_ptr<RenderPass> pass = CreateRenderPass();
586 590
587 // Put two non-intersecting quads on top. 591 // Put two non-intersecting quads on top.
588 const gfx::Rect rect1(gfx::Rect(0, 0, 32, 32)); 592 const gfx::Rect rect1(gfx::Rect(0, 0, 32, 32));
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
630 if (it->material == DrawQuad::SOLID_COLOR) { 634 if (it->material == DrawQuad::SOLID_COLOR) {
631 const SolidColorDrawQuad* solid_color_quad = 635 const SolidColorDrawQuad* solid_color_quad =
632 SolidColorDrawQuad::MaterialCast(*it); 636 SolidColorDrawQuad::MaterialCast(*it);
633 if (solid_color_quad->color == SK_ColorTRANSPARENT) 637 if (solid_color_quad->color == SK_ColorTRANSPARENT)
634 transparent_quad_region.Union(solid_color_quad->rect); 638 transparent_quad_region.Union(solid_color_quad->rect);
635 } 639 }
636 } 640 }
637 DCHECK(covered_region == transparent_quad_region); 641 DCHECK(covered_region == transparent_quad_region);
638 642
639 // Check that overlays cover the same region that the quads covered. 643 // Check that overlays cover the same region that the quads covered.
640 EXPECT_EQ(candidate_id, candidate_list[0].resource_id); 644 EXPECT_EQ(candidate_id, candidate_list[0].resource.resource_id);
641 EXPECT_EQ(gfx::RectF(64.f, 64.f), candidate_list[0].display_rect); 645 EXPECT_EQ(gfx::RectF(64.f, 64.f), candidate_list[0].display_rect);
642 EXPECT_TRUE(candidate_list[1].use_output_surface_for_resource); 646 EXPECT_EQ(OverlayCandidate::USE_OUTPUT_SURFACE,
643 EXPECT_TRUE(candidate_list[2].use_output_surface_for_resource); 647 candidate_list[1].resource_type);
648 EXPECT_EQ(OverlayCandidate::USE_OUTPUT_SURFACE,
649 candidate_list[2].resource_type);
644 Region overlay_region; 650 Region overlay_region;
645 overlay_region.Union(gfx::ToEnclosingRect(candidate_list[1].display_rect)); 651 overlay_region.Union(gfx::ToEnclosingRect(candidate_list[1].display_rect));
646 overlay_region.Union(gfx::ToEnclosingRect(candidate_list[2].display_rect)); 652 overlay_region.Union(gfx::ToEnclosingRect(candidate_list[2].display_rect));
647 DCHECK(covered_region == overlay_region); 653 DCHECK(covered_region == overlay_region);
648 } 654 }
649 655
650 TEST_F(SingleOverlayOnTopTest, SuccessfullOverlay) { 656 TEST_F(SingleOverlayOnTopTest, SuccessfullOverlay) {
651 scoped_ptr<RenderPass> pass = CreateRenderPass(); 657 scoped_ptr<RenderPass> pass = CreateRenderPass();
652 TextureDrawQuad* original_quad = 658 TextureDrawQuad* original_quad =
653 CreateFullscreenCandidateQuad(resource_provider_.get(), 659 CreateFullscreenCandidateQuad(resource_provider_.get(),
(...skipping 22 matching lines...) Expand all
676 // Check that the quad is gone. 682 // Check that the quad is gone.
677 EXPECT_EQ(2U, main_pass->quad_list.size()); 683 EXPECT_EQ(2U, main_pass->quad_list.size());
678 const QuadList& quad_list = main_pass->quad_list; 684 const QuadList& quad_list = main_pass->quad_list;
679 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); 685 for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin();
680 it != quad_list.BackToFrontEnd(); 686 it != quad_list.BackToFrontEnd();
681 ++it) { 687 ++it) {
682 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material); 688 EXPECT_NE(DrawQuad::TEXTURE_CONTENT, it->material);
683 } 689 }
684 690
685 // Check that the right resource id got extracted. 691 // Check that the right resource id got extracted.
686 EXPECT_EQ(original_resource_id, candidate_list.back().resource_id); 692 EXPECT_EQ(original_resource_id, candidate_list.back().resource.resource_id);
687 } 693 }
688 694
689 TEST_F(SingleOverlayOnTopTest, NoCandidates) { 695 TEST_F(SingleOverlayOnTopTest, NoCandidates) {
690 scoped_ptr<RenderPass> pass = CreateRenderPass(); 696 scoped_ptr<RenderPass> pass = CreateRenderPass();
691 CreateFullscreenOpaqueQuad(resource_provider_.get(), 697 CreateFullscreenOpaqueQuad(resource_provider_.get(),
692 pass->shared_quad_state_list.back(), pass.get()); 698 pass->shared_quad_state_list.back(), pass.get());
693 CreateFullscreenOpaqueQuad(resource_provider_.get(), 699 CreateFullscreenOpaqueQuad(resource_provider_.get(),
694 pass->shared_quad_state_list.back(), pass.get()); 700 pass->shared_quad_state_list.back(), pass.get());
695 701
696 RenderPassList pass_list; 702 RenderPassList pass_list;
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after
1307 1313
1308 void FinishDrawingFrame(DrawingFrame* frame) override { 1314 void FinishDrawingFrame(DrawingFrame* frame) override {
1309 GLRenderer::FinishDrawingFrame(frame); 1315 GLRenderer::FinishDrawingFrame(frame);
1310 1316
1311 if (!expect_overlays_) { 1317 if (!expect_overlays_) {
1312 EXPECT_EQ(0U, frame->overlay_list.size()); 1318 EXPECT_EQ(0U, frame->overlay_list.size());
1313 return; 1319 return;
1314 } 1320 }
1315 1321
1316 ASSERT_EQ(2U, frame->overlay_list.size()); 1322 ASSERT_EQ(2U, frame->overlay_list.size());
1317 EXPECT_NE(0U, frame->overlay_list.back().resource_id); 1323 EXPECT_NE(0U, frame->overlay_list.back().resource.resource_id);
1318 } 1324 }
1319 1325
1320 void set_expect_overlays(bool expect_overlays) { 1326 void set_expect_overlays(bool expect_overlays) {
1321 expect_overlays_ = expect_overlays; 1327 expect_overlays_ = expect_overlays;
1322 } 1328 }
1323 1329
1324 private: 1330 private:
1325 bool expect_overlays_; 1331 bool expect_overlays_;
1326 }; 1332 };
1327 1333
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
1497 ResourceId resource3 = 1503 ResourceId resource3 =
1498 CreateResource(resource_provider_.get(), gfx::Size(32, 32), true); 1504 CreateResource(resource_provider_.get(), gfx::Size(32, 32), true);
1499 1505
1500 scoped_ptr<RenderPass> pass = CreateRenderPass(); 1506 scoped_ptr<RenderPass> pass = CreateRenderPass();
1501 RenderPassList pass_list; 1507 RenderPassList pass_list;
1502 pass_list.push_back(pass.Pass()); 1508 pass_list.push_back(pass.Pass());
1503 1509
1504 DirectRenderer::DrawingFrame frame1; 1510 DirectRenderer::DrawingFrame frame1;
1505 frame1.render_passes_in_draw_order = &pass_list; 1511 frame1.render_passes_in_draw_order = &pass_list;
1506 frame1.overlay_list.resize(2); 1512 frame1.overlay_list.resize(2);
1507 frame1.overlay_list.front().use_output_surface_for_resource = true; 1513 frame1.overlay_list.front().resource_type =
1514 OverlayCandidate::USE_OUTPUT_SURFACE;
1508 OverlayCandidate& overlay1 = frame1.overlay_list.back(); 1515 OverlayCandidate& overlay1 = frame1.overlay_list.back();
1509 overlay1.resource_id = resource1; 1516 overlay1.resource.resource_id = resource1;
1510 overlay1.plane_z_order = 1; 1517 overlay1.plane_z_order = 1;
1511 1518
1512 DirectRenderer::DrawingFrame frame2; 1519 DirectRenderer::DrawingFrame frame2;
1513 frame2.render_passes_in_draw_order = &pass_list; 1520 frame2.render_passes_in_draw_order = &pass_list;
1514 frame2.overlay_list.resize(2); 1521 frame2.overlay_list.resize(2);
1515 frame2.overlay_list.front().use_output_surface_for_resource = true; 1522 frame2.overlay_list.front().resource_type =
1523 OverlayCandidate::USE_OUTPUT_SURFACE;
1516 OverlayCandidate& overlay2 = frame2.overlay_list.back(); 1524 OverlayCandidate& overlay2 = frame2.overlay_list.back();
1517 overlay2.resource_id = resource2; 1525 overlay2.resource.resource_id = resource2;
1518 overlay2.plane_z_order = 1; 1526 overlay2.plane_z_order = 1;
1519 1527
1520 DirectRenderer::DrawingFrame frame3; 1528 DirectRenderer::DrawingFrame frame3;
1521 frame3.render_passes_in_draw_order = &pass_list; 1529 frame3.render_passes_in_draw_order = &pass_list;
1522 frame3.overlay_list.resize(2); 1530 frame3.overlay_list.resize(2);
1523 frame3.overlay_list.front().use_output_surface_for_resource = true; 1531 frame3.overlay_list.front().resource_type =
1532 OverlayCandidate::USE_OUTPUT_SURFACE;
1524 OverlayCandidate& overlay3 = frame3.overlay_list.back(); 1533 OverlayCandidate& overlay3 = frame3.overlay_list.back();
1525 overlay3.resource_id = resource3; 1534 overlay3.resource.resource_id = resource3;
1526 overlay3.plane_z_order = 1; 1535 overlay3.plane_z_order = 1;
1527 1536
1528 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2); 1537 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(2);
1529 renderer_->BeginDrawingFrame(&frame1); 1538 renderer_->BeginDrawingFrame(&frame1);
1530 renderer_->FinishDrawingFrame(&frame1); 1539 renderer_->FinishDrawingFrame(&frame1);
1531 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); 1540 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
1532 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource2)); 1541 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource2));
1533 SwapBuffers(); 1542 SwapBuffers();
1534 Mock::VerifyAndClearExpectations(&scheduler_); 1543 Mock::VerifyAndClearExpectations(&scheduler_);
1535 1544
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
1602 renderer_->BeginDrawingFrame(&frame_no_overlays); 1611 renderer_->BeginDrawingFrame(&frame_no_overlays);
1603 renderer_->FinishDrawingFrame(&frame_no_overlays); 1612 renderer_->FinishDrawingFrame(&frame_no_overlays);
1604 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); 1613 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1));
1605 SwapBuffers(); 1614 SwapBuffers();
1606 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); 1615 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1));
1607 Mock::VerifyAndClearExpectations(&scheduler_); 1616 Mock::VerifyAndClearExpectations(&scheduler_);
1608 } 1617 }
1609 1618
1610 } // namespace 1619 } // namespace
1611 } // namespace cc 1620 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/overlay_strategy_underlay.cc ('k') | cc/resources/resource_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698