| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/ozone/platform/drm/ozone_platform_gbm.h" | 5 #include "ui/ozone/platform/drm/ozone_platform_gbm.h" |
| 6 | 6 |
| 7 #include <dlfcn.h> | 7 #include <dlfcn.h> |
| 8 #include <gbm.h> | 8 #include <gbm.h> |
| 9 #include <stdlib.h> | 9 #include <stdlib.h> |
| 10 | 10 |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 185 screen_manager_.reset(new ScreenManager(buffer_generator_.get())); | 185 screen_manager_.reset(new ScreenManager(buffer_generator_.get())); |
| 186 // This makes sure that simple targets that do not handle display | 186 // This makes sure that simple targets that do not handle display |
| 187 // configuration can still use the primary display. | 187 // configuration can still use the primary display. |
| 188 ForceInitializationOfPrimaryDisplay(gbm_, screen_manager_.get()); | 188 ForceInitializationOfPrimaryDisplay(gbm_, screen_manager_.get()); |
| 189 | 189 |
| 190 if (!surface_factory_ozone_) | 190 if (!surface_factory_ozone_) |
| 191 surface_factory_ozone_.reset(new GbmSurfaceFactory(use_surfaceless_)); | 191 surface_factory_ozone_.reset(new GbmSurfaceFactory(use_surfaceless_)); |
| 192 | 192 |
| 193 surface_factory_ozone_->InitializeGpu(drm_device_manager_.get(), | 193 surface_factory_ozone_->InitializeGpu(drm_device_manager_.get(), |
| 194 screen_manager_.get()); | 194 screen_manager_.get()); |
| 195 } |
| 196 |
| 197 void InitializeGpuPostMainLoop() override { |
| 195 scoped_ptr<DrmGpuDisplayManager> ndd(new DrmGpuDisplayManager( | 198 scoped_ptr<DrmGpuDisplayManager> ndd(new DrmGpuDisplayManager( |
| 196 screen_manager_.get(), gbm_, | 199 screen_manager_.get(), gbm_, |
| 197 scoped_ptr<DrmDeviceGenerator>(new GbmDeviceGenerator()))); | 200 scoped_ptr<DrmDeviceGenerator>(new GbmDeviceGenerator()))); |
| 198 gpu_platform_support_.reset(new DrmGpuPlatformSupport( | 201 gpu_platform_support_.reset(new DrmGpuPlatformSupport( |
| 199 drm_device_manager_.get(), screen_manager_.get(), ndd.Pass())); | 202 drm_device_manager_.get(), screen_manager_.get(), ndd.Pass())); |
| 200 } | 203 } |
| 201 | 204 |
| 202 private: | 205 private: |
| 203 // Objects in both processes. | 206 // Objects in both processes. |
| 204 bool use_surfaceless_; | 207 bool use_surfaceless_; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 235 OzonePlatform* CreateOzonePlatformGbm() { | 238 OzonePlatform* CreateOzonePlatformGbm() { |
| 236 base::CommandLine* cmd = base::CommandLine::ForCurrentProcess(); | 239 base::CommandLine* cmd = base::CommandLine::ForCurrentProcess(); |
| 237 #if defined(USE_MESA_PLATFORM_NULL) | 240 #if defined(USE_MESA_PLATFORM_NULL) |
| 238 // Only works with surfaceless. | 241 // Only works with surfaceless. |
| 239 cmd->AppendSwitch(switches::kOzoneUseSurfaceless); | 242 cmd->AppendSwitch(switches::kOzoneUseSurfaceless); |
| 240 #endif | 243 #endif |
| 241 return new OzonePlatformGbm(cmd->HasSwitch(switches::kOzoneUseSurfaceless)); | 244 return new OzonePlatformGbm(cmd->HasSwitch(switches::kOzoneUseSurfaceless)); |
| 242 } | 245 } |
| 243 | 246 |
| 244 } // namespace ui | 247 } // namespace ui |
| OLD | NEW |