| OLD | NEW |
| 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/scoped_ptr_vector.h" | 5 #include "cc/base/scoped_ptr_vector.h" |
| 6 #include "cc/output/gl_renderer.h" | 6 #include "cc/output/gl_renderer.h" |
| 7 #include "cc/output/output_surface.h" | 7 #include "cc/output/output_surface.h" |
| 8 #include "cc/output/output_surface_client.h" | 8 #include "cc/output/output_surface_client.h" |
| 9 #include "cc/output/overlay_candidate_validator.h" | 9 #include "cc/output/overlay_candidate_validator.h" |
| 10 #include "cc/output/overlay_processor.h" | 10 #include "cc/output/overlay_processor.h" |
| (...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 519 OutputSurface* output_surface, | 519 OutputSurface* output_surface, |
| 520 ResourceProvider* resource_provider) | 520 ResourceProvider* resource_provider) |
| 521 : GLRenderer(client, | 521 : GLRenderer(client, |
| 522 settings, | 522 settings, |
| 523 output_surface, | 523 output_surface, |
| 524 resource_provider, | 524 resource_provider, |
| 525 NULL, | 525 NULL, |
| 526 0), | 526 0), |
| 527 expect_overlays_(false) {} | 527 expect_overlays_(false) {} |
| 528 | 528 |
| 529 MOCK_METHOD2(DoDrawQuad, void(DrawingFrame* frame, const DrawQuad* quad)); | 529 MOCK_METHOD3(DoDrawQuad, void(DrawingFrame* frame, const DrawQuad* quad, |
| 530 const gfx::QuadF* draw_region)); |
| 530 | 531 |
| 531 virtual void FinishDrawingFrame(DrawingFrame* frame) OVERRIDE { | 532 virtual void FinishDrawingFrame(DrawingFrame* frame) OVERRIDE { |
| 532 GLRenderer::FinishDrawingFrame(frame); | 533 GLRenderer::FinishDrawingFrame(frame); |
| 533 | 534 |
| 534 if (!expect_overlays_) { | 535 if (!expect_overlays_) { |
| 535 EXPECT_EQ(0U, frame->overlay_list.size()); | 536 EXPECT_EQ(0U, frame->overlay_list.size()); |
| 536 return; | 537 return; |
| 537 } | 538 } |
| 538 | 539 |
| 539 ASSERT_EQ(2U, frame->overlay_list.size()); | 540 ASSERT_EQ(2U, frame->overlay_list.size()); |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 617 pass.get()); | 618 pass.get()); |
| 618 CreateFullscreenCheckeredQuad(resource_provider_.get(), | 619 CreateFullscreenCheckeredQuad(resource_provider_.get(), |
| 619 pass->shared_quad_state_list.back(), | 620 pass->shared_quad_state_list.back(), |
| 620 pass.get()); | 621 pass.get()); |
| 621 | 622 |
| 622 RenderPassList pass_list; | 623 RenderPassList pass_list; |
| 623 pass_list.push_back(pass.Pass()); | 624 pass_list.push_back(pass.Pass()); |
| 624 | 625 |
| 625 // Candidate pass was taken out and extra skipped pass added, | 626 // Candidate pass was taken out and extra skipped pass added, |
| 626 // so only draw 2 quads. | 627 // so only draw 2 quads. |
| 627 EXPECT_CALL(*renderer_, DoDrawQuad(_, _)).Times(2); | 628 EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(2); |
| 628 EXPECT_CALL(scheduler_, | 629 EXPECT_CALL(scheduler_, |
| 629 Schedule(1, | 630 Schedule(1, |
| 630 gfx::OVERLAY_TRANSFORM_NONE, | 631 gfx::OVERLAY_TRANSFORM_NONE, |
| 631 _, | 632 _, |
| 632 kOverlayRect, | 633 kOverlayRect, |
| 633 BoundingRect(kUVTopLeft, kUVBottomRight))).Times(1); | 634 BoundingRect(kUVTopLeft, kUVBottomRight))).Times(1); |
| 634 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); | 635 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); |
| 635 | 636 |
| 636 SwapBuffers(); | 637 SwapBuffers(); |
| 637 | 638 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 655 pass.get()); | 656 pass.get()); |
| 656 | 657 |
| 657 CreateFullscreenCandidateQuad(resource_provider_.get(), | 658 CreateFullscreenCandidateQuad(resource_provider_.get(), |
| 658 pass->shared_quad_state_list.back(), | 659 pass->shared_quad_state_list.back(), |
| 659 pass.get()); | 660 pass.get()); |
| 660 | 661 |
| 661 RenderPassList pass_list; | 662 RenderPassList pass_list; |
| 662 pass_list.push_back(pass.Pass()); | 663 pass_list.push_back(pass.Pass()); |
| 663 | 664 |
| 664 // 3 quads in the pass, all should draw. | 665 // 3 quads in the pass, all should draw. |
| 665 EXPECT_CALL(*renderer_, DoDrawQuad(_, _)).Times(3); | 666 EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(3); |
| 666 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); | 667 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); |
| 667 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); | 668 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); |
| 668 | 669 |
| 669 SwapBuffers(); | 670 SwapBuffers(); |
| 670 | 671 |
| 671 Mock::VerifyAndClearExpectations(renderer_.get()); | 672 Mock::VerifyAndClearExpectations(renderer_.get()); |
| 672 Mock::VerifyAndClearExpectations(&scheduler_); | 673 Mock::VerifyAndClearExpectations(&scheduler_); |
| 673 } | 674 } |
| 674 | 675 |
| 675 TEST_F(GLRendererWithOverlaysTest, NoValidatorNoOverlay) { | 676 TEST_F(GLRendererWithOverlaysTest, NoValidatorNoOverlay) { |
| (...skipping 12 matching lines...) Expand all Loading... |
| 688 pass->shared_quad_state_list.back(), | 689 pass->shared_quad_state_list.back(), |
| 689 pass.get()); | 690 pass.get()); |
| 690 CreateFullscreenCheckeredQuad(resource_provider_.get(), | 691 CreateFullscreenCheckeredQuad(resource_provider_.get(), |
| 691 pass->shared_quad_state_list.back(), | 692 pass->shared_quad_state_list.back(), |
| 692 pass.get()); | 693 pass.get()); |
| 693 | 694 |
| 694 RenderPassList pass_list; | 695 RenderPassList pass_list; |
| 695 pass_list.push_back(pass.Pass()); | 696 pass_list.push_back(pass.Pass()); |
| 696 | 697 |
| 697 // Should see no overlays. | 698 // Should see no overlays. |
| 698 EXPECT_CALL(*renderer_, DoDrawQuad(_, _)).Times(3); | 699 EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(3); |
| 699 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); | 700 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); |
| 700 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); | 701 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); |
| 701 | 702 |
| 702 SwapBuffers(); | 703 SwapBuffers(); |
| 703 | 704 |
| 704 Mock::VerifyAndClearExpectations(renderer_.get()); | 705 Mock::VerifyAndClearExpectations(renderer_.get()); |
| 705 Mock::VerifyAndClearExpectations(&scheduler_); | 706 Mock::VerifyAndClearExpectations(&scheduler_); |
| 706 } | 707 } |
| 707 | 708 |
| 708 TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturned) { | 709 TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturned) { |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 780 renderer_->set_expect_overlays(false); | 781 renderer_->set_expect_overlays(false); |
| 781 renderer_->FinishDrawingFrame(&frame3); | 782 renderer_->FinishDrawingFrame(&frame3); |
| 782 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); | 783 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); |
| 783 SwapBuffers(); | 784 SwapBuffers(); |
| 784 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); | 785 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); |
| 785 Mock::VerifyAndClearExpectations(&scheduler_); | 786 Mock::VerifyAndClearExpectations(&scheduler_); |
| 786 } | 787 } |
| 787 | 788 |
| 788 } // namespace | 789 } // namespace |
| 789 } // namespace cc | 790 } // namespace cc |
| OLD | NEW |