blob: 47db87ff98bf8b3e76a1780e6a3c243be589eb03 [file] [log] [blame]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/viz/test/test_output_surface_provider.h"
#include "components/viz/service/display/display_compositor_memory_and_task_controller.h"
#include "components/viz/service/display/software_output_device.h"
#include "components/viz/test/fake_output_surface.h"
#include "components/viz/test/fake_skia_output_surface.h"
namespace viz {
TestOutputSurfaceProvider::TestOutputSurfaceProvider() = default;
TestOutputSurfaceProvider::~TestOutputSurfaceProvider() = default;
std::unique_ptr<DisplayCompositorMemoryAndTaskController>
TestOutputSurfaceProvider::CreateGpuDependency(
bool gpu_compositing,
gpu::SurfaceHandle surface_handle) {
// The output surface doesn't have a real gpu thread, and there is no overlay
// support.
return nullptr;
}
std::unique_ptr<OutputSurface> TestOutputSurfaceProvider::CreateOutputSurface(
gpu::SurfaceHandle surface_handle,
bool gpu_compositing,
mojom::DisplayClient* display_client,
DisplayCompositorMemoryAndTaskController* display_controller,
const RendererSettings& renderer_settings,
const DebugRendererSettings* debug_settings) {
if (gpu_compositing) {
return FakeSkiaOutputSurface::Create3d();
} else {
return std::make_unique<FakeSoftwareOutputSurface>(
std::make_unique<SoftwareOutputDevice>());
}
}
gpu::SharedImageManager* TestOutputSurfaceProvider::GetSharedImageManager() {
return nullptr;
}
gpu::SyncPointManager* TestOutputSurfaceProvider::GetSyncPointManager() {
return nullptr;
}
gpu::Scheduler* TestOutputSurfaceProvider::GetGpuScheduler() {
return nullptr;
}
} // namespace viz