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 757 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
768 OutputSurface* output_surface, | 768 OutputSurface* output_surface, |
769 ResourceProvider* resource_provider) | 769 ResourceProvider* resource_provider) |
770 : GLRenderer(client, | 770 : GLRenderer(client, |
771 settings, | 771 settings, |
772 output_surface, | 772 output_surface, |
773 resource_provider, | 773 resource_provider, |
774 NULL, | 774 NULL, |
775 0), | 775 0), |
776 expect_overlays_(false) {} | 776 expect_overlays_(false) {} |
777 | 777 |
778 MOCK_METHOD2(DoDrawQuad, void(DrawingFrame* frame, const DrawQuad* quad)); | 778 MOCK_METHOD3(DoDrawQuad, |
| 779 void(DrawingFrame* frame, |
| 780 const DrawQuad* quad, |
| 781 const gfx::QuadF* draw_region)); |
779 | 782 |
780 using GLRenderer::BeginDrawingFrame; | 783 using GLRenderer::BeginDrawingFrame; |
781 | 784 |
782 void FinishDrawingFrame(DrawingFrame* frame) override { | 785 void FinishDrawingFrame(DrawingFrame* frame) override { |
783 GLRenderer::FinishDrawingFrame(frame); | 786 GLRenderer::FinishDrawingFrame(frame); |
784 | 787 |
785 if (!expect_overlays_) { | 788 if (!expect_overlays_) { |
786 EXPECT_EQ(0U, frame->overlay_list.size()); | 789 EXPECT_EQ(0U, frame->overlay_list.size()); |
787 return; | 790 return; |
788 } | 791 } |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
868 pass.get()); | 871 pass.get()); |
869 CreateFullscreenCheckeredQuad(resource_provider_.get(), | 872 CreateFullscreenCheckeredQuad(resource_provider_.get(), |
870 pass->shared_quad_state_list.back(), | 873 pass->shared_quad_state_list.back(), |
871 pass.get()); | 874 pass.get()); |
872 | 875 |
873 RenderPassList pass_list; | 876 RenderPassList pass_list; |
874 pass_list.push_back(pass.Pass()); | 877 pass_list.push_back(pass.Pass()); |
875 | 878 |
876 // Candidate pass was taken out and extra skipped pass added, | 879 // Candidate pass was taken out and extra skipped pass added, |
877 // so only draw 2 quads. | 880 // so only draw 2 quads. |
878 EXPECT_CALL(*renderer_, DoDrawQuad(_, _)).Times(2); | 881 EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(2); |
879 EXPECT_CALL(scheduler_, | 882 EXPECT_CALL(scheduler_, |
880 Schedule(1, | 883 Schedule(1, |
881 gfx::OVERLAY_TRANSFORM_NONE, | 884 gfx::OVERLAY_TRANSFORM_NONE, |
882 _, | 885 _, |
883 kOverlayRect, | 886 kOverlayRect, |
884 BoundingRect(kUVTopLeft, kUVBottomRight))).Times(1); | 887 BoundingRect(kUVTopLeft, kUVBottomRight))).Times(1); |
885 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); | 888 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); |
886 | 889 |
887 SwapBuffers(); | 890 SwapBuffers(); |
888 | 891 |
(...skipping 17 matching lines...) Expand all Loading... |
906 pass.get()); | 909 pass.get()); |
907 | 910 |
908 CreateFullscreenCandidateQuad(resource_provider_.get(), | 911 CreateFullscreenCandidateQuad(resource_provider_.get(), |
909 pass->shared_quad_state_list.back(), | 912 pass->shared_quad_state_list.back(), |
910 pass.get()); | 913 pass.get()); |
911 | 914 |
912 RenderPassList pass_list; | 915 RenderPassList pass_list; |
913 pass_list.push_back(pass.Pass()); | 916 pass_list.push_back(pass.Pass()); |
914 | 917 |
915 // 3 quads in the pass, all should draw. | 918 // 3 quads in the pass, all should draw. |
916 EXPECT_CALL(*renderer_, DoDrawQuad(_, _)).Times(3); | 919 EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(3); |
917 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); | 920 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); |
918 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); | 921 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); |
919 | 922 |
920 SwapBuffers(); | 923 SwapBuffers(); |
921 | 924 |
922 Mock::VerifyAndClearExpectations(renderer_.get()); | 925 Mock::VerifyAndClearExpectations(renderer_.get()); |
923 Mock::VerifyAndClearExpectations(&scheduler_); | 926 Mock::VerifyAndClearExpectations(&scheduler_); |
924 } | 927 } |
925 | 928 |
926 TEST_F(GLRendererWithOverlaysTest, NoValidatorNoOverlay) { | 929 TEST_F(GLRendererWithOverlaysTest, NoValidatorNoOverlay) { |
(...skipping 12 matching lines...) Expand all Loading... |
939 pass->shared_quad_state_list.back(), | 942 pass->shared_quad_state_list.back(), |
940 pass.get()); | 943 pass.get()); |
941 CreateFullscreenCheckeredQuad(resource_provider_.get(), | 944 CreateFullscreenCheckeredQuad(resource_provider_.get(), |
942 pass->shared_quad_state_list.back(), | 945 pass->shared_quad_state_list.back(), |
943 pass.get()); | 946 pass.get()); |
944 | 947 |
945 RenderPassList pass_list; | 948 RenderPassList pass_list; |
946 pass_list.push_back(pass.Pass()); | 949 pass_list.push_back(pass.Pass()); |
947 | 950 |
948 // Should see no overlays. | 951 // Should see no overlays. |
949 EXPECT_CALL(*renderer_, DoDrawQuad(_, _)).Times(3); | 952 EXPECT_CALL(*renderer_, DoDrawQuad(_, _, _)).Times(3); |
950 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); | 953 EXPECT_CALL(scheduler_, Schedule(_, _, _, _, _)).Times(0); |
951 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); | 954 renderer_->DrawFrame(&pass_list, 1.f, viewport_rect, viewport_rect, false); |
952 | 955 |
953 SwapBuffers(); | 956 SwapBuffers(); |
954 | 957 |
955 Mock::VerifyAndClearExpectations(renderer_.get()); | 958 Mock::VerifyAndClearExpectations(renderer_.get()); |
956 Mock::VerifyAndClearExpectations(&scheduler_); | 959 Mock::VerifyAndClearExpectations(&scheduler_); |
957 } | 960 } |
958 | 961 |
959 TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturned) { | 962 TEST_F(GLRendererWithOverlaysTest, ResourcesExportedAndReturned) { |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1045 renderer_->BeginDrawingFrame(&frame3); | 1048 renderer_->BeginDrawingFrame(&frame3); |
1046 renderer_->FinishDrawingFrame(&frame3); | 1049 renderer_->FinishDrawingFrame(&frame3); |
1047 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); | 1050 EXPECT_TRUE(resource_provider_->InUseByConsumer(resource1)); |
1048 SwapBuffers(); | 1051 SwapBuffers(); |
1049 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); | 1052 EXPECT_FALSE(resource_provider_->InUseByConsumer(resource1)); |
1050 Mock::VerifyAndClearExpectations(&scheduler_); | 1053 Mock::VerifyAndClearExpectations(&scheduler_); |
1051 } | 1054 } |
1052 | 1055 |
1053 } // namespace | 1056 } // namespace |
1054 } // namespace cc | 1057 } // namespace cc |
OLD | NEW |