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

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

Issue 53633003: Do not give GPU memory to backgrounded compositors. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove test Created 7 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « cc/output/gl_renderer.cc ('k') | cc/output/managed_memory_policy.h » ('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 <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 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 LayerTreeSettings settings_; 378 LayerTreeSettings settings_;
379 FakeOutputSurfaceClient output_surface_client_; 379 FakeOutputSurfaceClient output_surface_client_;
380 scoped_ptr<FakeOutputSurface> output_surface_; 380 scoped_ptr<FakeOutputSurface> output_surface_;
381 FakeRendererClient renderer_client_; 381 FakeRendererClient renderer_client_;
382 scoped_ptr<ResourceProvider> resource_provider_; 382 scoped_ptr<ResourceProvider> resource_provider_;
383 scoped_ptr<FakeRendererGL> renderer_; 383 scoped_ptr<FakeRendererGL> renderer_;
384 }; 384 };
385 385
386 namespace { 386 namespace {
387 387
388 // Test GLRenderer discardBackbuffer functionality:
389 // Suggest recreating framebuffer when one already exists.
390 // Expected: it does nothing.
391 TEST_F(GLRendererTest, SuggestBackbufferYesWhenItAlreadyExistsShouldDoNothing) {
392 renderer_->SetDiscardBackBufferWhenNotVisible(false);
393 EXPECT_EQ(0, renderer_client_.set_full_root_layer_damage_count());
394 EXPECT_FALSE(renderer_->IsBackbufferDiscarded());
395
396 SwapBuffers();
397 EXPECT_EQ(1, context3d_->frame_count());
398 }
399
400 // Test GLRenderer DiscardBackbuffer functionality: 388 // Test GLRenderer DiscardBackbuffer functionality:
401 // Suggest discarding framebuffer when one exists and the renderer is not 389 // Suggest discarding framebuffer when one exists and the renderer is not
402 // visible. 390 // visible.
403 // Expected: it is discarded and damage tracker is reset. 391 // Expected: it is discarded and damage tracker is reset.
404 TEST_F( 392 TEST_F(
405 GLRendererTest, 393 GLRendererTest,
406 SuggestBackbufferNoShouldDiscardBackbufferAndDamageRootLayerIfNotVisible) { 394 SuggestBackbufferNoShouldDiscardBackbufferAndDamageRootLayerIfNotVisible) {
407 renderer_->SetVisible(false); 395 renderer_->SetVisible(false);
408 renderer_->SetDiscardBackBufferWhenNotVisible(true);
409 EXPECT_EQ(1, renderer_client_.set_full_root_layer_damage_count()); 396 EXPECT_EQ(1, renderer_client_.set_full_root_layer_damage_count());
410 EXPECT_TRUE(renderer_->IsBackbufferDiscarded()); 397 EXPECT_TRUE(renderer_->IsBackbufferDiscarded());
411 } 398 }
412 399
413 // Test GLRenderer DiscardBackbuffer functionality: 400 // Test GLRenderer DiscardBackbuffer functionality:
414 // Suggest discarding framebuffer when one exists and the renderer is visible. 401 // Suggest discarding framebuffer when one exists and the renderer is visible.
415 // Expected: the allocation is ignored. 402 // Expected: the allocation is ignored.
416 TEST_F(GLRendererTest, SuggestBackbufferNoDoNothingWhenVisible) { 403 TEST_F(GLRendererTest, SuggestBackbufferNoDoNothingWhenVisible) {
417 renderer_->SetVisible(true); 404 renderer_->SetVisible(true);
418 renderer_->SetDiscardBackBufferWhenNotVisible(true);
419 EXPECT_EQ(0, renderer_client_.set_full_root_layer_damage_count()); 405 EXPECT_EQ(0, renderer_client_.set_full_root_layer_damage_count());
420 EXPECT_FALSE(renderer_->IsBackbufferDiscarded()); 406 EXPECT_FALSE(renderer_->IsBackbufferDiscarded());
421 } 407 }
422 408
423 // Test GLRenderer DiscardBackbuffer functionality: 409 // Test GLRenderer DiscardBackbuffer functionality:
424 // Suggest discarding framebuffer when one does not exist. 410 // Suggest discarding framebuffer when one does not exist.
425 // Expected: it does nothing. 411 // Expected: it does nothing.
426 TEST_F(GLRendererTest, SuggestBackbufferNoWhenItDoesntExistShouldDoNothing) { 412 TEST_F(GLRendererTest, SuggestBackbufferNoWhenItDoesntExistShouldDoNothing) {
427 renderer_->SetVisible(false); 413 renderer_->SetVisible(false);
428 renderer_->SetDiscardBackBufferWhenNotVisible(true);
429 EXPECT_EQ(1, renderer_client_.set_full_root_layer_damage_count()); 414 EXPECT_EQ(1, renderer_client_.set_full_root_layer_damage_count());
430 EXPECT_TRUE(renderer_->IsBackbufferDiscarded()); 415 EXPECT_TRUE(renderer_->IsBackbufferDiscarded());
431 416
432 renderer_->SetDiscardBackBufferWhenNotVisible(true);
433 EXPECT_EQ(1, renderer_client_.set_full_root_layer_damage_count()); 417 EXPECT_EQ(1, renderer_client_.set_full_root_layer_damage_count());
434 EXPECT_TRUE(renderer_->IsBackbufferDiscarded()); 418 EXPECT_TRUE(renderer_->IsBackbufferDiscarded());
435 } 419 }
436 420
437 // Test GLRenderer DiscardBackbuffer functionality: 421 // Test GLRenderer DiscardBackbuffer functionality:
438 // Begin drawing a frame while a framebuffer is discarded. 422 // Begin drawing a frame while a framebuffer is discarded.
439 // Expected: will recreate framebuffer. 423 // Expected: will recreate framebuffer.
440 TEST_F(GLRendererTest, DiscardedBackbufferIsRecreatedForScopeDuration) { 424 TEST_F(GLRendererTest, DiscardedBackbufferIsRecreatedForScopeDuration) {
441 renderer_->SetVisible(false); 425 renderer_->SetVisible(false);
442 renderer_->SetDiscardBackBufferWhenNotVisible(true);
443 EXPECT_TRUE(renderer_->IsBackbufferDiscarded()); 426 EXPECT_TRUE(renderer_->IsBackbufferDiscarded());
444 EXPECT_EQ(1, renderer_client_.set_full_root_layer_damage_count()); 427 EXPECT_EQ(1, renderer_client_.set_full_root_layer_damage_count());
445 428
446 renderer_->SetVisible(true); 429 renderer_->SetVisible(true);
447 renderer_->DrawFrame( 430 renderer_->DrawFrame(
448 renderer_client_.render_passes_in_draw_order(), NULL, 1.f, true, false); 431 renderer_client_.render_passes_in_draw_order(), NULL, 1.f, true, false);
449 EXPECT_FALSE(renderer_->IsBackbufferDiscarded()); 432 EXPECT_FALSE(renderer_->IsBackbufferDiscarded());
450 433
451 SwapBuffers(); 434 SwapBuffers();
452 EXPECT_EQ(1, context3d_->frame_count()); 435 EXPECT_EQ(1, context3d_->frame_count());
453 } 436 }
454 437
455 TEST_F(GLRendererTest, FramebufferDiscardedAfterReadbackWhenNotVisible) { 438 TEST_F(GLRendererTest, FramebufferDiscardedAfterReadbackWhenNotVisible) {
456 renderer_->SetVisible(false); 439 renderer_->SetVisible(false);
457 renderer_->SetDiscardBackBufferWhenNotVisible(true);
458 EXPECT_TRUE(renderer_->IsBackbufferDiscarded()); 440 EXPECT_TRUE(renderer_->IsBackbufferDiscarded());
459 EXPECT_EQ(1, renderer_client_.set_full_root_layer_damage_count()); 441 EXPECT_EQ(1, renderer_client_.set_full_root_layer_damage_count());
460 442
461 char pixels[4]; 443 char pixels[4];
462 renderer_->DrawFrame( 444 renderer_->DrawFrame(
463 renderer_client_.render_passes_in_draw_order(), NULL, 1.f, true, false); 445 renderer_client_.render_passes_in_draw_order(), NULL, 1.f, true, false);
464 EXPECT_FALSE(renderer_->IsBackbufferDiscarded()); 446 EXPECT_FALSE(renderer_->IsBackbufferDiscarded());
465 447
466 renderer_->GetFramebufferPixels(pixels, gfx::Rect(0, 0, 1, 1)); 448 renderer_->GetFramebufferPixels(pixels, gfx::Rect(0, 0, 1, 1));
467 EXPECT_TRUE(renderer_->IsBackbufferDiscarded()); 449 EXPECT_TRUE(renderer_->IsBackbufferDiscarded());
(...skipping 1395 matching lines...) Expand 10 before | Expand all | Expand 10 after
1863 base::MessageLoop::current()->Run(); 1845 base::MessageLoop::current()->Run();
1864 1846
1865 // The sync point should have happened. 1847 // The sync point should have happened.
1866 EXPECT_EQ(1, sync_point_callback_count); 1848 EXPECT_EQ(1, sync_point_callback_count);
1867 EXPECT_EQ(1, other_callback_count); 1849 EXPECT_EQ(1, other_callback_count);
1868 } 1850 }
1869 #endif // OS_ANDROID 1851 #endif // OS_ANDROID
1870 1852
1871 } // namespace 1853 } // namespace
1872 } // namespace cc 1854 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/gl_renderer.cc ('k') | cc/output/managed_memory_policy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698