| Index: cc/output/gl_renderer_unittest.cc
|
| diff --git a/cc/output/gl_renderer_unittest.cc b/cc/output/gl_renderer_unittest.cc
|
| index 198977189a6a3973acbf39a3e03777d7419c6e38..f7178038719cd8504c58192a97038aa73622fd2f 100644
|
| --- a/cc/output/gl_renderer_unittest.cc
|
| +++ b/cc/output/gl_renderer_unittest.cc
|
| @@ -24,7 +24,6 @@
|
| #include "cc/test/fake_layer_tree_host_impl.h"
|
| #include "cc/test/fake_output_surface.h"
|
| #include "cc/test/fake_output_surface_client.h"
|
| -#include "cc/test/fake_renderer_client.h"
|
| #include "cc/test/fake_resource_provider.h"
|
| #include "cc/test/pixel_test.h"
|
| #include "cc/test/render_pass_test_utils.h"
|
| @@ -315,24 +314,16 @@ INSTANTIATE_TEST_CASE_P(MaskShadersCompile,
|
|
|
| class FakeRendererGL : public GLRenderer {
|
| public:
|
| - FakeRendererGL(RendererClient* client,
|
| - const RendererSettings* settings,
|
| + FakeRendererGL(const RendererSettings* settings,
|
| OutputSurface* output_surface,
|
| ResourceProvider* resource_provider)
|
| - : GLRenderer(client,
|
| - settings,
|
| - output_surface,
|
| - resource_provider,
|
| - NULL,
|
| - 0) {}
|
| + : GLRenderer(settings, output_surface, resource_provider, nullptr, 0) {}
|
|
|
| - FakeRendererGL(RendererClient* client,
|
| - const RendererSettings* settings,
|
| + FakeRendererGL(const RendererSettings* settings,
|
| OutputSurface* output_surface,
|
| ResourceProvider* resource_provider,
|
| TextureMailboxDeleter* texture_mailbox_deleter)
|
| - : GLRenderer(client,
|
| - settings,
|
| + : GLRenderer(settings,
|
| output_surface,
|
| resource_provider,
|
| texture_mailbox_deleter,
|
| @@ -345,7 +336,6 @@ class FakeRendererGL : public GLRenderer {
|
| // GLRenderer methods.
|
|
|
| // Changing visibility to public.
|
| - using GLRenderer::IsBackbufferDiscarded;
|
| using GLRenderer::DoDrawQuad;
|
| using GLRenderer::BeginDrawingFrame;
|
| using GLRenderer::FinishDrawingQuadList;
|
| @@ -362,9 +352,8 @@ class GLRendererWithDefaultHarnessTest : public GLRendererTest {
|
| shared_bitmap_manager_.reset(new TestSharedBitmapManager());
|
| resource_provider_ = FakeResourceProvider::Create(
|
| output_surface_.get(), shared_bitmap_manager_.get());
|
| - renderer_ = base::WrapUnique(
|
| - new FakeRendererGL(&renderer_client_, &settings_, output_surface_.get(),
|
| - resource_provider_.get()));
|
| + renderer_ = base::WrapUnique(new FakeRendererGL(
|
| + &settings_, output_surface_.get(), resource_provider_.get()));
|
| renderer_->SetVisible(true);
|
| }
|
|
|
| @@ -373,7 +362,6 @@ class GLRendererWithDefaultHarnessTest : public GLRendererTest {
|
| RendererSettings settings_;
|
| FakeOutputSurfaceClient output_surface_client_;
|
| std::unique_ptr<FakeOutputSurface> output_surface_;
|
| - FakeRendererClient renderer_client_;
|
| std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_;
|
| std::unique_ptr<ResourceProvider> resource_provider_;
|
| std::unique_ptr<FakeRendererGL> renderer_;
|
| @@ -393,9 +381,7 @@ class GLRendererShaderTest : public GLRendererTest {
|
| shared_bitmap_manager_.reset(new TestSharedBitmapManager());
|
| resource_provider_ = FakeResourceProvider::Create(
|
| output_surface_.get(), shared_bitmap_manager_.get());
|
| - renderer_.reset(new FakeRendererGL(&renderer_client_,
|
| - &settings_,
|
| - output_surface_.get(),
|
| + renderer_.reset(new FakeRendererGL(&settings_, output_surface_.get(),
|
| resource_provider_.get()));
|
| renderer_->SetVisible(true);
|
| }
|
| @@ -496,7 +482,6 @@ class GLRendererShaderTest : public GLRendererTest {
|
| RendererSettings settings_;
|
| FakeOutputSurfaceClient output_surface_client_;
|
| std::unique_ptr<FakeOutputSurface> output_surface_;
|
| - FakeRendererClient renderer_client_;
|
| std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_;
|
| std::unique_ptr<ResourceProvider> resource_provider_;
|
| std::unique_ptr<FakeRendererGL> renderer_;
|
| @@ -504,64 +489,6 @@ class GLRendererShaderTest : public GLRendererTest {
|
|
|
| namespace {
|
|
|
| -// Test GLRenderer DiscardBackbuffer functionality:
|
| -// Suggest discarding framebuffer when one exists and the renderer is not
|
| -// visible.
|
| -// Expected: it is discarded and damage tracker is reset.
|
| -TEST_F(
|
| - GLRendererWithDefaultHarnessTest,
|
| - SuggestBackbufferNoShouldDiscardBackbufferAndDamageRootLayerIfNotVisible) {
|
| - renderer_->SetVisible(false);
|
| - EXPECT_EQ(1, renderer_client_.set_full_root_layer_damage_count());
|
| - EXPECT_TRUE(renderer_->IsBackbufferDiscarded());
|
| -}
|
| -
|
| -// Test GLRenderer DiscardBackbuffer functionality:
|
| -// Suggest discarding framebuffer when one exists and the renderer is visible.
|
| -// Expected: the allocation is ignored.
|
| -TEST_F(GLRendererWithDefaultHarnessTest,
|
| - SuggestBackbufferNoDoNothingWhenVisible) {
|
| - renderer_->SetVisible(true);
|
| - EXPECT_EQ(0, renderer_client_.set_full_root_layer_damage_count());
|
| - EXPECT_FALSE(renderer_->IsBackbufferDiscarded());
|
| -}
|
| -
|
| -// Test GLRenderer DiscardBackbuffer functionality:
|
| -// Suggest discarding framebuffer when one does not exist.
|
| -// Expected: it does nothing.
|
| -TEST_F(GLRendererWithDefaultHarnessTest,
|
| - SuggestBackbufferNoWhenItDoesntExistShouldDoNothing) {
|
| - renderer_->SetVisible(false);
|
| - EXPECT_EQ(1, renderer_client_.set_full_root_layer_damage_count());
|
| - EXPECT_TRUE(renderer_->IsBackbufferDiscarded());
|
| -
|
| - EXPECT_EQ(1, renderer_client_.set_full_root_layer_damage_count());
|
| - EXPECT_TRUE(renderer_->IsBackbufferDiscarded());
|
| -}
|
| -
|
| -// Test GLRenderer DiscardBackbuffer functionality:
|
| -// Begin drawing a frame while a framebuffer is discarded.
|
| -// Expected: will recreate framebuffer.
|
| -TEST_F(GLRendererWithDefaultHarnessTest,
|
| - DiscardedBackbufferIsRecreatedForScopeDuration) {
|
| - gfx::Rect viewport_rect(1, 1);
|
| - renderer_->SetVisible(false);
|
| - EXPECT_TRUE(renderer_->IsBackbufferDiscarded());
|
| - EXPECT_EQ(1, renderer_client_.set_full_root_layer_damage_count());
|
| -
|
| - AddRenderPass(&render_passes_in_draw_order_,
|
| - RenderPassId(1, 0),
|
| - viewport_rect,
|
| - gfx::Transform());
|
| -
|
| - renderer_->SetVisible(true);
|
| - DrawFrame(renderer_.get(), viewport_rect);
|
| - EXPECT_FALSE(renderer_->IsBackbufferDiscarded());
|
| -
|
| - SwapBuffers();
|
| - EXPECT_EQ(1u, output_surface_->num_sent_frames());
|
| -}
|
| -
|
| TEST_F(GLRendererWithDefaultHarnessTest, ExternalStencil) {
|
| gfx::Rect viewport_rect(1, 1);
|
| EXPECT_FALSE(renderer_->stencil_enabled());
|
| @@ -688,10 +615,7 @@ TEST_F(GLRendererTest, InitializationDoesNotMakeSynchronousCalls) {
|
| shared_bitmap_manager.get());
|
|
|
| RendererSettings settings;
|
| - FakeRendererClient renderer_client;
|
| - FakeRendererGL renderer(&renderer_client,
|
| - &settings,
|
| - output_surface.get(),
|
| + FakeRendererGL renderer(&settings, output_surface.get(),
|
| resource_provider.get());
|
| }
|
|
|
| @@ -724,10 +648,7 @@ TEST_F(GLRendererTest, InitializationWithQuicklyLostContextDoesNotAssert) {
|
| shared_bitmap_manager.get());
|
|
|
| RendererSettings settings;
|
| - FakeRendererClient renderer_client;
|
| - FakeRendererGL renderer(&renderer_client,
|
| - &settings,
|
| - output_surface.get(),
|
| + FakeRendererGL renderer(&settings, output_surface.get(),
|
| resource_provider.get());
|
| }
|
|
|
| @@ -758,10 +679,7 @@ TEST_F(GLRendererTest, OpaqueBackground) {
|
| shared_bitmap_manager.get());
|
|
|
| RendererSettings settings;
|
| - FakeRendererClient renderer_client;
|
| - FakeRendererGL renderer(&renderer_client,
|
| - &settings,
|
| - output_surface.get(),
|
| + FakeRendererGL renderer(&settings, output_surface.get(),
|
| resource_provider.get());
|
| renderer.SetVisible(true);
|
|
|
| @@ -801,10 +719,7 @@ TEST_F(GLRendererTest, TransparentBackground) {
|
| shared_bitmap_manager.get());
|
|
|
| RendererSettings settings;
|
| - FakeRendererClient renderer_client;
|
| - FakeRendererGL renderer(&renderer_client,
|
| - &settings,
|
| - output_surface.get(),
|
| + FakeRendererGL renderer(&settings, output_surface.get(),
|
| resource_provider.get());
|
| renderer.SetVisible(true);
|
|
|
| @@ -837,10 +752,7 @@ TEST_F(GLRendererTest, OffscreenOutputSurface) {
|
| shared_bitmap_manager.get());
|
|
|
| RendererSettings settings;
|
| - FakeRendererClient renderer_client;
|
| - FakeRendererGL renderer(&renderer_client,
|
| - &settings,
|
| - output_surface.get(),
|
| + FakeRendererGL renderer(&settings, output_surface.get(),
|
| resource_provider.get());
|
| renderer.SetVisible(true);
|
|
|
| @@ -897,10 +809,7 @@ TEST_F(GLRendererTest, ActiveTextureState) {
|
| shared_bitmap_manager.get());
|
|
|
| RendererSettings settings;
|
| - FakeRendererClient renderer_client;
|
| - FakeRendererGL renderer(&renderer_client,
|
| - &settings,
|
| - output_surface.get(),
|
| + FakeRendererGL renderer(&settings, output_surface.get(),
|
| resource_provider.get());
|
| renderer.SetVisible(true);
|
|
|
| @@ -982,10 +891,7 @@ TEST_F(GLRendererTest, ShouldClearRootRenderPass) {
|
| RendererSettings settings;
|
| settings.should_clear_root_render_pass = false;
|
|
|
| - FakeRendererClient renderer_client;
|
| - FakeRendererGL renderer(&renderer_client,
|
| - &settings,
|
| - output_surface.get(),
|
| + FakeRendererGL renderer(&settings, output_surface.get(),
|
| resource_provider.get());
|
| renderer.SetVisible(true);
|
|
|
| @@ -1068,10 +974,7 @@ TEST_F(GLRendererTest, ScissorTestWhenClearing) {
|
| shared_bitmap_manager.get());
|
|
|
| RendererSettings settings;
|
| - FakeRendererClient renderer_client;
|
| - FakeRendererGL renderer(&renderer_client,
|
| - &settings,
|
| - output_surface.get(),
|
| + FakeRendererGL renderer(&settings, output_surface.get(),
|
| resource_provider.get());
|
| EXPECT_FALSE(renderer.Capabilities().using_partial_swap);
|
| renderer.SetVisible(true);
|
| @@ -1160,10 +1063,7 @@ TEST_F(GLRendererTest, NoDiscardOnPartialUpdates) {
|
|
|
| RendererSettings settings;
|
| settings.partial_swap_enabled = true;
|
| - FakeRendererClient renderer_client;
|
| - FakeRendererGL renderer(&renderer_client,
|
| - &settings,
|
| - output_surface.get(),
|
| + FakeRendererGL renderer(&settings, output_surface.get(),
|
| resource_provider.get());
|
| EXPECT_TRUE(renderer.Capabilities().using_partial_swap);
|
| renderer.SetVisible(true);
|
| @@ -1295,10 +1195,7 @@ TEST_F(GLRendererTest, ScissorAndViewportWithinNonreshapableSurface) {
|
| shared_bitmap_manager.get());
|
|
|
| RendererSettings settings;
|
| - FakeRendererClient renderer_client;
|
| - FakeRendererGL renderer(&renderer_client,
|
| - &settings,
|
| - output_surface.get(),
|
| + FakeRendererGL renderer(&settings, output_surface.get(),
|
| resource_provider.get());
|
| EXPECT_FALSE(renderer.Capabilities().using_partial_swap);
|
| renderer.SetVisible(true);
|
| @@ -1335,8 +1232,7 @@ TEST_F(GLRendererTest, DrawFramePreservesFramebuffer) {
|
| shared_bitmap_manager.get());
|
|
|
| RendererSettings settings;
|
| - FakeRendererClient renderer_client;
|
| - FakeRendererGL renderer(&renderer_client, &settings, output_surface.get(),
|
| + FakeRendererGL renderer(&settings, output_surface.get(),
|
| resource_provider.get());
|
| EXPECT_FALSE(renderer.Capabilities().using_partial_swap);
|
| renderer.SetVisible(true);
|
| @@ -1719,10 +1615,10 @@ class MockOutputSurfaceTest : public GLRendererTest {
|
| resource_provider_ = FakeResourceProvider::Create(
|
| &output_surface_, shared_bitmap_manager_.get());
|
|
|
| - renderer_.reset(new FakeRendererGL(&renderer_client_,
|
| - &settings_,
|
| - &output_surface_,
|
| + renderer_.reset(new FakeRendererGL(&settings_, &output_surface_,
|
| resource_provider_.get()));
|
| +
|
| + EXPECT_CALL(output_surface_, EnsureBackbuffer()).Times(1);
|
| renderer_->SetVisible(true);
|
| }
|
|
|
| @@ -1766,10 +1662,18 @@ class MockOutputSurfaceTest : public GLRendererTest {
|
| StrictMock<MockOutputSurface> output_surface_;
|
| std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_;
|
| std::unique_ptr<ResourceProvider> resource_provider_;
|
| - FakeRendererClient renderer_client_;
|
| std::unique_ptr<FakeRendererGL> renderer_;
|
| };
|
|
|
| +TEST_F(MockOutputSurfaceTest, BackbufferDiscard) {
|
| + // Drop backbuffer on hide.
|
| + EXPECT_CALL(output_surface_, DiscardBackbuffer()).Times(1);
|
| + renderer_->SetVisible(false);
|
| + // Restore backbuffer on show.
|
| + EXPECT_CALL(output_surface_, EnsureBackbuffer()).Times(1);
|
| + renderer_->SetVisible(true);
|
| +}
|
| +
|
| TEST_F(MockOutputSurfaceTest, DrawFrameAndSwap) {
|
| gfx::Rect device_viewport_rect(1, 1);
|
| DrawFrame(1.f, device_viewport_rect, true);
|
| @@ -1870,8 +1774,7 @@ TEST_F(GLRendererTest, DontOverlayWithCopyRequests) {
|
| new TextureMailboxDeleter(base::ThreadTaskRunnerHandle::Get()));
|
|
|
| RendererSettings settings;
|
| - FakeRendererClient renderer_client;
|
| - FakeRendererGL renderer(&renderer_client, &settings, output_surface.get(),
|
| + FakeRendererGL renderer(&settings, output_surface.get(),
|
| resource_provider.get(), mailbox_deleter.get());
|
| renderer.SetVisible(true);
|
|
|
| @@ -2029,8 +1932,7 @@ TEST_F(GLRendererTest, OverlaySyncTokensAreProcessed) {
|
| new TextureMailboxDeleter(base::ThreadTaskRunnerHandle::Get()));
|
|
|
| RendererSettings settings;
|
| - FakeRendererClient renderer_client;
|
| - FakeRendererGL renderer(&renderer_client, &settings, output_surface.get(),
|
| + FakeRendererGL renderer(&settings, output_surface.get(),
|
| resource_provider.get(), mailbox_deleter.get());
|
| renderer.SetVisible(true);
|
|
|
| @@ -2108,8 +2010,7 @@ class GLRendererPartialSwapTest : public GLRendererTest {
|
|
|
| RendererSettings settings;
|
| settings.partial_swap_enabled = partial_swap;
|
| - FakeRendererClient renderer_client;
|
| - FakeRendererGL renderer(&renderer_client, &settings, output_surface.get(),
|
| + FakeRendererGL renderer(&settings, output_surface.get(),
|
| resource_provider.get());
|
| EXPECT_EQ(partial_swap, renderer.Capabilities().using_partial_swap);
|
| renderer.SetVisible(true);
|
| @@ -2197,12 +2098,11 @@ class GLRendererWithMockContextTest : public ::testing::Test {
|
| output_surface_->BindToClient(&output_surface_client_);
|
| resource_provider_ =
|
| FakeResourceProvider::Create(output_surface_.get(), nullptr);
|
| - renderer_ = base::MakeUnique<GLRenderer>(
|
| - &renderer_client_, &settings_, output_surface_.get(),
|
| - resource_provider_.get(), nullptr, 0);
|
| + renderer_ =
|
| + base::MakeUnique<GLRenderer>(&settings_, output_surface_.get(),
|
| + resource_provider_.get(), nullptr, 0);
|
| }
|
|
|
| - FakeRendererClient renderer_client_;
|
| RendererSettings settings_;
|
| FakeOutputSurfaceClient output_surface_client_;
|
| MockContextSupport* context_support_ptr_;
|
|
|