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

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

Issue 2253823002: cc: Remove all impl-side caps from RendererCapabilitiesImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@delete-renderer-base-class
Patch Set: renderercaps: ennereview Created 4 years, 4 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/gl_renderer.cc ('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 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 138
139 void TestBasicShaders() { 139 void TestBasicShaders() {
140 EXPECT_PROGRAM_VALID(renderer()->GetDebugBorderProgram()); 140 EXPECT_PROGRAM_VALID(renderer()->GetDebugBorderProgram());
141 EXPECT_PROGRAM_VALID(renderer()->GetSolidColorProgram()); 141 EXPECT_PROGRAM_VALID(renderer()->GetSolidColorProgram());
142 EXPECT_PROGRAM_VALID(renderer()->GetSolidColorProgramAA()); 142 EXPECT_PROGRAM_VALID(renderer()->GetSolidColorProgramAA());
143 } 143 }
144 144
145 void TestShadersWithPrecision(TexCoordPrecision precision) { 145 void TestShadersWithPrecision(TexCoordPrecision precision) {
146 // This program uses external textures and sampler, so it won't compile 146 // This program uses external textures and sampler, so it won't compile
147 // everywhere. 147 // everywhere.
148 if (renderer()->Capabilities().using_egl_image) 148 if (context_provider()->ContextCapabilities().egl_image_external)
149 EXPECT_PROGRAM_VALID(renderer()->GetVideoStreamTextureProgram(precision)); 149 EXPECT_PROGRAM_VALID(renderer()->GetVideoStreamTextureProgram(precision));
150 } 150 }
151 151
152 void TestShadersWithPrecisionAndBlend(TexCoordPrecision precision, 152 void TestShadersWithPrecisionAndBlend(TexCoordPrecision precision,
153 BlendMode blend_mode) { 153 BlendMode blend_mode) {
154 EXPECT_PROGRAM_VALID( 154 EXPECT_PROGRAM_VALID(
155 renderer()->GetRenderPassProgram(precision, blend_mode)); 155 renderer()->GetRenderPassProgram(precision, blend_mode));
156 EXPECT_PROGRAM_VALID( 156 EXPECT_PROGRAM_VALID(
157 renderer()->GetRenderPassProgramAA(precision, blend_mode)); 157 renderer()->GetRenderPassProgramAA(precision, blend_mode));
158 } 158 }
159 159
160 void TestShadersWithPrecisionAndSampler(TexCoordPrecision precision, 160 void TestShadersWithPrecisionAndSampler(TexCoordPrecision precision,
161 SamplerType sampler) { 161 SamplerType sampler) {
162 if (!renderer()->Capabilities().using_egl_image && 162 if (!context_provider()->ContextCapabilities().egl_image_external &&
163 sampler == SAMPLER_TYPE_EXTERNAL_OES) { 163 sampler == SAMPLER_TYPE_EXTERNAL_OES) {
164 // This will likely be hit in tests due to usage of osmesa. 164 // This will likely be hit in tests due to usage of osmesa.
165 return; 165 return;
166 } 166 }
167 167
168 EXPECT_PROGRAM_VALID(renderer()->GetTextureProgram(precision, sampler)); 168 EXPECT_PROGRAM_VALID(renderer()->GetTextureProgram(precision, sampler));
169 EXPECT_PROGRAM_VALID( 169 EXPECT_PROGRAM_VALID(
170 renderer()->GetNonPremultipliedTextureProgram(precision, sampler)); 170 renderer()->GetNonPremultipliedTextureProgram(precision, sampler));
171 EXPECT_PROGRAM_VALID( 171 EXPECT_PROGRAM_VALID(
172 renderer()->GetTextureBackgroundProgram(precision, sampler)); 172 renderer()->GetTextureBackgroundProgram(precision, sampler));
(...skipping 16 matching lines...) Expand all
189 renderer()->GetVideoYUVProgram(precision, sampler, j, k, l)); 189 renderer()->GetVideoYUVProgram(precision, sampler, j, k, l));
190 } 190 }
191 } 191 }
192 } 192 }
193 } 193 }
194 194
195 void TestShadersWithMasks(TexCoordPrecision precision, 195 void TestShadersWithMasks(TexCoordPrecision precision,
196 SamplerType sampler, 196 SamplerType sampler,
197 BlendMode blend_mode, 197 BlendMode blend_mode,
198 bool mask_for_background) { 198 bool mask_for_background) {
199 if (!renderer()->Capabilities().using_egl_image && 199 if (!context_provider()->ContextCapabilities().egl_image_external &&
200 sampler == SAMPLER_TYPE_EXTERNAL_OES) { 200 sampler == SAMPLER_TYPE_EXTERNAL_OES) {
201 // This will likely be hit in tests due to usage of osmesa. 201 // This will likely be hit in tests due to usage of osmesa.
202 return; 202 return;
203 } 203 }
204 204
205 EXPECT_PROGRAM_VALID(renderer()->GetRenderPassMaskProgram( 205 EXPECT_PROGRAM_VALID(renderer()->GetRenderPassMaskProgram(
206 precision, sampler, blend_mode, mask_for_background)); 206 precision, sampler, blend_mode, mask_for_background));
207 EXPECT_PROGRAM_VALID(renderer()->GetRenderPassMaskProgramAA( 207 EXPECT_PROGRAM_VALID(renderer()->GetRenderPassMaskProgramAA(
208 precision, sampler, blend_mode, mask_for_background)); 208 precision, sampler, blend_mode, mask_for_background));
209 EXPECT_PROGRAM_VALID(renderer()->GetRenderPassMaskColorMatrixProgramAA( 209 EXPECT_PROGRAM_VALID(renderer()->GetRenderPassMaskColorMatrixProgramAA(
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
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_.get(), shared_bitmap_manager_.get());
355 renderer_ = base::WrapUnique(new FakeRendererGL( 355 renderer_ = base::WrapUnique(new FakeRendererGL(
356 &settings_, output_surface_.get(), resource_provider_.get())); 356 &settings_, output_surface_.get(), resource_provider_.get()));
357 renderer_->Initialize();
357 renderer_->SetVisible(true); 358 renderer_->SetVisible(true);
358 } 359 }
359 360
360 void SwapBuffers() { renderer_->SwapBuffers(CompositorFrameMetadata()); } 361 void SwapBuffers() { renderer_->SwapBuffers(CompositorFrameMetadata()); }
361 362
362 RendererSettings settings_; 363 RendererSettings settings_;
363 FakeOutputSurfaceClient output_surface_client_; 364 FakeOutputSurfaceClient output_surface_client_;
364 std::unique_ptr<FakeOutputSurface> output_surface_; 365 std::unique_ptr<FakeOutputSurface> output_surface_;
365 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_; 366 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_;
366 std::unique_ptr<ResourceProvider> resource_provider_; 367 std::unique_ptr<ResourceProvider> resource_provider_;
367 std::unique_ptr<FakeRendererGL> renderer_; 368 std::unique_ptr<FakeRendererGL> renderer_;
368 }; 369 };
369 370
370 // Closing the namespace here so that GLRendererShaderTest can take advantage 371 // Closing the namespace here so that GLRendererShaderTest can take advantage
371 // 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
372 // declared above it. 373 // declared above it.
373 } // namespace 374 } // namespace
374 375
375 class GLRendererShaderTest : public GLRendererTest { 376 class GLRendererShaderTest : public GLRendererTest {
376 protected: 377 protected:
377 GLRendererShaderTest() { 378 GLRendererShaderTest() {
378 output_surface_ = FakeOutputSurface::Create3d(); 379 output_surface_ = FakeOutputSurface::Create3d();
379 CHECK(output_surface_->BindToClient(&output_surface_client_)); 380 CHECK(output_surface_->BindToClient(&output_surface_client_));
380 381
381 shared_bitmap_manager_.reset(new TestSharedBitmapManager()); 382 shared_bitmap_manager_.reset(new TestSharedBitmapManager());
382 resource_provider_ = FakeResourceProvider::Create( 383 resource_provider_ = FakeResourceProvider::Create(
383 output_surface_.get(), shared_bitmap_manager_.get()); 384 output_surface_.get(), shared_bitmap_manager_.get());
384 renderer_.reset(new FakeRendererGL(&settings_, output_surface_.get(), 385 renderer_.reset(new FakeRendererGL(&settings_, output_surface_.get(),
385 resource_provider_.get())); 386 resource_provider_.get()));
387 renderer_->Initialize();
386 renderer_->SetVisible(true); 388 renderer_->SetVisible(true);
387 } 389 }
388 390
389 void TestRenderPassProgram(TexCoordPrecision precision, 391 void TestRenderPassProgram(TexCoordPrecision precision,
390 BlendMode blend_mode) { 392 BlendMode blend_mode) {
391 EXPECT_PROGRAM_VALID( 393 EXPECT_PROGRAM_VALID(
392 &renderer_->render_pass_program_[precision][blend_mode]); 394 &renderer_->render_pass_program_[precision][blend_mode]);
393 EXPECT_EQ(renderer_->render_pass_program_[precision][blend_mode].program(), 395 EXPECT_EQ(renderer_->render_pass_program_[precision][blend_mode].program(),
394 renderer_->program_shadow_); 396 renderer_->program_shadow_);
395 } 397 }
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 676
675 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 677 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
676 new TestSharedBitmapManager()); 678 new TestSharedBitmapManager());
677 std::unique_ptr<ResourceProvider> resource_provider = 679 std::unique_ptr<ResourceProvider> resource_provider =
678 FakeResourceProvider::Create(output_surface.get(), 680 FakeResourceProvider::Create(output_surface.get(),
679 shared_bitmap_manager.get()); 681 shared_bitmap_manager.get());
680 682
681 RendererSettings settings; 683 RendererSettings settings;
682 FakeRendererGL renderer(&settings, output_surface.get(), 684 FakeRendererGL renderer(&settings, output_surface.get(),
683 resource_provider.get()); 685 resource_provider.get());
686 renderer.Initialize();
684 renderer.SetVisible(true); 687 renderer.SetVisible(true);
685 688
686 gfx::Rect viewport_rect(1, 1); 689 gfx::Rect viewport_rect(1, 1);
687 RenderPass* root_pass = 690 RenderPass* root_pass =
688 AddRenderPass(&render_passes_in_draw_order_, RenderPassId(1, 0), 691 AddRenderPass(&render_passes_in_draw_order_, RenderPassId(1, 0),
689 viewport_rect, gfx::Transform()); 692 viewport_rect, gfx::Transform());
690 root_pass->has_transparent_background = false; 693 root_pass->has_transparent_background = false;
691 694
692 // On DEBUG builds, render passes with opaque background clear to blue to 695 // On DEBUG builds, render passes with opaque background clear to blue to
693 // easily see regions that were not drawn on the screen. 696 // easily see regions that were not drawn on the screen.
(...skipping 20 matching lines...) Expand all
714 717
715 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 718 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
716 new TestSharedBitmapManager()); 719 new TestSharedBitmapManager());
717 std::unique_ptr<ResourceProvider> resource_provider = 720 std::unique_ptr<ResourceProvider> resource_provider =
718 FakeResourceProvider::Create(output_surface.get(), 721 FakeResourceProvider::Create(output_surface.get(),
719 shared_bitmap_manager.get()); 722 shared_bitmap_manager.get());
720 723
721 RendererSettings settings; 724 RendererSettings settings;
722 FakeRendererGL renderer(&settings, output_surface.get(), 725 FakeRendererGL renderer(&settings, output_surface.get(),
723 resource_provider.get()); 726 resource_provider.get());
727 renderer.Initialize();
724 renderer.SetVisible(true); 728 renderer.SetVisible(true);
725 729
726 gfx::Rect viewport_rect(1, 1); 730 gfx::Rect viewport_rect(1, 1);
727 RenderPass* root_pass = 731 RenderPass* root_pass =
728 AddRenderPass(&render_passes_in_draw_order_, RenderPassId(1, 0), 732 AddRenderPass(&render_passes_in_draw_order_, RenderPassId(1, 0),
729 viewport_rect, gfx::Transform()); 733 viewport_rect, gfx::Transform());
730 root_pass->has_transparent_background = true; 734 root_pass->has_transparent_background = true;
731 735
732 EXPECT_CALL(*context, discardFramebufferEXT(GL_FRAMEBUFFER, 1, _)).Times(1); 736 EXPECT_CALL(*context, discardFramebufferEXT(GL_FRAMEBUFFER, 1, _)).Times(1);
733 EXPECT_CALL(*context, clear(_)).Times(1); 737 EXPECT_CALL(*context, clear(_)).Times(1);
(...skipping 13 matching lines...) Expand all
747 751
748 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 752 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
749 new TestSharedBitmapManager()); 753 new TestSharedBitmapManager());
750 std::unique_ptr<ResourceProvider> resource_provider = 754 std::unique_ptr<ResourceProvider> resource_provider =
751 FakeResourceProvider::Create(output_surface.get(), 755 FakeResourceProvider::Create(output_surface.get(),
752 shared_bitmap_manager.get()); 756 shared_bitmap_manager.get());
753 757
754 RendererSettings settings; 758 RendererSettings settings;
755 FakeRendererGL renderer(&settings, output_surface.get(), 759 FakeRendererGL renderer(&settings, output_surface.get(),
756 resource_provider.get()); 760 resource_provider.get());
761 renderer.Initialize();
757 renderer.SetVisible(true); 762 renderer.SetVisible(true);
758 763
759 gfx::Rect viewport_rect(1, 1); 764 gfx::Rect viewport_rect(1, 1);
760 AddRenderPass(&render_passes_in_draw_order_, 765 AddRenderPass(&render_passes_in_draw_order_,
761 RenderPassId(1, 0), 766 RenderPassId(1, 0),
762 viewport_rect, 767 viewport_rect,
763 gfx::Transform()); 768 gfx::Transform());
764 769
765 EXPECT_CALL(*context, discardFramebufferEXT(GL_FRAMEBUFFER, _, _)) 770 EXPECT_CALL(*context, discardFramebufferEXT(GL_FRAMEBUFFER, _, _))
766 .With(Args<2, 1>(ElementsAre(GL_COLOR_ATTACHMENT0))) 771 .With(Args<2, 1>(ElementsAre(GL_COLOR_ATTACHMENT0)))
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 809
805 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 810 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
806 new TestSharedBitmapManager()); 811 new TestSharedBitmapManager());
807 std::unique_ptr<ResourceProvider> resource_provider = 812 std::unique_ptr<ResourceProvider> resource_provider =
808 FakeResourceProvider::Create(output_surface.get(), 813 FakeResourceProvider::Create(output_surface.get(),
809 shared_bitmap_manager.get()); 814 shared_bitmap_manager.get());
810 815
811 RendererSettings settings; 816 RendererSettings settings;
812 FakeRendererGL renderer(&settings, output_surface.get(), 817 FakeRendererGL renderer(&settings, output_surface.get(),
813 resource_provider.get()); 818 resource_provider.get());
819 renderer.Initialize();
814 renderer.SetVisible(true); 820 renderer.SetVisible(true);
815 821
816 // During initialization we are allowed to set any texture parameters. 822 // During initialization we are allowed to set any texture parameters.
817 EXPECT_CALL(*context, texParameteri(_, _, _)).Times(AnyNumber()); 823 EXPECT_CALL(*context, texParameteri(_, _, _)).Times(AnyNumber());
818 824
819 RenderPass* root_pass = 825 RenderPass* root_pass =
820 AddRenderPass(&render_passes_in_draw_order_, RenderPassId(1, 1), 826 AddRenderPass(&render_passes_in_draw_order_, RenderPassId(1, 1),
821 gfx::Rect(100, 100), gfx::Transform()); 827 gfx::Rect(100, 100), gfx::Transform());
822 gpu::SyncToken mailbox_sync_token; 828 gpu::SyncToken mailbox_sync_token;
823 AddOneOfEveryQuadType(root_pass, resource_provider.get(), RenderPassId(0, 0), 829 AddOneOfEveryQuadType(root_pass, resource_provider.get(), RenderPassId(0, 0),
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
886 new TestSharedBitmapManager()); 892 new TestSharedBitmapManager());
887 std::unique_ptr<ResourceProvider> resource_provider = 893 std::unique_ptr<ResourceProvider> resource_provider =
888 FakeResourceProvider::Create(output_surface.get(), 894 FakeResourceProvider::Create(output_surface.get(),
889 shared_bitmap_manager.get()); 895 shared_bitmap_manager.get());
890 896
891 RendererSettings settings; 897 RendererSettings settings;
892 settings.should_clear_root_render_pass = false; 898 settings.should_clear_root_render_pass = false;
893 899
894 FakeRendererGL renderer(&settings, output_surface.get(), 900 FakeRendererGL renderer(&settings, output_surface.get(),
895 resource_provider.get()); 901 resource_provider.get());
902 renderer.Initialize();
896 renderer.SetVisible(true); 903 renderer.SetVisible(true);
897 904
898 gfx::Rect viewport_rect(10, 10); 905 gfx::Rect viewport_rect(10, 10);
899 906
900 RenderPassId child_pass_id(2, 0); 907 RenderPassId child_pass_id(2, 0);
901 RenderPass* child_pass = 908 RenderPass* child_pass =
902 AddRenderPass(&render_passes_in_draw_order_, child_pass_id, viewport_rect, 909 AddRenderPass(&render_passes_in_draw_order_, child_pass_id, viewport_rect,
903 gfx::Transform()); 910 gfx::Transform());
904 AddQuad(child_pass, viewport_rect, SK_ColorBLUE); 911 AddQuad(child_pass, viewport_rect, SK_ColorBLUE);
905 912
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
969 976
970 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 977 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
971 new TestSharedBitmapManager()); 978 new TestSharedBitmapManager());
972 std::unique_ptr<ResourceProvider> resource_provider = 979 std::unique_ptr<ResourceProvider> resource_provider =
973 FakeResourceProvider::Create(output_surface.get(), 980 FakeResourceProvider::Create(output_surface.get(),
974 shared_bitmap_manager.get()); 981 shared_bitmap_manager.get());
975 982
976 RendererSettings settings; 983 RendererSettings settings;
977 FakeRendererGL renderer(&settings, output_surface.get(), 984 FakeRendererGL renderer(&settings, output_surface.get(),
978 resource_provider.get()); 985 resource_provider.get());
979 EXPECT_FALSE(renderer.Capabilities().using_partial_swap); 986 renderer.Initialize();
987 EXPECT_FALSE(renderer.use_partial_swap());
980 renderer.SetVisible(true); 988 renderer.SetVisible(true);
981 989
982 gfx::Rect viewport_rect(1, 1); 990 gfx::Rect viewport_rect(1, 1);
983 991
984 gfx::Rect grand_child_rect(25, 25); 992 gfx::Rect grand_child_rect(25, 25);
985 RenderPassId grand_child_pass_id(3, 0); 993 RenderPassId grand_child_pass_id(3, 0);
986 RenderPass* grand_child_pass = 994 RenderPass* grand_child_pass =
987 AddRenderPass(&render_passes_in_draw_order_, grand_child_pass_id, 995 AddRenderPass(&render_passes_in_draw_order_, grand_child_pass_id,
988 grand_child_rect, gfx::Transform()); 996 grand_child_rect, gfx::Transform());
989 AddClippedQuad(grand_child_pass, grand_child_rect, SK_ColorYELLOW); 997 AddClippedQuad(grand_child_pass, grand_child_rect, SK_ColorYELLOW);
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1058 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 1066 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
1059 new TestSharedBitmapManager()); 1067 new TestSharedBitmapManager());
1060 std::unique_ptr<ResourceProvider> resource_provider = 1068 std::unique_ptr<ResourceProvider> resource_provider =
1061 FakeResourceProvider::Create(output_surface.get(), 1069 FakeResourceProvider::Create(output_surface.get(),
1062 shared_bitmap_manager.get()); 1070 shared_bitmap_manager.get());
1063 1071
1064 RendererSettings settings; 1072 RendererSettings settings;
1065 settings.partial_swap_enabled = true; 1073 settings.partial_swap_enabled = true;
1066 FakeRendererGL renderer(&settings, output_surface.get(), 1074 FakeRendererGL renderer(&settings, output_surface.get(),
1067 resource_provider.get()); 1075 resource_provider.get());
1068 EXPECT_TRUE(renderer.Capabilities().using_partial_swap); 1076 renderer.Initialize();
1077 EXPECT_TRUE(renderer.use_partial_swap());
1069 renderer.SetVisible(true); 1078 renderer.SetVisible(true);
1070 1079
1071 gfx::Rect viewport_rect(100, 100); 1080 gfx::Rect viewport_rect(100, 100);
1072 gfx::Rect clip_rect(100, 100); 1081 gfx::Rect clip_rect(100, 100);
1073 1082
1074 { 1083 {
1075 // Partial frame, should not discard. 1084 // Partial frame, should not discard.
1076 RenderPassId root_pass_id(1, 0); 1085 RenderPassId root_pass_id(1, 0);
1077 RenderPass* root_pass = 1086 RenderPass* root_pass =
1078 AddRenderPass(&render_passes_in_draw_order_, root_pass_id, 1087 AddRenderPass(&render_passes_in_draw_order_, root_pass_id,
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
1190 1199
1191 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 1200 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
1192 new TestSharedBitmapManager()); 1201 new TestSharedBitmapManager());
1193 std::unique_ptr<ResourceProvider> resource_provider = 1202 std::unique_ptr<ResourceProvider> resource_provider =
1194 FakeResourceProvider::Create(output_surface.get(), 1203 FakeResourceProvider::Create(output_surface.get(),
1195 shared_bitmap_manager.get()); 1204 shared_bitmap_manager.get());
1196 1205
1197 RendererSettings settings; 1206 RendererSettings settings;
1198 FakeRendererGL renderer(&settings, output_surface.get(), 1207 FakeRendererGL renderer(&settings, output_surface.get(),
1199 resource_provider.get()); 1208 resource_provider.get());
1200 EXPECT_FALSE(renderer.Capabilities().using_partial_swap); 1209 renderer.Initialize();
1210 EXPECT_FALSE(renderer.use_partial_swap());
1201 renderer.SetVisible(true); 1211 renderer.SetVisible(true);
1202 1212
1203 gfx::Rect device_viewport_rect(10, 10, 100, 100); 1213 gfx::Rect device_viewport_rect(10, 10, 100, 100);
1204 gfx::Rect viewport_rect(device_viewport_rect.size()); 1214 gfx::Rect viewport_rect(device_viewport_rect.size());
1205 gfx::Rect quad_rect = gfx::Rect(20, 20, 20, 20); 1215 gfx::Rect quad_rect = gfx::Rect(20, 20, 20, 20);
1206 1216
1207 RenderPassId root_pass_id(1, 0); 1217 RenderPassId root_pass_id(1, 0);
1208 RenderPass* root_pass = 1218 RenderPass* root_pass =
1209 AddRenderPass(&render_passes_in_draw_order_, root_pass_id, viewport_rect, 1219 AddRenderPass(&render_passes_in_draw_order_, root_pass_id, viewport_rect,
1210 gfx::Transform()); 1220 gfx::Transform());
(...skipping 16 matching lines...) Expand all
1227 1237
1228 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager( 1238 std::unique_ptr<SharedBitmapManager> shared_bitmap_manager(
1229 new TestSharedBitmapManager()); 1239 new TestSharedBitmapManager());
1230 std::unique_ptr<ResourceProvider> resource_provider = 1240 std::unique_ptr<ResourceProvider> resource_provider =
1231 FakeResourceProvider::Create(output_surface.get(), 1241 FakeResourceProvider::Create(output_surface.get(),
1232 shared_bitmap_manager.get()); 1242 shared_bitmap_manager.get());
1233 1243
1234 RendererSettings settings; 1244 RendererSettings settings;
1235 FakeRendererGL renderer(&settings, output_surface.get(), 1245 FakeRendererGL renderer(&settings, output_surface.get(),
1236 resource_provider.get()); 1246 resource_provider.get());
1237 EXPECT_FALSE(renderer.Capabilities().using_partial_swap); 1247 renderer.Initialize();
1248 EXPECT_FALSE(renderer.use_partial_swap());
1238 renderer.SetVisible(true); 1249 renderer.SetVisible(true);
1239 1250
1240 gfx::Rect device_viewport_rect(0, 0, 100, 100); 1251 gfx::Rect device_viewport_rect(0, 0, 100, 100);
1241 gfx::Rect viewport_rect(device_viewport_rect.size()); 1252 gfx::Rect viewport_rect(device_viewport_rect.size());
1242 gfx::Rect quad_rect = gfx::Rect(20, 20, 20, 20); 1253 gfx::Rect quad_rect = gfx::Rect(20, 20, 20, 20);
1243 1254
1244 RenderPassId root_pass_id(1, 0); 1255 RenderPassId root_pass_id(1, 0);
1245 RenderPass* root_pass = 1256 RenderPass* root_pass =
1246 AddRenderPass(&render_passes_in_draw_order_, root_pass_id, viewport_rect, 1257 AddRenderPass(&render_passes_in_draw_order_, root_pass_id, viewport_rect,
1247 gfx::Transform()); 1258 gfx::Transform());
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after
1610 virtual void SetUp() { 1621 virtual void SetUp() {
1611 FakeOutputSurfaceClient output_surface_client_; 1622 FakeOutputSurfaceClient output_surface_client_;
1612 CHECK(output_surface_.BindToClient(&output_surface_client_)); 1623 CHECK(output_surface_.BindToClient(&output_surface_client_));
1613 1624
1614 shared_bitmap_manager_.reset(new TestSharedBitmapManager()); 1625 shared_bitmap_manager_.reset(new TestSharedBitmapManager());
1615 resource_provider_ = FakeResourceProvider::Create( 1626 resource_provider_ = FakeResourceProvider::Create(
1616 &output_surface_, shared_bitmap_manager_.get()); 1627 &output_surface_, shared_bitmap_manager_.get());
1617 1628
1618 renderer_.reset(new FakeRendererGL(&settings_, &output_surface_, 1629 renderer_.reset(new FakeRendererGL(&settings_, &output_surface_,
1619 resource_provider_.get())); 1630 resource_provider_.get()));
1631 renderer_->Initialize();
1620 1632
1621 EXPECT_CALL(output_surface_, EnsureBackbuffer()).Times(1); 1633 EXPECT_CALL(output_surface_, EnsureBackbuffer()).Times(1);
1622 renderer_->SetVisible(true); 1634 renderer_->SetVisible(true);
1623 } 1635 }
1624 1636
1625 void SwapBuffers() { renderer_->SwapBuffers(CompositorFrameMetadata()); } 1637 void SwapBuffers() { renderer_->SwapBuffers(CompositorFrameMetadata()); }
1626 1638
1627 void DrawFrame(float device_scale_factor, 1639 void DrawFrame(float device_scale_factor,
1628 const gfx::Rect& device_viewport_rect, 1640 const gfx::Rect& device_viewport_rect,
1629 bool transparent) { 1641 bool transparent) {
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
1769 new TestSharedBitmapManager()); 1781 new TestSharedBitmapManager());
1770 std::unique_ptr<ResourceProvider> resource_provider = 1782 std::unique_ptr<ResourceProvider> resource_provider =
1771 FakeResourceProvider::Create(output_surface.get(), 1783 FakeResourceProvider::Create(output_surface.get(),
1772 shared_bitmap_manager.get()); 1784 shared_bitmap_manager.get());
1773 std::unique_ptr<TextureMailboxDeleter> mailbox_deleter( 1785 std::unique_ptr<TextureMailboxDeleter> mailbox_deleter(
1774 new TextureMailboxDeleter(base::ThreadTaskRunnerHandle::Get())); 1786 new TextureMailboxDeleter(base::ThreadTaskRunnerHandle::Get()));
1775 1787
1776 RendererSettings settings; 1788 RendererSettings settings;
1777 FakeRendererGL renderer(&settings, output_surface.get(), 1789 FakeRendererGL renderer(&settings, output_surface.get(),
1778 resource_provider.get(), mailbox_deleter.get()); 1790 resource_provider.get(), mailbox_deleter.get());
1791 renderer.Initialize();
1779 renderer.SetVisible(true); 1792 renderer.SetVisible(true);
1780 1793
1781 TestOverlayProcessor* processor = 1794 TestOverlayProcessor* processor =
1782 new TestOverlayProcessor(output_surface.get()); 1795 new TestOverlayProcessor(output_surface.get());
1783 processor->Initialize(); 1796 processor->Initialize();
1784 renderer.SetOverlayProcessor(processor); 1797 renderer.SetOverlayProcessor(processor);
1785 std::unique_ptr<TestOverlayProcessor::Validator> validator( 1798 std::unique_ptr<TestOverlayProcessor::Validator> validator(
1786 new TestOverlayProcessor::Validator); 1799 new TestOverlayProcessor::Validator);
1787 output_surface->SetOverlayCandidateValidator(validator.get()); 1800 output_surface->SetOverlayCandidateValidator(validator.get());
1788 1801
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
1927 new TestSharedBitmapManager()); 1940 new TestSharedBitmapManager());
1928 std::unique_ptr<ResourceProvider> resource_provider = 1941 std::unique_ptr<ResourceProvider> resource_provider =
1929 FakeResourceProvider::Create(output_surface.get(), 1942 FakeResourceProvider::Create(output_surface.get(),
1930 shared_bitmap_manager.get()); 1943 shared_bitmap_manager.get());
1931 std::unique_ptr<TextureMailboxDeleter> mailbox_deleter( 1944 std::unique_ptr<TextureMailboxDeleter> mailbox_deleter(
1932 new TextureMailboxDeleter(base::ThreadTaskRunnerHandle::Get())); 1945 new TextureMailboxDeleter(base::ThreadTaskRunnerHandle::Get()));
1933 1946
1934 RendererSettings settings; 1947 RendererSettings settings;
1935 FakeRendererGL renderer(&settings, output_surface.get(), 1948 FakeRendererGL renderer(&settings, output_surface.get(),
1936 resource_provider.get(), mailbox_deleter.get()); 1949 resource_provider.get(), mailbox_deleter.get());
1950 renderer.Initialize();
1937 renderer.SetVisible(true); 1951 renderer.SetVisible(true);
1938 1952
1939 SingleOverlayOnTopProcessor* processor = 1953 SingleOverlayOnTopProcessor* processor =
1940 new SingleOverlayOnTopProcessor(output_surface.get()); 1954 new SingleOverlayOnTopProcessor(output_surface.get());
1941 processor->Initialize(); 1955 processor->Initialize();
1942 renderer.SetOverlayProcessor(processor); 1956 renderer.SetOverlayProcessor(processor);
1943 1957
1944 gfx::Rect viewport_rect(1, 1); 1958 gfx::Rect viewport_rect(1, 1);
1945 RenderPass* root_pass = 1959 RenderPass* root_pass =
1946 AddRenderPass(&render_passes_in_draw_order_, RenderPassId(1, 0), 1960 AddRenderPass(&render_passes_in_draw_order_, RenderPassId(1, 0),
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
2005 FakeOutputSurface::Create3d(std::move(gl_owned))); 2019 FakeOutputSurface::Create3d(std::move(gl_owned)));
2006 CHECK(output_surface->BindToClient(&output_surface_client)); 2020 CHECK(output_surface->BindToClient(&output_surface_client));
2007 2021
2008 std::unique_ptr<ResourceProvider> resource_provider = 2022 std::unique_ptr<ResourceProvider> resource_provider =
2009 FakeResourceProvider::Create(output_surface.get(), nullptr); 2023 FakeResourceProvider::Create(output_surface.get(), nullptr);
2010 2024
2011 RendererSettings settings; 2025 RendererSettings settings;
2012 settings.partial_swap_enabled = partial_swap; 2026 settings.partial_swap_enabled = partial_swap;
2013 FakeRendererGL renderer(&settings, output_surface.get(), 2027 FakeRendererGL renderer(&settings, output_surface.get(),
2014 resource_provider.get()); 2028 resource_provider.get());
2015 EXPECT_EQ(partial_swap, renderer.Capabilities().using_partial_swap); 2029 renderer.Initialize();
2030 EXPECT_EQ(partial_swap, renderer.use_partial_swap());
2016 renderer.SetVisible(true); 2031 renderer.SetVisible(true);
2017 2032
2018 gfx::Rect viewport_rect(100, 100); 2033 gfx::Rect viewport_rect(100, 100);
2019 gfx::Rect clip_rect(100, 100); 2034 gfx::Rect clip_rect(100, 100);
2020 2035
2021 { 2036 {
2022 RenderPassId root_pass_id(1, 0); 2037 RenderPassId root_pass_id(1, 0);
2023 RenderPass* root_pass = 2038 RenderPass* root_pass =
2024 AddRenderPass(&render_passes_in_draw_order_, root_pass_id, 2039 AddRenderPass(&render_passes_in_draw_order_, root_pass_id,
2025 viewport_rect, gfx::Transform()); 2040 viewport_rect, gfx::Transform());
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
2094 auto context_support = base::MakeUnique<MockContextSupport>(); 2109 auto context_support = base::MakeUnique<MockContextSupport>();
2095 context_support_ptr_ = context_support.get(); 2110 context_support_ptr_ = context_support.get();
2096 context_provider_ = new MockContextProvider(std::move(context_support)); 2111 context_provider_ = new MockContextProvider(std::move(context_support));
2097 output_surface_ = FakeOutputSurface::Create3d(context_provider_); 2112 output_surface_ = FakeOutputSurface::Create3d(context_provider_);
2098 output_surface_->BindToClient(&output_surface_client_); 2113 output_surface_->BindToClient(&output_surface_client_);
2099 resource_provider_ = 2114 resource_provider_ =
2100 FakeResourceProvider::Create(output_surface_.get(), nullptr); 2115 FakeResourceProvider::Create(output_surface_.get(), nullptr);
2101 renderer_ = 2116 renderer_ =
2102 base::MakeUnique<GLRenderer>(&settings_, output_surface_.get(), 2117 base::MakeUnique<GLRenderer>(&settings_, output_surface_.get(),
2103 resource_provider_.get(), nullptr, 0); 2118 resource_provider_.get(), nullptr, 0);
2119 renderer_->Initialize();
2104 } 2120 }
2105 2121
2106 RendererSettings settings_; 2122 RendererSettings settings_;
2107 FakeOutputSurfaceClient output_surface_client_; 2123 FakeOutputSurfaceClient output_surface_client_;
2108 MockContextSupport* context_support_ptr_; 2124 MockContextSupport* context_support_ptr_;
2109 scoped_refptr<MockContextProvider> context_provider_; 2125 scoped_refptr<MockContextProvider> context_provider_;
2110 std::unique_ptr<OutputSurface> output_surface_; 2126 std::unique_ptr<OutputSurface> output_surface_;
2111 std::unique_ptr<ResourceProvider> resource_provider_; 2127 std::unique_ptr<ResourceProvider> resource_provider_;
2112 std::unique_ptr<GLRenderer> renderer_; 2128 std::unique_ptr<GLRenderer> renderer_;
2113 }; 2129 };
(...skipping 14 matching lines...) Expand all
2128 EXPECT_CALL(*context_support_ptr_, AnyClientsVisible()) 2144 EXPECT_CALL(*context_support_ptr_, AnyClientsVisible())
2129 .WillOnce(Return(false)); 2145 .WillOnce(Return(false));
2130 EXPECT_CALL(*context_provider_, DeleteCachedResources()); 2146 EXPECT_CALL(*context_provider_, DeleteCachedResources());
2131 EXPECT_CALL(*context_support_ptr_, SetAggressivelyFreeResources(true)); 2147 EXPECT_CALL(*context_support_ptr_, SetAggressivelyFreeResources(true));
2132 renderer_->SetVisible(false); 2148 renderer_->SetVisible(false);
2133 Mock::VerifyAndClearExpectations(context_support_ptr_); 2149 Mock::VerifyAndClearExpectations(context_support_ptr_);
2134 } 2150 }
2135 2151
2136 } // namespace 2152 } // namespace
2137 } // namespace cc 2153 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/gl_renderer.cc ('k') | cc/output/overlay_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698