| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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/output/gl_renderer.h" | 5 #include "cc/output/gl_renderer.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 | 8 |
| 9 #include "cc/base/math_util.h" | 9 #include "cc/base/math_util.h" |
| 10 #include "cc/output/compositor_frame_metadata.h" | 10 #include "cc/output/compositor_frame_metadata.h" |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 213 class GLRendererTest : public testing::Test { | 213 class GLRendererTest : public testing::Test { |
| 214 protected: | 214 protected: |
| 215 GLRendererTest() { | 215 GLRendererTest() { |
| 216 scoped_ptr<FrameCountingContext> context3d(new FrameCountingContext); | 216 scoped_ptr<FrameCountingContext> context3d(new FrameCountingContext); |
| 217 context3d_ = context3d.get(); | 217 context3d_ = context3d.get(); |
| 218 | 218 |
| 219 output_surface_ = FakeOutputSurface::Create3d( | 219 output_surface_ = FakeOutputSurface::Create3d( |
| 220 context3d.PassAs<TestWebGraphicsContext3D>()).Pass(); | 220 context3d.PassAs<TestWebGraphicsContext3D>()).Pass(); |
| 221 CHECK(output_surface_->BindToClient(&output_surface_client_)); | 221 CHECK(output_surface_->BindToClient(&output_surface_client_)); |
| 222 | 222 |
| 223 resource_provider_ = | 223 resource_provider_ = ResourceProvider::Create( |
| 224 ResourceProvider::Create(output_surface_.get(), NULL, 0, false).Pass(); | 224 output_surface_.get(), NULL, 0, false, 1).Pass(); |
| 225 renderer_ = make_scoped_ptr(new FakeRendererGL(&renderer_client_, | 225 renderer_ = make_scoped_ptr(new FakeRendererGL(&renderer_client_, |
| 226 &settings_, | 226 &settings_, |
| 227 output_surface_.get(), | 227 output_surface_.get(), |
| 228 resource_provider_.get())); | 228 resource_provider_.get())); |
| 229 } | 229 } |
| 230 | 230 |
| 231 virtual void SetUp() { renderer_->Initialize(); } | 231 virtual void SetUp() { renderer_->Initialize(); } |
| 232 | 232 |
| 233 void SwapBuffers() { renderer_->SwapBuffers(); } | 233 void SwapBuffers() { renderer_->SwapBuffers(); } |
| 234 | 234 |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 305 }; | 305 }; |
| 306 | 306 |
| 307 class GLRendererShaderTest : public testing::Test { | 307 class GLRendererShaderTest : public testing::Test { |
| 308 protected: | 308 protected: |
| 309 GLRendererShaderTest() { | 309 GLRendererShaderTest() { |
| 310 output_surface_ = FakeOutputSurface::Create3d( | 310 output_surface_ = FakeOutputSurface::Create3d( |
| 311 scoped_ptr<TestWebGraphicsContext3D>( | 311 scoped_ptr<TestWebGraphicsContext3D>( |
| 312 new ShaderCreatorMockGraphicsContext())).Pass(); | 312 new ShaderCreatorMockGraphicsContext())).Pass(); |
| 313 CHECK(output_surface_->BindToClient(&output_surface_client_)); | 313 CHECK(output_surface_->BindToClient(&output_surface_client_)); |
| 314 | 314 |
| 315 resource_provider_ = | 315 resource_provider_ = ResourceProvider::Create( |
| 316 ResourceProvider::Create(output_surface_.get(), NULL, 0, false).Pass(); | 316 output_surface_.get(), NULL, 0, false, 1).Pass(); |
| 317 renderer_.reset(new FakeRendererGL(&renderer_client_, | 317 renderer_.reset(new FakeRendererGL(&renderer_client_, |
| 318 &settings_, | 318 &settings_, |
| 319 output_surface_.get(), | 319 output_surface_.get(), |
| 320 resource_provider_.get())); | 320 resource_provider_.get())); |
| 321 renderer_->Initialize(); | 321 renderer_->Initialize(); |
| 322 } | 322 } |
| 323 | 323 |
| 324 void TestRenderPassProgram() { | 324 void TestRenderPassProgram() { |
| 325 EXPECT_PROGRAM_VALID(renderer_->render_pass_program_); | 325 EXPECT_PROGRAM_VALID(renderer_->render_pass_program_); |
| 326 EXPECT_EQ(renderer_->render_pass_program_->program(), | 326 EXPECT_EQ(renderer_->render_pass_program_->program(), |
| (...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 627 | 627 |
| 628 // This test isn't using the same fixture as GLRendererTest, and you can't mix | 628 // This test isn't using the same fixture as GLRendererTest, and you can't mix |
| 629 // TEST() and TEST_F() with the same name, Hence LRC2. | 629 // TEST() and TEST_F() with the same name, Hence LRC2. |
| 630 TEST(GLRendererTest2, InitializationDoesNotMakeSynchronousCalls) { | 630 TEST(GLRendererTest2, InitializationDoesNotMakeSynchronousCalls) { |
| 631 FakeOutputSurfaceClient output_surface_client; | 631 FakeOutputSurfaceClient output_surface_client; |
| 632 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 632 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 633 scoped_ptr<TestWebGraphicsContext3D>(new ForbidSynchronousCallContext))); | 633 scoped_ptr<TestWebGraphicsContext3D>(new ForbidSynchronousCallContext))); |
| 634 CHECK(output_surface->BindToClient(&output_surface_client)); | 634 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 635 | 635 |
| 636 scoped_ptr<ResourceProvider> resource_provider( | 636 scoped_ptr<ResourceProvider> resource_provider( |
| 637 ResourceProvider::Create(output_surface.get(), NULL, 0, false)); | 637 ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1)); |
| 638 | 638 |
| 639 LayerTreeSettings settings; | 639 LayerTreeSettings settings; |
| 640 FakeRendererClient renderer_client; | 640 FakeRendererClient renderer_client; |
| 641 FakeRendererGL renderer(&renderer_client, | 641 FakeRendererGL renderer(&renderer_client, |
| 642 &settings, | 642 &settings, |
| 643 output_surface.get(), | 643 output_surface.get(), |
| 644 resource_provider.get()); | 644 resource_provider.get()); |
| 645 | 645 |
| 646 EXPECT_TRUE(renderer.Initialize()); | 646 EXPECT_TRUE(renderer.Initialize()); |
| 647 } | 647 } |
| (...skipping 24 matching lines...) Expand all Loading... |
| 672 bool context_lost_; | 672 bool context_lost_; |
| 673 }; | 673 }; |
| 674 | 674 |
| 675 TEST(GLRendererTest2, InitializationWithQuicklyLostContextDoesNotAssert) { | 675 TEST(GLRendererTest2, InitializationWithQuicklyLostContextDoesNotAssert) { |
| 676 FakeOutputSurfaceClient output_surface_client; | 676 FakeOutputSurfaceClient output_surface_client; |
| 677 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 677 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 678 scoped_ptr<TestWebGraphicsContext3D>(new LoseContextOnFirstGetContext))); | 678 scoped_ptr<TestWebGraphicsContext3D>(new LoseContextOnFirstGetContext))); |
| 679 CHECK(output_surface->BindToClient(&output_surface_client)); | 679 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 680 | 680 |
| 681 scoped_ptr<ResourceProvider> resource_provider( | 681 scoped_ptr<ResourceProvider> resource_provider( |
| 682 ResourceProvider::Create(output_surface.get(), NULL, 0, false)); | 682 ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1)); |
| 683 | 683 |
| 684 LayerTreeSettings settings; | 684 LayerTreeSettings settings; |
| 685 FakeRendererClient renderer_client; | 685 FakeRendererClient renderer_client; |
| 686 FakeRendererGL renderer(&renderer_client, | 686 FakeRendererGL renderer(&renderer_client, |
| 687 &settings, | 687 &settings, |
| 688 output_surface.get(), | 688 output_surface.get(), |
| 689 resource_provider.get()); | 689 resource_provider.get()); |
| 690 | 690 |
| 691 renderer.Initialize(); | 691 renderer.Initialize(); |
| 692 } | 692 } |
| (...skipping 14 matching lines...) Expand all Loading... |
| 707 TEST(GLRendererTest2, OpaqueBackground) { | 707 TEST(GLRendererTest2, OpaqueBackground) { |
| 708 scoped_ptr<ClearCountingContext> context_owned(new ClearCountingContext); | 708 scoped_ptr<ClearCountingContext> context_owned(new ClearCountingContext); |
| 709 ClearCountingContext* context = context_owned.get(); | 709 ClearCountingContext* context = context_owned.get(); |
| 710 | 710 |
| 711 FakeOutputSurfaceClient output_surface_client; | 711 FakeOutputSurfaceClient output_surface_client; |
| 712 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 712 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 713 context_owned.PassAs<TestWebGraphicsContext3D>())); | 713 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 714 CHECK(output_surface->BindToClient(&output_surface_client)); | 714 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 715 | 715 |
| 716 scoped_ptr<ResourceProvider> resource_provider( | 716 scoped_ptr<ResourceProvider> resource_provider( |
| 717 ResourceProvider::Create(output_surface.get(), NULL, 0, false)); | 717 ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1)); |
| 718 | 718 |
| 719 LayerTreeSettings settings; | 719 LayerTreeSettings settings; |
| 720 FakeRendererClient renderer_client; | 720 FakeRendererClient renderer_client; |
| 721 FakeRendererGL renderer(&renderer_client, | 721 FakeRendererGL renderer(&renderer_client, |
| 722 &settings, | 722 &settings, |
| 723 output_surface.get(), | 723 output_surface.get(), |
| 724 resource_provider.get()); | 724 resource_provider.get()); |
| 725 | 725 |
| 726 renderer_client.root_render_pass()->has_transparent_background = false; | 726 renderer_client.root_render_pass()->has_transparent_background = false; |
| 727 | 727 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 745 TEST(GLRendererTest2, TransparentBackground) { | 745 TEST(GLRendererTest2, TransparentBackground) { |
| 746 scoped_ptr<ClearCountingContext> context_owned(new ClearCountingContext); | 746 scoped_ptr<ClearCountingContext> context_owned(new ClearCountingContext); |
| 747 ClearCountingContext* context = context_owned.get(); | 747 ClearCountingContext* context = context_owned.get(); |
| 748 | 748 |
| 749 FakeOutputSurfaceClient output_surface_client; | 749 FakeOutputSurfaceClient output_surface_client; |
| 750 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 750 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 751 context_owned.PassAs<TestWebGraphicsContext3D>())); | 751 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 752 CHECK(output_surface->BindToClient(&output_surface_client)); | 752 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 753 | 753 |
| 754 scoped_ptr<ResourceProvider> resource_provider( | 754 scoped_ptr<ResourceProvider> resource_provider( |
| 755 ResourceProvider::Create(output_surface.get(), NULL, 0, false)); | 755 ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1)); |
| 756 | 756 |
| 757 LayerTreeSettings settings; | 757 LayerTreeSettings settings; |
| 758 FakeRendererClient renderer_client; | 758 FakeRendererClient renderer_client; |
| 759 FakeRendererGL renderer(&renderer_client, | 759 FakeRendererGL renderer(&renderer_client, |
| 760 &settings, | 760 &settings, |
| 761 output_surface.get(), | 761 output_surface.get(), |
| 762 resource_provider.get()); | 762 resource_provider.get()); |
| 763 | 763 |
| 764 renderer_client.root_render_pass()->has_transparent_background = true; | 764 renderer_client.root_render_pass()->has_transparent_background = true; |
| 765 | 765 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 777 TEST(GLRendererTest2, OffscreenOutputSurface) { | 777 TEST(GLRendererTest2, OffscreenOutputSurface) { |
| 778 scoped_ptr<ClearCountingContext> context_owned(new ClearCountingContext); | 778 scoped_ptr<ClearCountingContext> context_owned(new ClearCountingContext); |
| 779 ClearCountingContext* context = context_owned.get(); | 779 ClearCountingContext* context = context_owned.get(); |
| 780 | 780 |
| 781 FakeOutputSurfaceClient output_surface_client; | 781 FakeOutputSurfaceClient output_surface_client; |
| 782 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::CreateOffscreen( | 782 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::CreateOffscreen( |
| 783 context_owned.PassAs<TestWebGraphicsContext3D>())); | 783 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 784 CHECK(output_surface->BindToClient(&output_surface_client)); | 784 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 785 | 785 |
| 786 scoped_ptr<ResourceProvider> resource_provider( | 786 scoped_ptr<ResourceProvider> resource_provider( |
| 787 ResourceProvider::Create(output_surface.get(), NULL, 0, false)); | 787 ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1)); |
| 788 | 788 |
| 789 LayerTreeSettings settings; | 789 LayerTreeSettings settings; |
| 790 FakeRendererClient renderer_client; | 790 FakeRendererClient renderer_client; |
| 791 FakeRendererGL renderer(&renderer_client, | 791 FakeRendererGL renderer(&renderer_client, |
| 792 &settings, | 792 &settings, |
| 793 output_surface.get(), | 793 output_surface.get(), |
| 794 resource_provider.get()); | 794 resource_provider.get()); |
| 795 | 795 |
| 796 EXPECT_TRUE(renderer.Initialize()); | 796 EXPECT_TRUE(renderer.Initialize()); |
| 797 | 797 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 853 scoped_ptr<VisibilityChangeIsLastCallTrackingContext> context_owned( | 853 scoped_ptr<VisibilityChangeIsLastCallTrackingContext> context_owned( |
| 854 new VisibilityChangeIsLastCallTrackingContext); | 854 new VisibilityChangeIsLastCallTrackingContext); |
| 855 VisibilityChangeIsLastCallTrackingContext* context = context_owned.get(); | 855 VisibilityChangeIsLastCallTrackingContext* context = context_owned.get(); |
| 856 | 856 |
| 857 FakeOutputSurfaceClient output_surface_client; | 857 FakeOutputSurfaceClient output_surface_client; |
| 858 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 858 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 859 context_owned.PassAs<TestWebGraphicsContext3D>())); | 859 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 860 CHECK(output_surface->BindToClient(&output_surface_client)); | 860 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 861 | 861 |
| 862 scoped_ptr<ResourceProvider> resource_provider( | 862 scoped_ptr<ResourceProvider> resource_provider( |
| 863 ResourceProvider::Create(output_surface.get(), NULL, 0, false)); | 863 ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1)); |
| 864 | 864 |
| 865 LayerTreeSettings settings; | 865 LayerTreeSettings settings; |
| 866 FakeRendererClient renderer_client; | 866 FakeRendererClient renderer_client; |
| 867 FakeRendererGL renderer(&renderer_client, | 867 FakeRendererGL renderer(&renderer_client, |
| 868 &settings, | 868 &settings, |
| 869 output_surface.get(), | 869 output_surface.get(), |
| 870 resource_provider.get()); | 870 resource_provider.get()); |
| 871 | 871 |
| 872 EXPECT_TRUE(renderer.Initialize()); | 872 EXPECT_TRUE(renderer.Initialize()); |
| 873 | 873 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 913 scoped_ptr<TextureStateTrackingContext> context_owned( | 913 scoped_ptr<TextureStateTrackingContext> context_owned( |
| 914 new TextureStateTrackingContext); | 914 new TextureStateTrackingContext); |
| 915 TextureStateTrackingContext* context = context_owned.get(); | 915 TextureStateTrackingContext* context = context_owned.get(); |
| 916 | 916 |
| 917 FakeOutputSurfaceClient output_surface_client; | 917 FakeOutputSurfaceClient output_surface_client; |
| 918 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 918 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 919 context_owned.PassAs<TestWebGraphicsContext3D>())); | 919 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 920 CHECK(output_surface->BindToClient(&output_surface_client)); | 920 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 921 | 921 |
| 922 scoped_ptr<ResourceProvider> resource_provider( | 922 scoped_ptr<ResourceProvider> resource_provider( |
| 923 ResourceProvider::Create(output_surface.get(), NULL, 0, false)); | 923 ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1)); |
| 924 | 924 |
| 925 LayerTreeSettings settings; | 925 LayerTreeSettings settings; |
| 926 FakeRendererClient renderer_client; | 926 FakeRendererClient renderer_client; |
| 927 FakeRendererGL renderer(&renderer_client, | 927 FakeRendererGL renderer(&renderer_client, |
| 928 &settings, | 928 &settings, |
| 929 output_surface.get(), | 929 output_surface.get(), |
| 930 resource_provider.get()); | 930 resource_provider.get()); |
| 931 | 931 |
| 932 // During initialization we are allowed to set any texture parameters. | 932 // During initialization we are allowed to set any texture parameters. |
| 933 EXPECT_CALL(*context, texParameteri(_, _, _)).Times(AnyNumber()); | 933 EXPECT_CALL(*context, texParameteri(_, _, _)).Times(AnyNumber()); |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1000 scoped_ptr<NoClearRootRenderPassMockContext> mock_context_owned( | 1000 scoped_ptr<NoClearRootRenderPassMockContext> mock_context_owned( |
| 1001 new NoClearRootRenderPassMockContext); | 1001 new NoClearRootRenderPassMockContext); |
| 1002 NoClearRootRenderPassMockContext* mock_context = mock_context_owned.get(); | 1002 NoClearRootRenderPassMockContext* mock_context = mock_context_owned.get(); |
| 1003 | 1003 |
| 1004 FakeOutputSurfaceClient output_surface_client; | 1004 FakeOutputSurfaceClient output_surface_client; |
| 1005 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 1005 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 1006 mock_context_owned.PassAs<TestWebGraphicsContext3D>())); | 1006 mock_context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 1007 CHECK(output_surface->BindToClient(&output_surface_client)); | 1007 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 1008 | 1008 |
| 1009 scoped_ptr<ResourceProvider> resource_provider( | 1009 scoped_ptr<ResourceProvider> resource_provider( |
| 1010 ResourceProvider::Create(output_surface.get(), NULL, 0, false)); | 1010 ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1)); |
| 1011 | 1011 |
| 1012 LayerTreeSettings settings; | 1012 LayerTreeSettings settings; |
| 1013 settings.should_clear_root_render_pass = false; | 1013 settings.should_clear_root_render_pass = false; |
| 1014 | 1014 |
| 1015 FakeRendererClient renderer_client; | 1015 FakeRendererClient renderer_client; |
| 1016 FakeRendererGL renderer(&renderer_client, | 1016 FakeRendererGL renderer(&renderer_client, |
| 1017 &settings, | 1017 &settings, |
| 1018 output_surface.get(), | 1018 output_surface.get(), |
| 1019 resource_provider.get()); | 1019 resource_provider.get()); |
| 1020 EXPECT_TRUE(renderer.Initialize()); | 1020 EXPECT_TRUE(renderer.Initialize()); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1088 TEST(GLRendererTest2, ScissorTestWhenClearing) { | 1088 TEST(GLRendererTest2, ScissorTestWhenClearing) { |
| 1089 scoped_ptr<ScissorTestOnClearCheckingContext> context_owned( | 1089 scoped_ptr<ScissorTestOnClearCheckingContext> context_owned( |
| 1090 new ScissorTestOnClearCheckingContext); | 1090 new ScissorTestOnClearCheckingContext); |
| 1091 | 1091 |
| 1092 FakeOutputSurfaceClient output_surface_client; | 1092 FakeOutputSurfaceClient output_surface_client; |
| 1093 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( | 1093 scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( |
| 1094 context_owned.PassAs<TestWebGraphicsContext3D>())); | 1094 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 1095 CHECK(output_surface->BindToClient(&output_surface_client)); | 1095 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 1096 | 1096 |
| 1097 scoped_ptr<ResourceProvider> resource_provider( | 1097 scoped_ptr<ResourceProvider> resource_provider( |
| 1098 ResourceProvider::Create(output_surface.get(), NULL, 0, false)); | 1098 ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1)); |
| 1099 | 1099 |
| 1100 LayerTreeSettings settings; | 1100 LayerTreeSettings settings; |
| 1101 FakeRendererClient renderer_client; | 1101 FakeRendererClient renderer_client; |
| 1102 FakeRendererGL renderer(&renderer_client, | 1102 FakeRendererGL renderer(&renderer_client, |
| 1103 &settings, | 1103 &settings, |
| 1104 output_surface.get(), | 1104 output_surface.get(), |
| 1105 resource_provider.get()); | 1105 resource_provider.get()); |
| 1106 EXPECT_TRUE(renderer.Initialize()); | 1106 EXPECT_TRUE(renderer.Initialize()); |
| 1107 EXPECT_FALSE(renderer.Capabilities().using_partial_swap); | 1107 EXPECT_FALSE(renderer.Capabilities().using_partial_swap); |
| 1108 | 1108 |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1174 DiscardCheckingContext* context = context_owned.get(); | 1174 DiscardCheckingContext* context = context_owned.get(); |
| 1175 | 1175 |
| 1176 FakeOutputSurfaceClient output_surface_client; | 1176 FakeOutputSurfaceClient output_surface_client; |
| 1177 scoped_ptr<NonReshapableOutputSurface> output_surface( | 1177 scoped_ptr<NonReshapableOutputSurface> output_surface( |
| 1178 new NonReshapableOutputSurface( | 1178 new NonReshapableOutputSurface( |
| 1179 context_owned.PassAs<TestWebGraphicsContext3D>())); | 1179 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 1180 CHECK(output_surface->BindToClient(&output_surface_client)); | 1180 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 1181 output_surface->set_fixed_size(gfx::Size(100, 100)); | 1181 output_surface->set_fixed_size(gfx::Size(100, 100)); |
| 1182 | 1182 |
| 1183 scoped_ptr<ResourceProvider> resource_provider( | 1183 scoped_ptr<ResourceProvider> resource_provider( |
| 1184 ResourceProvider::Create(output_surface.get(), NULL, 0, false)); | 1184 ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1)); |
| 1185 | 1185 |
| 1186 LayerTreeSettings settings; | 1186 LayerTreeSettings settings; |
| 1187 settings.partial_swap_enabled = true; | 1187 settings.partial_swap_enabled = true; |
| 1188 FakeRendererClient renderer_client; | 1188 FakeRendererClient renderer_client; |
| 1189 renderer_client.set_viewport(gfx::Rect(0, 0, 100, 100)); | 1189 renderer_client.set_viewport(gfx::Rect(0, 0, 100, 100)); |
| 1190 renderer_client.set_clip(gfx::Rect(0, 0, 100, 100)); | 1190 renderer_client.set_clip(gfx::Rect(0, 0, 100, 100)); |
| 1191 FakeRendererGL renderer(&renderer_client, | 1191 FakeRendererGL renderer(&renderer_client, |
| 1192 &settings, | 1192 &settings, |
| 1193 output_surface.get(), | 1193 output_surface.get(), |
| 1194 resource_provider.get()); | 1194 resource_provider.get()); |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1353 // the glViewport can be at a nonzero origin within the surface. | 1353 // the glViewport can be at a nonzero origin within the surface. |
| 1354 scoped_ptr<FlippedScissorAndViewportContext> context_owned( | 1354 scoped_ptr<FlippedScissorAndViewportContext> context_owned( |
| 1355 new FlippedScissorAndViewportContext); | 1355 new FlippedScissorAndViewportContext); |
| 1356 | 1356 |
| 1357 FakeOutputSurfaceClient output_surface_client; | 1357 FakeOutputSurfaceClient output_surface_client; |
| 1358 scoped_ptr<OutputSurface> output_surface(new NonReshapableOutputSurface( | 1358 scoped_ptr<OutputSurface> output_surface(new NonReshapableOutputSurface( |
| 1359 context_owned.PassAs<TestWebGraphicsContext3D>())); | 1359 context_owned.PassAs<TestWebGraphicsContext3D>())); |
| 1360 CHECK(output_surface->BindToClient(&output_surface_client)); | 1360 CHECK(output_surface->BindToClient(&output_surface_client)); |
| 1361 | 1361 |
| 1362 scoped_ptr<ResourceProvider> resource_provider( | 1362 scoped_ptr<ResourceProvider> resource_provider( |
| 1363 ResourceProvider::Create(output_surface.get(), NULL, 0, false)); | 1363 ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1)); |
| 1364 | 1364 |
| 1365 LayerTreeSettings settings; | 1365 LayerTreeSettings settings; |
| 1366 FakeRendererClient renderer_client; | 1366 FakeRendererClient renderer_client; |
| 1367 renderer_client.set_viewport(gfx::Rect(10, 10, 100, 100)); | 1367 renderer_client.set_viewport(gfx::Rect(10, 10, 100, 100)); |
| 1368 renderer_client.set_clip(gfx::Rect(10, 10, 100, 100)); | 1368 renderer_client.set_clip(gfx::Rect(10, 10, 100, 100)); |
| 1369 FakeRendererGL renderer(&renderer_client, | 1369 FakeRendererGL renderer(&renderer_client, |
| 1370 &settings, | 1370 &settings, |
| 1371 output_surface.get(), | 1371 output_surface.get(), |
| 1372 resource_provider.get()); | 1372 resource_provider.get()); |
| 1373 EXPECT_TRUE(renderer.Initialize()); | 1373 EXPECT_TRUE(renderer.Initialize()); |
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1707 MOCK_METHOD1(SwapBuffers, void(CompositorFrame* frame)); | 1707 MOCK_METHOD1(SwapBuffers, void(CompositorFrame* frame)); |
| 1708 }; | 1708 }; |
| 1709 | 1709 |
| 1710 class MockOutputSurfaceTest : public testing::Test, public FakeRendererClient { | 1710 class MockOutputSurfaceTest : public testing::Test, public FakeRendererClient { |
| 1711 protected: | 1711 protected: |
| 1712 virtual void SetUp() { | 1712 virtual void SetUp() { |
| 1713 FakeOutputSurfaceClient output_surface_client_; | 1713 FakeOutputSurfaceClient output_surface_client_; |
| 1714 CHECK(output_surface_.BindToClient(&output_surface_client_)); | 1714 CHECK(output_surface_.BindToClient(&output_surface_client_)); |
| 1715 | 1715 |
| 1716 resource_provider_ = | 1716 resource_provider_ = |
| 1717 ResourceProvider::Create(&output_surface_, NULL, 0, false).Pass(); | 1717 ResourceProvider::Create(&output_surface_, NULL, 0, false, 1).Pass(); |
| 1718 | 1718 |
| 1719 renderer_.reset(new FakeRendererGL( | 1719 renderer_.reset(new FakeRendererGL( |
| 1720 this, &settings_, &output_surface_, resource_provider_.get())); | 1720 this, &settings_, &output_surface_, resource_provider_.get())); |
| 1721 EXPECT_TRUE(renderer_->Initialize()); | 1721 EXPECT_TRUE(renderer_->Initialize()); |
| 1722 } | 1722 } |
| 1723 | 1723 |
| 1724 void SwapBuffers() { renderer_->SwapBuffers(); } | 1724 void SwapBuffers() { renderer_->SwapBuffers(); } |
| 1725 | 1725 |
| 1726 void DrawFrame(float device_scale_factor) { | 1726 void DrawFrame(float device_scale_factor) { |
| 1727 gfx::Rect viewport_rect(DeviceViewport()); | 1727 gfx::Rect viewport_rect(DeviceViewport()); |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1863 base::MessageLoop::current()->Run(); | 1863 base::MessageLoop::current()->Run(); |
| 1864 | 1864 |
| 1865 // The sync point should have happened. | 1865 // The sync point should have happened. |
| 1866 EXPECT_EQ(1, sync_point_callback_count); | 1866 EXPECT_EQ(1, sync_point_callback_count); |
| 1867 EXPECT_EQ(1, other_callback_count); | 1867 EXPECT_EQ(1, other_callback_count); |
| 1868 } | 1868 } |
| 1869 #endif // OS_ANDROID | 1869 #endif // OS_ANDROID |
| 1870 | 1870 |
| 1871 } // namespace | 1871 } // namespace |
| 1872 } // namespace cc | 1872 } // namespace cc |
| OLD | NEW |