| 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 519 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 530 OutputSurface* output_surface, | 530 OutputSurface* output_surface, |
| 531 ResourceProvider* resource_provider) | 531 ResourceProvider* resource_provider) |
| 532 : GLRenderer(client, | 532 : GLRenderer(client, |
| 533 settings, | 533 settings, |
| 534 output_surface, | 534 output_surface, |
| 535 resource_provider, | 535 resource_provider, |
| 536 NULL, | 536 NULL, |
| 537 0), | 537 0), |
| 538 expect_overlays_(false) {} | 538 expect_overlays_(false) {} |
| 539 | 539 |
| 540 MOCK_METHOD2(DoDrawQuad, void(DrawingFrame* frame, const DrawQuad* quad)); | 540 MOCK_METHOD3(DoDrawQuad, |
| 541 void(DrawingFrame* frame, |
| 542 const DrawQuad* quad, |
| 543 const gfx::QuadF* draw_region)); |
| 541 | 544 |
| 542 using GLRenderer::BeginDrawingFrame; | 545 using GLRenderer::BeginDrawingFrame; |
| 543 | 546 |
| 544 void FinishDrawingFrame(DrawingFrame* frame) override { | 547 void FinishDrawingFrame(DrawingFrame* frame) override { |
| 545 GLRenderer::FinishDrawingFrame(frame); | 548 GLRenderer::FinishDrawingFrame(frame); |
| 546 | 549 |
| 547 if (!expect_overlays_) { | 550 if (!expect_overlays_) { |
| 548 EXPECT_EQ(0U, frame->overlay_list.size()); | 551 EXPECT_EQ(0U, frame->overlay_list.size()); |
| 549 return; | 552 return; |
| 550 } | 553 } |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 630 pass.get()); | 633 pass.get()); |
| 631 CreateFullscreenCheckeredQuad(resource_provider_.get(), | 634 CreateFullscreenCheckeredQuad(resource_provider_.get(), |
| 632 pass->shared_quad_state_list.back(), | 635 pass->shared_quad_state_list.back(), |
| 633 pass.get()); | 636 pass.get()); |
| 634 | 637 |
| 635 RenderPassList pass_list; | 638 RenderPassList pass_list; |
| 636 pass_list.push_back(pass.Pass()); | 639 pass_list.push_back(pass.Pass()); |
| 637 | 640 |
| 638 // Candidate pass was taken out and extra skipped pass added, | 641 // Candidate pass was taken out and extra skipped pass added, |
| 639 // so only draw 2 quads. | 642 // so only draw 2 quads. |
| 640 EXPECT_CALL(*renderer_, DoDrawQuad(_, _)).Times(2); | 643 EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(2); |
| 641 EXPECT_CALL(scheduler_, | 644 EXPECT_CALL(scheduler_, |
| 642 Schedule(1, | 645 Schedule(1, |
| 643 gfx::OVERLAY_TRANSFORM_NONE, | 646 gfx::OVERLAY_TRANSFORM_NONE, |
| 644 _, | 647 _, |
| 645 kOverlayRect, | 648 kOverlayRect, |
| 646 BoundingRect(kUVTopLeft, kUVBottomRight))).Times(1); | 649 BoundingRect(kUVTopLeft, kUVBottomRight))).Times(1); |
| 647 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); | 650 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); |
| 648 | 651 |
| 649 SwapBuffers(); | 652 SwapBuffers(); |
| 650 | 653 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 668 pass.get()); | 671 pass.get()); |
| 669 | 672 |
| 670 CreateFullscreenCandidateQuad(resource_provider_.get(), | 673 CreateFullscreenCandidateQuad(resource_provider_.get(), |
| 671 pass->shared_quad_state_list.back(), | 674 pass->shared_quad_state_list.back(), |
| 672 pass.get()); | 675 pass.get()); |
| 673 | 676 |
| 674 RenderPassList pass_list; | 677 RenderPassList pass_list; |
| 675 pass_list.push_back(pass.Pass()); | 678 pass_list.push_back(pass.Pass()); |
| 676 | 679 |
| 677 // 3 quads in the pass, all should draw. | 680 // 3 quads in the pass, all should draw. |
| 678 EXPECT_CALL(*renderer_, DoDrawQuad(_, _)).Times(3); | 681 EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(3); |
| 679 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); | 682 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); |
| 680 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); | 683 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); |
| 681 | 684 |
| 682 SwapBuffers(); | 685 SwapBuffers(); |
| 683 | 686 |
| 684 Mock::VerifyAndClearExpectations(renderer_.get()); | 687 Mock::VerifyAndClearExpectations(renderer_.get()); |
| 685 Mock::VerifyAndClearExpectations(&scheduler_); | 688 Mock::VerifyAndClearExpectations(&scheduler_); |
| 686 } | 689 } |
| 687 | 690 |
| 688 TEST_F(GLRendererWithOverlaysTest, NoValidatorNoOverlay) { | 691 TEST_F(GLRendererWithOverlaysTest, NoValidatorNoOverlay) { |
| (...skipping 12 matching lines...) Expand all Loading... |
| 701 pass->shared_quad_state_list.back(), | 704 pass->shared_quad_state_list.back(), |
| 702 pass.get()); | 705 pass.get()); |
| 703 CreateFullscreenCheckeredQuad(resource_provider_.get(), | 706 CreateFullscreenCheckeredQuad(resource_provider_.get(), |
| 704 pass->shared_quad_state_list.back(), | 707 pass->shared_quad_state_list.back(), |
| 705 pass.get()); | 708 pass.get()); |
| 706 | 709 |
| 707 RenderPassList pass_list; | 710 RenderPassList pass_list; |
| 708 pass_list.push_back(pass.Pass()); | 711 pass_list.push_back(pass.Pass()); |
| 709 | 712 |
| 710 // Should see no overlays. | 713 // Should see no overlays. |
| 711 EXPECT_CALL(*renderer_, DoDrawQuad(_, _)).Times(3); | 714 EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(3); |
| 712 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); | 715 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); |
| 713 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); | 716 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); |
| 714 | 717 |
| 715 SwapBuffers(); | 718 SwapBuffers(); |
| 716 | 719 |
| 717 Mock::VerifyAndClearExpectations(renderer_.get()); | 720 Mock::VerifyAndClearExpectations(renderer_.get()); |
| 718 Mock::VerifyAndClearExpectations(&scheduler_); | 721 Mock::VerifyAndClearExpectations(&scheduler_); |
| 719 } | 722 } |
| 720 | 723 |
| 721 TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturned) { | 724 TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturned) { |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 807 renderer_->BeginDrawingFrame(&frame3); | 810 renderer_->BeginDrawingFrame(&frame3); |
| 808 renderer_->FinishDrawingFrame(&frame3); | 811 renderer_->FinishDrawingFrame(&frame3); |
| 809 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); | 812 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); |
| 810 SwapBuffers(); | 813 SwapBuffers(); |
| 811 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); | 814 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); |
| 812 Mock::VerifyAndClearExpectations(&scheduler_); | 815 Mock::VerifyAndClearExpectations(&scheduler_); |
| 813 } | 816 } |
| 814 | 817 |
| 815 } // namespace | 818 } // namespace |
| 816 } // namespace cc | 819 } // namespace cc |
| OLD | NEW |