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 |