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