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 <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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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(); |
enne (OOO)
2016/08/17 17:48:42
Now that there's a required initialize, can there
danakj
2016/08/17 18:16:41
Ya I did that to find all the places that need it,
| |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 |
OLD | NEW |