Chromium Code Reviews| Index: components/mus/surfaces/top_level_display_client.cc |
| diff --git a/components/mus/surfaces/top_level_display_client.cc b/components/mus/surfaces/top_level_display_client.cc |
| index a62ae8be5c60c54dab4a25b2014b04e93746b804..50346417c27e2cea8004058c00663ab9ba613544 100644 |
| --- a/components/mus/surfaces/top_level_display_client.cc |
| +++ b/components/mus/surfaces/top_level_display_client.cc |
| @@ -15,6 +15,12 @@ |
| #include "components/mus/surfaces/direct_output_surface.h" |
| #include "components/mus/surfaces/surfaces_context_provider.h" |
| #include "components/mus/surfaces/surfaces_state.h" |
| +#include "ui/compositor/compositor_vsync_manager.h" |
|
Fady Samuel
2016/04/12 02:54:41
Do we want this dependency on ui/compositor from m
rjkroege
2016/04/12 19:27:54
no. I removed all of the actual dependency code. T
|
| + |
| +#if defined(USE_OZONE) |
| +#include "components/mus/surfaces/direct_output_surface_ozone.h" |
| +#include "gpu/command_buffer/client/gles2_interface.h" |
| +#endif |
| namespace base { |
| class SingleThreadTaskRunner; |
| @@ -40,9 +46,22 @@ TopLevelDisplayClient::TopLevelDisplayClient( |
| display_.reset(new cc::Display(this, surfaces_state_->manager(), nullptr, |
| nullptr, cc::RendererSettings())); |
| - scoped_ptr<cc::OutputSurface> output_surface = |
| - make_scoped_ptr(new DirectOutputSurface( |
| - new SurfacesContextProvider(this, widget, gpu_state))); |
| + scoped_refptr<SurfacesContextProvider> scp( |
|
Fady Samuel
2016/04/12 02:54:41
nit: better variable name please.
rjkroege
2016/04/12 19:27:54
Done.
|
| + new SurfacesContextProvider(this, widget, gpu_state)); |
| + // TODO(rjkroege): If there is something better to do than CHECK, add it. |
| + CHECK(scp->BindToCurrentThread()); |
| + |
| + scoped_ptr<cc::OutputSurface> output_surface; |
| + if (scp->ContextCapabilities().gpu.surfaceless) { |
| +#if defined(USE_OZONE) |
| + output_surface = make_scoped_ptr( |
| + new DirectOutputSurfaceOzone(scp, widget, GL_TEXTURE_2D, GL_RGB)); |
| +#else |
| + NOTREACHED(); |
| +#endif |
| + } else { |
| + output_surface = make_scoped_ptr(new DirectOutputSurface(scp)); |
| + } |
| int max_frames_pending = output_surface->capabilities().max_frames_pending; |
| DCHECK_GT(max_frames_pending, 0); |