| 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 |