OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "cc/output/gl_renderer.h" | 5 #include "cc/output/gl_renderer.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 | 8 |
9 #include "cc/base/math_util.h" | 9 #include "cc/base/math_util.h" |
10 #include "cc/output/compositor_frame_metadata.h" | 10 #include "cc/output/compositor_frame_metadata.h" |
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 1.f, | 326 1.f, |
327 viewport_rect, | 327 viewport_rect, |
328 viewport_rect, | 328 viewport_rect, |
329 false); | 329 false); |
330 EXPECT_FALSE(renderer_->IsBackbufferDiscarded()); | 330 EXPECT_FALSE(renderer_->IsBackbufferDiscarded()); |
331 | 331 |
332 SwapBuffers(); | 332 SwapBuffers(); |
333 EXPECT_EQ(1u, output_surface_->num_sent_frames()); | 333 EXPECT_EQ(1u, output_surface_->num_sent_frames()); |
334 } | 334 } |
335 | 335 |
336 TEST_F(GLRendererWithDefaultHarnessTest, | |
337 FramebufferDiscardedAfterReadbackWhenNotVisible) { | |
338 gfx::Rect viewport_rect(1, 1); | |
339 renderer_->SetVisible(false); | |
340 EXPECT_TRUE(renderer_->IsBackbufferDiscarded()); | |
341 EXPECT_EQ(1, renderer_client_.set_full_root_layer_damage_count()); | |
342 | |
343 AddRenderPass(&render_passes_in_draw_order_, | |
344 RenderPass::Id(1, 0), | |
345 viewport_rect, | |
346 gfx::Transform()); | |
347 | |
348 char pixels[4]; | |
349 renderer_->DrawFrame(&render_passes_in_draw_order_, | |
350 1.f, | |
351 viewport_rect, | |
352 viewport_rect, | |
353 false); | |
354 EXPECT_FALSE(renderer_->IsBackbufferDiscarded()); | |
355 | |
356 renderer_->GetFramebufferPixels(pixels, gfx::Rect(0, 0, 1, 1)); | |
357 EXPECT_TRUE(renderer_->IsBackbufferDiscarded()); | |
358 EXPECT_EQ(2, renderer_client_.set_full_root_layer_damage_count()); | |
359 } | |
360 | |
361 TEST_F(GLRendererWithDefaultHarnessTest, ExternalStencil) { | 336 TEST_F(GLRendererWithDefaultHarnessTest, ExternalStencil) { |
362 gfx::Rect viewport_rect(1, 1); | 337 gfx::Rect viewport_rect(1, 1); |
363 EXPECT_FALSE(renderer_->stencil_enabled()); | 338 EXPECT_FALSE(renderer_->stencil_enabled()); |
364 | 339 |
365 output_surface_->set_has_external_stencil_test(true); | 340 output_surface_->set_has_external_stencil_test(true); |
366 | 341 |
367 TestRenderPass* root_pass = AddRenderPass(&render_passes_in_draw_order_, | 342 TestRenderPass* root_pass = AddRenderPass(&render_passes_in_draw_order_, |
368 RenderPass::Id(1, 0), | 343 RenderPass::Id(1, 0), |
369 viewport_rect, | 344 viewport_rect, |
370 gfx::Transform()); | 345 gfx::Transform()); |
(...skipping 1412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1783 base::MessageLoop::current()->Run(); | 1758 base::MessageLoop::current()->Run(); |
1784 | 1759 |
1785 // The sync point should have happened. | 1760 // The sync point should have happened. |
1786 EXPECT_EQ(1, sync_point_callback_count); | 1761 EXPECT_EQ(1, sync_point_callback_count); |
1787 EXPECT_EQ(1, other_callback_count); | 1762 EXPECT_EQ(1, other_callback_count); |
1788 } | 1763 } |
1789 #endif // OS_ANDROID | 1764 #endif // OS_ANDROID |
1790 | 1765 |
1791 } // namespace | 1766 } // namespace |
1792 } // namespace cc | 1767 } // namespace cc |
OLD | NEW |