| 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 |