Chromium Code Reviews| Index: components/viz/service/display_compositor/gpu_display_provider.cc |
| diff --git a/components/viz/service/display_compositor/gpu_display_provider.cc b/components/viz/service/display_compositor/gpu_display_provider.cc |
| index 8526c0101ef772507febf7d1dcce964b7e0ee52d..ee9f6268bf56ae962388553f71934bd96be9295f 100644 |
| --- a/components/viz/service/display_compositor/gpu_display_provider.cc |
| +++ b/components/viz/service/display_compositor/gpu_display_provider.cc |
| @@ -17,23 +17,35 @@ |
| #include "cc/surfaces/display_scheduler.h" |
| #include "components/viz/service/display_compositor/display_output_surface.h" |
| #include "components/viz/service/display_compositor/host_shared_bitmap_manager.h" |
| +#include "components/viz/service/display_compositor/in_process_gpu_memory_buffer_manager.h" |
| #include "gpu/command_buffer/client/shared_memory_limits.h" |
| #include "gpu/command_buffer/service/image_factory.h" |
| +#include "gpu/ipc/service/gpu_channel_manager.h" |
| #if defined(USE_OZONE) |
| #include "components/viz/service/display_compositor/display_output_surface_ozone.h" |
| #include "gpu/command_buffer/client/gles2_interface.h" |
| #endif |
| +namespace { |
| + |
| +gpu::ImageFactory* GetImageFactory(gpu::GpuChannelManager* channel_manager) { |
| + auto* buffer_factory = channel_manager->gpu_memory_buffer_factory(); |
| + return buffer_factory ? buffer_factory->AsImageFactory() : nullptr; |
|
danakj
2017/06/20 14:52:41
nit: why not use channel_manager->gpu_image_factor
sadrul
2017/06/21 05:57:46
It doesn't look like GpuChannelManager actually ha
|
| +} |
| + |
| +} // namespace |
| + |
| namespace viz { |
| GpuDisplayProvider::GpuDisplayProvider( |
| scoped_refptr<gpu::InProcessCommandBuffer::Service> gpu_service, |
| - std::unique_ptr<gpu::GpuMemoryBufferManager> gpu_memory_buffer_manager, |
| - gpu::ImageFactory* image_factory) |
| + gpu::GpuChannelManager* gpu_channel_manager) |
| : gpu_service_(std::move(gpu_service)), |
| - gpu_memory_buffer_manager_(std::move(gpu_memory_buffer_manager)), |
| - image_factory_(image_factory), |
| + gpu_memory_buffer_manager_( |
| + base::MakeUnique<InProcessGpuMemoryBufferManager>( |
| + gpu_channel_manager)), |
| + image_factory_(GetImageFactory(gpu_channel_manager)), |
| task_runner_(base::ThreadTaskRunnerHandle::Get()) {} |
| GpuDisplayProvider::~GpuDisplayProvider() = default; |