Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Side by Side Diff: cc/output/gl_renderer_unittest.cc

Issue 2337913003: Fork cc::OutputSurface into cc::CompositorFrameSink. (Closed)
Patch Set: cfsfork: android-vulkan Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/output/compositor_frame_sink_client.h ('k') | cc/output/overlay_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <stdint.h> 7 #include <stdint.h>
8 8
9 #include <set> 9 #include <set>
10 10
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 344
345 class GLRendererWithDefaultHarnessTest : public GLRendererTest { 345 class GLRendererWithDefaultHarnessTest : public GLRendererTest {
346 protected: 346 protected:
347 GLRendererWithDefaultHarnessTest() { 347 GLRendererWithDefaultHarnessTest() {
348 output_surface_ = 348 output_surface_ =
349 FakeOutputSurface::Create3d(TestWebGraphicsContext3D::Create()); 349 FakeOutputSurface::Create3d(TestWebGraphicsContext3D::Create());
350 CHECK(output_surface_->BindToClient(&output_surface_client_)); 350 CHECK(output_surface_->BindToClient(&output_surface_client_));
351 351
352 shared_bitmap_manager_.reset(new TestSharedBitmapManager()); 352 shared_bitmap_manager_.reset(new TestSharedBitmapManager());
353 resource_provider_ = FakeResourceProvider::Create( 353 resource_provider_ = FakeResourceProvider::Create(
354 output_surface_.get(), shared_bitmap_manager_.get()); 354 output_surface_->context_provider(), shared_bitmap_manager_.get());
355 renderer_ = base::MakeUnique<FakeRendererGL>( 355 renderer_ = base::MakeUnique<FakeRendererGL>(
356 &settings_, output_surface_.get(), resource_provider_.get()); 356 &settings_, output_surface_.get(), resource_provider_.get());
357 renderer_->Initialize(); 357 renderer_->Initialize();
358 renderer_->SetVisible(true); 358 renderer_->SetVisible(true);
359 } 359 }
360 360
361 void SwapBuffers() { renderer_->SwapBuffers(CompositorFrameMetadata()); } 361 void SwapBuffers() { renderer_->SwapBuffers(CompositorFrameMetadata()); }
362 362
363 RendererSettings settings_; 363 RendererSettings settings_;
364 FakeOutputSurfaceClient output_surface_client_; 364 FakeOutputSurfaceClient output_surface_client_;
365 std::unique_ptr<FakeOutputSurface> output_surface_; 365 std::unique_ptr<FakeOutputSurface> output_surface_;
366 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_; 366 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_;
367 std::unique_ptr<ResourceProvider> resource_provider_; 367 std::unique_ptr<ResourceProvider> resource_provider_;
368 std::unique_ptr<FakeRendererGL> renderer_; 368 std::unique_ptr<FakeRendererGL> renderer_;
369 }; 369 };
370 370
371 // Closing the namespace here so that GLRendererShaderTest can take advantage 371 // Closing the namespace here so that GLRendererShaderTest can take advantage
372 // of the friend relationship with GLRenderer and all of the mock classes 372 // of the friend relationship with GLRenderer and all of the mock classes
373 // declared above it. 373 // declared above it.
374 } // namespace 374 } // namespace
375 375
376 class GLRendererShaderTest : public GLRendererTest { 376 class GLRendererShaderTest : public GLRendererTest {
377 protected: 377 protected:
378 GLRendererShaderTest() { 378 GLRendererShaderTest() {
379 output_surface_ = FakeOutputSurface::Create3d(); 379 output_surface_ = FakeOutputSurface::Create3d();
380 CHECK(output_surface_->BindToClient(&output_surface_client_)); 380 CHECK(output_surface_->BindToClient(&output_surface_client_));
381 381
382 shared_bitmap_manager_.reset(new TestSharedBitmapManager()); 382 shared_bitmap_manager_.reset(new TestSharedBitmapManager());
383 resource_provider_ = FakeResourceProvider::Create( 383 resource_provider_ = FakeResourceProvider::Create(
384 output_surface_.get(), shared_bitmap_manager_.get()); 384 output_surface_->context_provider(), shared_bitmap_manager_.get());
385 renderer_.reset(new FakeRendererGL(&settings_, output_surface_.get(), 385 renderer_.reset(new FakeRendererGL(&settings_, output_surface_.get(),
386 resource_provider_.get())); 386 resource_provider_.get()));
387 renderer_->Initialize(); 387 renderer_->Initialize();
388 renderer_->SetVisible(true); 388 renderer_->SetVisible(true);
389 } 389 }
390 390
391 void TestRenderPassProgram(TexCoordPrecision precision, 391 void TestRenderPassProgram(TexCoordPrecision precision,
392 BlendMode blend_mode) { 392 BlendMode blend_mode) {
393 EXPECT_PROGRAM_VALID( 393 EXPECT_PROGRAM_VALID(
394 &renderer_->render_pass_program_[precision][blend_mode]); 394 &renderer_->render_pass_program_[precision][blend_mode]);
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
606 TEST_F(GLRendererTest, InitializationDoesNotMakeSynchronousCalls) { 606 TEST_F(GLRendererTest, InitializationDoesNotMakeSynchronousCalls) {
607 FakeOutputSurfaceClient output_surface_client; 607 FakeOutputSurfaceClient output_surface_client;
608 std::unique_ptr<OutputSurface> output_surface( 608 std::unique_ptr<OutputSurface> output_surface(
609 FakeOutputSurface::Create3d(std::unique_ptr<TestWebGraphicsContext3D>( 609 FakeOutputSurface::Create3d(std::unique_ptr<TestWebGraphicsContext3D>(
610 new ForbidSynchronousCallContext))); 610 new ForbidSynchronousCallContext)));
611 CHECK(output_surface->BindToClient(&output_surface_client)); 611 CHECK(output_surface->BindToClient(&output_surface_client));
612 612
613 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 613 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
614 new TestSharedBitmapManager()); 614 new TestSharedBitmapManager());
615 std::unique_ptr<ResourceProvider> resource_provider = 615 std::unique_ptr<ResourceProvider> resource_provider =
616 FakeResourceProvider::Create(output_surface.get(), 616 FakeResourceProvider::Create(output_surface->context_provider(),
617 shared_bitmap_manager.get()); 617 shared_bitmap_manager.get());
618 618
619 RendererSettings settings; 619 RendererSettings settings;
620 FakeRendererGL renderer(&settings, output_surface.get(), 620 FakeRendererGL renderer(&settings, output_surface.get(),
621 resource_provider.get()); 621 resource_provider.get());
622 } 622 }
623 623
624 class LoseContextOnFirstGetContext : public TestWebGraphicsContext3D { 624 class LoseContextOnFirstGetContext : public TestWebGraphicsContext3D {
625 public: 625 public:
626 LoseContextOnFirstGetContext() {} 626 LoseContextOnFirstGetContext() {}
(...skipping 12 matching lines...) Expand all
639 TEST_F(GLRendererTest, InitializationWithQuicklyLostContextDoesNotAssert) { 639 TEST_F(GLRendererTest, InitializationWithQuicklyLostContextDoesNotAssert) {
640 FakeOutputSurfaceClient output_surface_client; 640 FakeOutputSurfaceClient output_surface_client;
641 std::unique_ptr<OutputSurface> output_surface( 641 std::unique_ptr<OutputSurface> output_surface(
642 FakeOutputSurface::Create3d(std::unique_ptr<TestWebGraphicsContext3D>( 642 FakeOutputSurface::Create3d(std::unique_ptr<TestWebGraphicsContext3D>(
643 new LoseContextOnFirstGetContext))); 643 new LoseContextOnFirstGetContext)));
644 CHECK(output_surface->BindToClient(&output_surface_client)); 644 CHECK(output_surface->BindToClient(&output_surface_client));
645 645
646 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 646 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
647 new TestSharedBitmapManager()); 647 new TestSharedBitmapManager());
648 std::unique_ptr<ResourceProvider> resource_provider = 648 std::unique_ptr<ResourceProvider> resource_provider =
649 FakeResourceProvider::Create(output_surface.get(), 649 FakeResourceProvider::Create(output_surface->context_provider(),
650 shared_bitmap_manager.get()); 650 shared_bitmap_manager.get());
651 651
652 RendererSettings settings; 652 RendererSettings settings;
653 FakeRendererGL renderer(&settings, output_surface.get(), 653 FakeRendererGL renderer(&settings, output_surface.get(),
654 resource_provider.get()); 654 resource_provider.get());
655 } 655 }
656 656
657 class ClearCountingContext : public TestWebGraphicsContext3D { 657 class ClearCountingContext : public TestWebGraphicsContext3D {
658 public: 658 public:
659 ClearCountingContext() { test_capabilities_.discard_framebuffer = true; } 659 ClearCountingContext() { test_capabilities_.discard_framebuffer = true; }
(...skipping 10 matching lines...) Expand all
670 ClearCountingContext* context = context_owned.get(); 670 ClearCountingContext* context = context_owned.get();
671 671
672 FakeOutputSurfaceClient output_surface_client; 672 FakeOutputSurfaceClient output_surface_client;
673 std::unique_ptr<OutputSurface> output_surface( 673 std::unique_ptr<OutputSurface> output_surface(
674 FakeOutputSurface::Create3d(std::move(context_owned))); 674 FakeOutputSurface::Create3d(std::move(context_owned)));
675 CHECK(output_surface->BindToClient(&output_surface_client)); 675 CHECK(output_surface->BindToClient(&output_surface_client));
676 676
677 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 677 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
678 new TestSharedBitmapManager()); 678 new TestSharedBitmapManager());
679 std::unique_ptr<ResourceProvider> resource_provider = 679 std::unique_ptr<ResourceProvider> resource_provider =
680 FakeResourceProvider::Create(output_surface.get(), 680 FakeResourceProvider::Create(output_surface->context_provider(),
681 shared_bitmap_manager.get()); 681 shared_bitmap_manager.get());
682 682
683 RendererSettings settings; 683 RendererSettings settings;
684 FakeRendererGL renderer(&settings, output_surface.get(), 684 FakeRendererGL renderer(&settings, output_surface.get(),
685 resource_provider.get()); 685 resource_provider.get());
686 renderer.Initialize(); 686 renderer.Initialize();
687 renderer.SetVisible(true); 687 renderer.SetVisible(true);
688 688
689 gfx::Rect viewport_rect(1, 1); 689 gfx::Rect viewport_rect(1, 1);
690 RenderPass* root_pass = 690 RenderPass* root_pass =
(...skipping 20 matching lines...) Expand all
711 ClearCountingContext* context = context_owned.get(); 711 ClearCountingContext* context = context_owned.get();
712 712
713 FakeOutputSurfaceClient output_surface_client; 713 FakeOutputSurfaceClient output_surface_client;
714 std::unique_ptr<OutputSurface> output_surface( 714 std::unique_ptr<OutputSurface> output_surface(
715 FakeOutputSurface::Create3d(std::move(context_owned))); 715 FakeOutputSurface::Create3d(std::move(context_owned)));
716 CHECK(output_surface->BindToClient(&output_surface_client)); 716 CHECK(output_surface->BindToClient(&output_surface_client));
717 717
718 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 718 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
719 new TestSharedBitmapManager()); 719 new TestSharedBitmapManager());
720 std::unique_ptr<ResourceProvider> resource_provider = 720 std::unique_ptr<ResourceProvider> resource_provider =
721 FakeResourceProvider::Create(output_surface.get(), 721 FakeResourceProvider::Create(output_surface->context_provider(),
722 shared_bitmap_manager.get()); 722 shared_bitmap_manager.get());
723 723
724 RendererSettings settings; 724 RendererSettings settings;
725 FakeRendererGL renderer(&settings, output_surface.get(), 725 FakeRendererGL renderer(&settings, output_surface.get(),
726 resource_provider.get()); 726 resource_provider.get());
727 renderer.Initialize(); 727 renderer.Initialize();
728 renderer.SetVisible(true); 728 renderer.SetVisible(true);
729 729
730 gfx::Rect viewport_rect(1, 1); 730 gfx::Rect viewport_rect(1, 1);
731 RenderPass* root_pass = 731 RenderPass* root_pass =
(...skipping 13 matching lines...) Expand all
745 ClearCountingContext* context = context_owned.get(); 745 ClearCountingContext* context = context_owned.get();
746 746
747 FakeOutputSurfaceClient output_surface_client; 747 FakeOutputSurfaceClient output_surface_client;
748 std::unique_ptr<OutputSurface> output_surface( 748 std::unique_ptr<OutputSurface> output_surface(
749 FakeOutputSurface::CreateOffscreen(std::move(context_owned))); 749 FakeOutputSurface::CreateOffscreen(std::move(context_owned)));
750 CHECK(output_surface->BindToClient(&output_surface_client)); 750 CHECK(output_surface->BindToClient(&output_surface_client));
751 751
752 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 752 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
753 new TestSharedBitmapManager()); 753 new TestSharedBitmapManager());
754 std::unique_ptr<ResourceProvider> resource_provider = 754 std::unique_ptr<ResourceProvider> resource_provider =
755 FakeResourceProvider::Create(output_surface.get(), 755 FakeResourceProvider::Create(output_surface->context_provider(),
756 shared_bitmap_manager.get()); 756 shared_bitmap_manager.get());
757 757
758 RendererSettings settings; 758 RendererSettings settings;
759 FakeRendererGL renderer(&settings, output_surface.get(), 759 FakeRendererGL renderer(&settings, output_surface.get(),
760 resource_provider.get()); 760 resource_provider.get());
761 renderer.Initialize(); 761 renderer.Initialize();
762 renderer.SetVisible(true); 762 renderer.SetVisible(true);
763 763
764 gfx::Rect viewport_rect(1, 1); 764 gfx::Rect viewport_rect(1, 1);
765 AddRenderPass(&render_passes_in_draw_order_, 765 AddRenderPass(&render_passes_in_draw_order_,
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
803 TextureStateTrackingContext* context = context_owned.get(); 803 TextureStateTrackingContext* context = context_owned.get();
804 804
805 FakeOutputSurfaceClient output_surface_client; 805 FakeOutputSurfaceClient output_surface_client;
806 std::unique_ptr<OutputSurface> output_surface( 806 std::unique_ptr<OutputSurface> output_surface(
807 FakeOutputSurface::Create3d(std::move(context_owned))); 807 FakeOutputSurface::Create3d(std::move(context_owned)));
808 CHECK(output_surface->BindToClient(&output_surface_client)); 808 CHECK(output_surface->BindToClient(&output_surface_client));
809 809
810 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 810 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
811 new TestSharedBitmapManager()); 811 new TestSharedBitmapManager());
812 std::unique_ptr<ResourceProvider> resource_provider = 812 std::unique_ptr<ResourceProvider> resource_provider =
813 FakeResourceProvider::Create(output_surface.get(), 813 FakeResourceProvider::Create(output_surface->context_provider(),
814 shared_bitmap_manager.get()); 814 shared_bitmap_manager.get());
815 815
816 RendererSettings settings; 816 RendererSettings settings;
817 FakeRendererGL renderer(&settings, output_surface.get(), 817 FakeRendererGL renderer(&settings, output_surface.get(),
818 resource_provider.get()); 818 resource_provider.get());
819 renderer.Initialize(); 819 renderer.Initialize();
820 renderer.SetVisible(true); 820 renderer.SetVisible(true);
821 821
822 // During initialization we are allowed to set any texture parameters. 822 // During initialization we are allowed to set any texture parameters.
823 EXPECT_CALL(*context, texParameteri(_, _, _)).Times(AnyNumber()); 823 EXPECT_CALL(*context, texParameteri(_, _, _)).Times(AnyNumber());
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
884 NoClearRootRenderPassMockContext* mock_context = mock_context_owned.get(); 884 NoClearRootRenderPassMockContext* mock_context = mock_context_owned.get();
885 885
886 FakeOutputSurfaceClient output_surface_client; 886 FakeOutputSurfaceClient output_surface_client;
887 std::unique_ptr<OutputSurface> output_surface( 887 std::unique_ptr<OutputSurface> output_surface(
888 FakeOutputSurface::Create3d(std::move(mock_context_owned))); 888 FakeOutputSurface::Create3d(std::move(mock_context_owned)));
889 CHECK(output_surface->BindToClient(&output_surface_client)); 889 CHECK(output_surface->BindToClient(&output_surface_client));
890 890
891 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 891 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
892 new TestSharedBitmapManager()); 892 new TestSharedBitmapManager());
893 std::unique_ptr<ResourceProvider> resource_provider = 893 std::unique_ptr<ResourceProvider> resource_provider =
894 FakeResourceProvider::Create(output_surface.get(), 894 FakeResourceProvider::Create(output_surface->context_provider(),
895 shared_bitmap_manager.get()); 895 shared_bitmap_manager.get());
896 896
897 RendererSettings settings; 897 RendererSettings settings;
898 settings.should_clear_root_render_pass = false; 898 settings.should_clear_root_render_pass = false;
899 899
900 FakeRendererGL renderer(&settings, output_surface.get(), 900 FakeRendererGL renderer(&settings, output_surface.get(),
901 resource_provider.get()); 901 resource_provider.get());
902 renderer.Initialize(); 902 renderer.Initialize();
903 renderer.SetVisible(true); 903 renderer.SetVisible(true);
904 904
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
970 auto gl_owned = base::MakeUnique<ScissorTestOnClearCheckingGLES2Interface>(); 970 auto gl_owned = base::MakeUnique<ScissorTestOnClearCheckingGLES2Interface>();
971 971
972 FakeOutputSurfaceClient output_surface_client; 972 FakeOutputSurfaceClient output_surface_client;
973 std::unique_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d( 973 std::unique_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d(
974 TestContextProvider::Create(std::move(gl_owned)))); 974 TestContextProvider::Create(std::move(gl_owned))));
975 CHECK(output_surface->BindToClient(&output_surface_client)); 975 CHECK(output_surface->BindToClient(&output_surface_client));
976 976
977 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 977 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
978 new TestSharedBitmapManager()); 978 new TestSharedBitmapManager());
979 std::unique_ptr<ResourceProvider> resource_provider = 979 std::unique_ptr<ResourceProvider> resource_provider =
980 FakeResourceProvider::Create(output_surface.get(), 980 FakeResourceProvider::Create(output_surface->context_provider(),
981 shared_bitmap_manager.get()); 981 shared_bitmap_manager.get());
982 982
983 RendererSettings settings; 983 RendererSettings settings;
984 FakeRendererGL renderer(&settings, output_surface.get(), 984 FakeRendererGL renderer(&settings, output_surface.get(),
985 resource_provider.get()); 985 resource_provider.get());
986 renderer.Initialize(); 986 renderer.Initialize();
987 EXPECT_FALSE(renderer.use_partial_swap()); 987 EXPECT_FALSE(renderer.use_partial_swap());
988 renderer.SetVisible(true); 988 renderer.SetVisible(true);
989 989
990 gfx::Rect viewport_rect(1, 1); 990 gfx::Rect viewport_rect(1, 1);
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1059 1059
1060 FakeOutputSurfaceClient output_surface_client; 1060 FakeOutputSurfaceClient output_surface_client;
1061 std::unique_ptr<NonReshapableOutputSurface> output_surface( 1061 std::unique_ptr<NonReshapableOutputSurface> output_surface(
1062 new NonReshapableOutputSurface(std::move(gl_owned))); 1062 new NonReshapableOutputSurface(std::move(gl_owned)));
1063 CHECK(output_surface->BindToClient(&output_surface_client)); 1063 CHECK(output_surface->BindToClient(&output_surface_client));
1064 output_surface->set_fixed_size(gfx::Size(100, 100)); 1064 output_surface->set_fixed_size(gfx::Size(100, 100));
1065 1065
1066 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 1066 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
1067 new TestSharedBitmapManager()); 1067 new TestSharedBitmapManager());
1068 std::unique_ptr<ResourceProvider> resource_provider = 1068 std::unique_ptr<ResourceProvider> resource_provider =
1069 FakeResourceProvider::Create(output_surface.get(), 1069 FakeResourceProvider::Create(output_surface->context_provider(),
1070 shared_bitmap_manager.get()); 1070 shared_bitmap_manager.get());
1071 1071
1072 RendererSettings settings; 1072 RendererSettings settings;
1073 settings.partial_swap_enabled = true; 1073 settings.partial_swap_enabled = true;
1074 FakeRendererGL renderer(&settings, output_surface.get(), 1074 FakeRendererGL renderer(&settings, output_surface.get(),
1075 resource_provider.get()); 1075 resource_provider.get());
1076 renderer.Initialize(); 1076 renderer.Initialize();
1077 EXPECT_TRUE(renderer.use_partial_swap()); 1077 EXPECT_TRUE(renderer.use_partial_swap());
1078 renderer.SetVisible(true); 1078 renderer.SetVisible(true);
1079 1079
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
1193 EXPECT_CALL(*gl_owned, Scissor(30, 450, 20, 20)); 1193 EXPECT_CALL(*gl_owned, Scissor(30, 450, 20, 20));
1194 1194
1195 FakeOutputSurfaceClient output_surface_client; 1195 FakeOutputSurfaceClient output_surface_client;
1196 std::unique_ptr<OutputSurface> output_surface( 1196 std::unique_ptr<OutputSurface> output_surface(
1197 new NonReshapableOutputSurface(std::move(gl_owned))); 1197 new NonReshapableOutputSurface(std::move(gl_owned)));
1198 CHECK(output_surface->BindToClient(&output_surface_client)); 1198 CHECK(output_surface->BindToClient(&output_surface_client));
1199 1199
1200 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 1200 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
1201 new TestSharedBitmapManager()); 1201 new TestSharedBitmapManager());
1202 std::unique_ptr<ResourceProvider> resource_provider = 1202 std::unique_ptr<ResourceProvider> resource_provider =
1203 FakeResourceProvider::Create(output_surface.get(), 1203 FakeResourceProvider::Create(output_surface->context_provider(),
1204 shared_bitmap_manager.get()); 1204 shared_bitmap_manager.get());
1205 1205
1206 RendererSettings settings; 1206 RendererSettings settings;
1207 FakeRendererGL renderer(&settings, output_surface.get(), 1207 FakeRendererGL renderer(&settings, output_surface.get(),
1208 resource_provider.get()); 1208 resource_provider.get());
1209 renderer.Initialize(); 1209 renderer.Initialize();
1210 EXPECT_FALSE(renderer.use_partial_swap()); 1210 EXPECT_FALSE(renderer.use_partial_swap());
1211 renderer.SetVisible(true); 1211 renderer.SetVisible(true);
1212 1212
1213 gfx::Rect device_viewport_rect(10, 10, 100, 100); 1213 gfx::Rect device_viewport_rect(10, 10, 100, 100);
(...skipping 17 matching lines...) Expand all
1231 // Note: there is one path that will set it to 0, but that is after the render 1231 // Note: there is one path that will set it to 0, but that is after the render
1232 // has finished. 1232 // has finished.
1233 FakeOutputSurfaceClient output_surface_client; 1233 FakeOutputSurfaceClient output_surface_client;
1234 std::unique_ptr<FakeOutputSurface> output_surface( 1234 std::unique_ptr<FakeOutputSurface> output_surface(
1235 FakeOutputSurface::Create3d(TestWebGraphicsContext3D::Create())); 1235 FakeOutputSurface::Create3d(TestWebGraphicsContext3D::Create()));
1236 CHECK(output_surface->BindToClient(&output_surface_client)); 1236 CHECK(output_surface->BindToClient(&output_surface_client));
1237 1237
1238 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 1238 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
1239 new TestSharedBitmapManager()); 1239 new TestSharedBitmapManager());
1240 std::unique_ptr<ResourceProvider> resource_provider = 1240 std::unique_ptr<ResourceProvider> resource_provider =
1241 FakeResourceProvider::Create(output_surface.get(), 1241 FakeResourceProvider::Create(output_surface->context_provider(),
1242 shared_bitmap_manager.get()); 1242 shared_bitmap_manager.get());
1243 1243
1244 RendererSettings settings; 1244 RendererSettings settings;
1245 FakeRendererGL renderer(&settings, output_surface.get(), 1245 FakeRendererGL renderer(&settings, output_surface.get(),
1246 resource_provider.get()); 1246 resource_provider.get());
1247 renderer.Initialize(); 1247 renderer.Initialize();
1248 EXPECT_FALSE(renderer.use_partial_swap()); 1248 EXPECT_FALSE(renderer.use_partial_swap());
1249 renderer.SetVisible(true); 1249 renderer.SetVisible(true);
1250 1250
1251 gfx::Rect device_viewport_rect(0, 0, 100, 100); 1251 gfx::Rect device_viewport_rect(0, 0, 100, 100);
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
1617 }; 1617 };
1618 1618
1619 class MockOutputSurfaceTest : public GLRendererTest { 1619 class MockOutputSurfaceTest : public GLRendererTest {
1620 protected: 1620 protected:
1621 virtual void SetUp() { 1621 virtual void SetUp() {
1622 FakeOutputSurfaceClient output_surface_client_; 1622 FakeOutputSurfaceClient output_surface_client_;
1623 CHECK(output_surface_.BindToClient(&output_surface_client_)); 1623 CHECK(output_surface_.BindToClient(&output_surface_client_));
1624 1624
1625 shared_bitmap_manager_.reset(new TestSharedBitmapManager()); 1625 shared_bitmap_manager_.reset(new TestSharedBitmapManager());
1626 resource_provider_ = FakeResourceProvider::Create( 1626 resource_provider_ = FakeResourceProvider::Create(
1627 &output_surface_, shared_bitmap_manager_.get()); 1627 output_surface_.context_provider(), shared_bitmap_manager_.get());
1628 1628
1629 renderer_.reset(new FakeRendererGL(&settings_, &output_surface_, 1629 renderer_.reset(new FakeRendererGL(&settings_, &output_surface_,
1630 resource_provider_.get())); 1630 resource_provider_.get()));
1631 renderer_->Initialize(); 1631 renderer_->Initialize();
1632 1632
1633 EXPECT_CALL(output_surface_, EnsureBackbuffer()).Times(1); 1633 EXPECT_CALL(output_surface_, EnsureBackbuffer()).Times(1);
1634 renderer_->SetVisible(true); 1634 renderer_->SetVisible(true);
1635 } 1635 }
1636 1636
1637 void SwapBuffers() { renderer_->SwapBuffers(CompositorFrameMetadata()); } 1637 void SwapBuffers() { renderer_->SwapBuffers(CompositorFrameMetadata()); }
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
1773 1773
1774 TEST_F(GLRendererTest, DontOverlayWithCopyRequests) { 1774 TEST_F(GLRendererTest, DontOverlayWithCopyRequests) {
1775 FakeOutputSurfaceClient output_surface_client; 1775 FakeOutputSurfaceClient output_surface_client;
1776 std::unique_ptr<FakeOutputSurface> output_surface( 1776 std::unique_ptr<FakeOutputSurface> output_surface(
1777 FakeOutputSurface::Create3d()); 1777 FakeOutputSurface::Create3d());
1778 CHECK(output_surface->BindToClient(&output_surface_client)); 1778 CHECK(output_surface->BindToClient(&output_surface_client));
1779 1779
1780 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 1780 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
1781 new TestSharedBitmapManager()); 1781 new TestSharedBitmapManager());
1782 std::unique_ptr<ResourceProvider> resource_provider = 1782 std::unique_ptr<ResourceProvider> resource_provider =
1783 FakeResourceProvider::Create(output_surface.get(), 1783 FakeResourceProvider::Create(output_surface->context_provider(),
1784 shared_bitmap_manager.get()); 1784 shared_bitmap_manager.get());
1785 std::unique_ptr<TextureMailboxDeleter> mailbox_deleter( 1785 std::unique_ptr<TextureMailboxDeleter> mailbox_deleter(
1786 new TextureMailboxDeleter(base::ThreadTaskRunnerHandle::Get())); 1786 new TextureMailboxDeleter(base::ThreadTaskRunnerHandle::Get()));
1787 1787
1788 RendererSettings settings; 1788 RendererSettings settings;
1789 FakeRendererGL renderer(&settings, output_surface.get(), 1789 FakeRendererGL renderer(&settings, output_surface.get(),
1790 resource_provider.get(), mailbox_deleter.get()); 1790 resource_provider.get(), mailbox_deleter.get());
1791 renderer.Initialize(); 1791 renderer.Initialize();
1792 renderer.SetVisible(true); 1792 renderer.SetVisible(true);
1793 1793
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
1930 &MockOverlayScheduler::Schedule, base::Unretained(&overlay_scheduler))); 1930 &MockOverlayScheduler::Schedule, base::Unretained(&overlay_scheduler)));
1931 1931
1932 FakeOutputSurfaceClient output_surface_client; 1932 FakeOutputSurfaceClient output_surface_client;
1933 std::unique_ptr<OutputSurface> output_surface( 1933 std::unique_ptr<OutputSurface> output_surface(
1934 FakeOutputSurface::Create3d(context_provider)); 1934 FakeOutputSurface::Create3d(context_provider));
1935 CHECK(output_surface->BindToClient(&output_surface_client)); 1935 CHECK(output_surface->BindToClient(&output_surface_client));
1936 1936
1937 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 1937 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
1938 new TestSharedBitmapManager()); 1938 new TestSharedBitmapManager());
1939 std::unique_ptr<ResourceProvider> resource_provider = 1939 std::unique_ptr<ResourceProvider> resource_provider =
1940 FakeResourceProvider::Create(output_surface.get(), 1940 FakeResourceProvider::Create(output_surface->context_provider(),
1941 shared_bitmap_manager.get()); 1941 shared_bitmap_manager.get());
1942 std::unique_ptr<TextureMailboxDeleter> mailbox_deleter( 1942 std::unique_ptr<TextureMailboxDeleter> mailbox_deleter(
1943 new TextureMailboxDeleter(base::ThreadTaskRunnerHandle::Get())); 1943 new TextureMailboxDeleter(base::ThreadTaskRunnerHandle::Get()));
1944 1944
1945 RendererSettings settings; 1945 RendererSettings settings;
1946 FakeRendererGL renderer(&settings, output_surface.get(), 1946 FakeRendererGL renderer(&settings, output_surface.get(),
1947 resource_provider.get(), mailbox_deleter.get()); 1947 resource_provider.get(), mailbox_deleter.get());
1948 renderer.Initialize(); 1948 renderer.Initialize();
1949 renderer.SetVisible(true); 1949 renderer.SetVisible(true);
1950 1950
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
2011 void RunTest(bool partial_swap) { 2011 void RunTest(bool partial_swap) {
2012 auto gl_owned = base::MakeUnique<PartialSwapMockGLES2Interface>(); 2012 auto gl_owned = base::MakeUnique<PartialSwapMockGLES2Interface>();
2013 auto* gl = gl_owned.get(); 2013 auto* gl = gl_owned.get();
2014 2014
2015 FakeOutputSurfaceClient output_surface_client; 2015 FakeOutputSurfaceClient output_surface_client;
2016 std::unique_ptr<FakeOutputSurface> output_surface( 2016 std::unique_ptr<FakeOutputSurface> output_surface(
2017 FakeOutputSurface::Create3d(std::move(gl_owned))); 2017 FakeOutputSurface::Create3d(std::move(gl_owned)));
2018 CHECK(output_surface->BindToClient(&output_surface_client)); 2018 CHECK(output_surface->BindToClient(&output_surface_client));
2019 2019
2020 std::unique_ptr<ResourceProvider> resource_provider = 2020 std::unique_ptr<ResourceProvider> resource_provider =
2021 FakeResourceProvider::Create(output_surface.get(), nullptr); 2021 FakeResourceProvider::Create(output_surface->context_provider(),
2022 nullptr);
2022 2023
2023 RendererSettings settings; 2024 RendererSettings settings;
2024 settings.partial_swap_enabled = partial_swap; 2025 settings.partial_swap_enabled = partial_swap;
2025 FakeRendererGL renderer(&settings, output_surface.get(), 2026 FakeRendererGL renderer(&settings, output_surface.get(),
2026 resource_provider.get()); 2027 resource_provider.get());
2027 renderer.Initialize(); 2028 renderer.Initialize();
2028 EXPECT_EQ(partial_swap, renderer.use_partial_swap()); 2029 EXPECT_EQ(partial_swap, renderer.use_partial_swap());
2029 renderer.SetVisible(true); 2030 renderer.SetVisible(true);
2030 2031
2031 gfx::Rect viewport_rect(100, 100); 2032 gfx::Rect viewport_rect(100, 100);
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
2088 void(bool aggressively_free_resources)); 2089 void(bool aggressively_free_resources));
2089 }; 2090 };
2090 2091
2091 void SetUp() override { 2092 void SetUp() override {
2092 auto context_support = base::MakeUnique<MockContextSupport>(); 2093 auto context_support = base::MakeUnique<MockContextSupport>();
2093 context_support_ptr_ = context_support.get(); 2094 context_support_ptr_ = context_support.get();
2094 auto context_provider = TestContextProvider::Create( 2095 auto context_provider = TestContextProvider::Create(
2095 TestWebGraphicsContext3D::Create(), std::move(context_support)); 2096 TestWebGraphicsContext3D::Create(), std::move(context_support));
2096 output_surface_ = FakeOutputSurface::Create3d(std::move(context_provider)); 2097 output_surface_ = FakeOutputSurface::Create3d(std::move(context_provider));
2097 output_surface_->BindToClient(&output_surface_client_); 2098 output_surface_->BindToClient(&output_surface_client_);
2098 resource_provider_ = 2099 resource_provider_ = FakeResourceProvider::Create(
2099 FakeResourceProvider::Create(output_surface_.get(), nullptr); 2100 output_surface_->context_provider(), nullptr);
2100 renderer_ = 2101 renderer_ =
2101 base::MakeUnique<GLRenderer>(&settings_, output_surface_.get(), 2102 base::MakeUnique<GLRenderer>(&settings_, output_surface_.get(),
2102 resource_provider_.get(), nullptr, 0); 2103 resource_provider_.get(), nullptr, 0);
2103 renderer_->Initialize(); 2104 renderer_->Initialize();
2104 } 2105 }
2105 2106
2106 RendererSettings settings_; 2107 RendererSettings settings_;
2107 FakeOutputSurfaceClient output_surface_client_; 2108 FakeOutputSurfaceClient output_surface_client_;
2108 MockContextSupport* context_support_ptr_; 2109 MockContextSupport* context_support_ptr_;
2109 std::unique_ptr<OutputSurface> output_surface_; 2110 std::unique_ptr<OutputSurface> output_surface_;
2110 std::unique_ptr<ResourceProvider> resource_provider_; 2111 std::unique_ptr<ResourceProvider> resource_provider_;
2111 std::unique_ptr<GLRenderer> renderer_; 2112 std::unique_ptr<GLRenderer> renderer_;
2112 }; 2113 };
2113 2114
2114 TEST_F(GLRendererWithMockContextTest, 2115 TEST_F(GLRendererWithMockContextTest,
2115 ContextPurgedWhenRendererBecomesInvisible) { 2116 ContextPurgedWhenRendererBecomesInvisible) {
2116 EXPECT_CALL(*context_support_ptr_, SetAggressivelyFreeResources(false)); 2117 EXPECT_CALL(*context_support_ptr_, SetAggressivelyFreeResources(false));
2117 renderer_->SetVisible(true); 2118 renderer_->SetVisible(true);
2118 Mock::VerifyAndClearExpectations(context_support_ptr_); 2119 Mock::VerifyAndClearExpectations(context_support_ptr_);
2119 2120
2120 EXPECT_CALL(*context_support_ptr_, SetAggressivelyFreeResources(true)); 2121 EXPECT_CALL(*context_support_ptr_, SetAggressivelyFreeResources(true));
2121 renderer_->SetVisible(false); 2122 renderer_->SetVisible(false);
2122 Mock::VerifyAndClearExpectations(context_support_ptr_); 2123 Mock::VerifyAndClearExpectations(context_support_ptr_);
2123 } 2124 }
2124 2125
2125 } // namespace 2126 } // namespace
2126 } // namespace cc 2127 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/compositor_frame_sink_client.h ('k') | cc/output/overlay_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698