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