| Index: services/ui/surfaces/display_compositor.cc
|
| diff --git a/services/ui/surfaces/display_compositor.cc b/services/ui/surfaces/display_compositor.cc
|
| index 68c520c81996f2f7916ddedbacedb3197733a6b0..3976ea285d2ca513364c20c8cf10ba659eefdd48 100644
|
| --- a/services/ui/surfaces/display_compositor.cc
|
| +++ b/services/ui/surfaces/display_compositor.cc
|
| @@ -12,6 +12,7 @@
|
| #include "cc/scheduler/delay_based_time_source.h"
|
| #include "cc/surfaces/display.h"
|
| #include "cc/surfaces/display_scheduler.h"
|
| +#include "gpu/ipc/client/gpu_channel_host.h"
|
| #include "services/ui/surfaces/direct_output_surface.h"
|
| #include "services/ui/surfaces/surfaces_context_provider.h"
|
|
|
| @@ -25,6 +26,7 @@ namespace ui {
|
| DisplayCompositor::DisplayCompositor(
|
| scoped_refptr<base::SingleThreadTaskRunner> task_runner,
|
| gfx::AcceleratedWidget widget,
|
| + scoped_refptr<gpu::GpuChannelHost> gpu_channel,
|
| const scoped_refptr<SurfacesState>& surfaces_state)
|
| : task_runner_(task_runner),
|
| surfaces_state_(surfaces_state),
|
| @@ -34,8 +36,10 @@ DisplayCompositor::DisplayCompositor(
|
| surfaces_state_->manager()->RegisterSurfaceFactoryClient(
|
| allocator_.client_id(), this);
|
|
|
| + gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager =
|
| + gpu_channel->gpu_memory_buffer_manager();
|
| scoped_refptr<SurfacesContextProvider> surfaces_context_provider(
|
| - new SurfacesContextProvider(widget));
|
| + new SurfacesContextProvider(widget, std::move(gpu_channel)));
|
| // TODO(rjkroege): If there is something better to do than CHECK, add it.
|
| CHECK(surfaces_context_provider->BindToCurrentThread());
|
|
|
| @@ -48,7 +52,7 @@ DisplayCompositor::DisplayCompositor(
|
| #if defined(USE_OZONE)
|
| display_output_surface = base::MakeUnique<DirectOutputSurfaceOzone>(
|
| surfaces_context_provider, widget, synthetic_begin_frame_source.get(),
|
| - GL_TEXTURE_2D, GL_RGB);
|
| + gpu_memory_buffer_manager, GL_TEXTURE_2D, GL_RGB);
|
| #else
|
| NOTREACHED();
|
| #endif
|
| @@ -66,7 +70,7 @@ DisplayCompositor::DisplayCompositor(
|
| task_runner_.get(), max_frames_pending));
|
|
|
| display_.reset(new cc::Display(
|
| - nullptr /* bitmap_manager */, nullptr /* gpu_memory_buffer_manager */,
|
| + nullptr /* bitmap_manager */, gpu_memory_buffer_manager,
|
| cc::RendererSettings(), std::move(synthetic_begin_frame_source),
|
| std::move(display_output_surface), std::move(scheduler),
|
| base::MakeUnique<cc::TextureMailboxDeleter>(task_runner_.get())));
|
|
|