| 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 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 151 } | 151 } |
| 152 void InitializeUI() override { | 152 void InitializeUI() override { |
| 153 device_manager_ = CreateDeviceManager(); | 153 device_manager_ = CreateDeviceManager(); |
| 154 window_manager_.reset(new DrmWindowHostManager()); | 154 window_manager_.reset(new DrmWindowHostManager()); |
| 155 cursor_.reset(new DrmCursor(window_manager_.get())); | 155 cursor_.reset(new DrmCursor(window_manager_.get())); |
| 156 gpu_platform_support_host_.reset( | 156 gpu_platform_support_host_.reset( |
| 157 new DrmGpuPlatformSupportHost(cursor_.get())); | 157 new DrmGpuPlatformSupportHost(cursor_.get())); |
| 158 display_manager_.reset(new DrmDisplayHostManager( | 158 display_manager_.reset(new DrmDisplayHostManager( |
| 159 gpu_platform_support_host_.get(), device_manager_.get())); | 159 gpu_platform_support_host_.get(), device_manager_.get())); |
| 160 cursor_factory_ozone_.reset(new BitmapCursorFactoryOzone); | 160 cursor_factory_ozone_.reset(new BitmapCursorFactoryOzone); |
| 161 overlay_manager_.reset(new DrmOverlayManager(use_surfaceless_)); | 161 overlay_manager_.reset(new DrmOverlayManager( |
| 162 use_surfaceless_, gpu_platform_support_host_.get())); |
| 162 #if defined(USE_XKBCOMMON) | 163 #if defined(USE_XKBCOMMON) |
| 163 KeyboardLayoutEngineManager::SetKeyboardLayoutEngine(make_scoped_ptr( | 164 KeyboardLayoutEngineManager::SetKeyboardLayoutEngine(make_scoped_ptr( |
| 164 new XkbKeyboardLayoutEngine(xkb_evdev_code_converter_))); | 165 new XkbKeyboardLayoutEngine(xkb_evdev_code_converter_))); |
| 165 #else | 166 #else |
| 166 KeyboardLayoutEngineManager::SetKeyboardLayoutEngine( | 167 KeyboardLayoutEngineManager::SetKeyboardLayoutEngine( |
| 167 make_scoped_ptr(new StubKeyboardLayoutEngine())); | 168 make_scoped_ptr(new StubKeyboardLayoutEngine())); |
| 168 #endif | 169 #endif |
| 169 event_factory_ozone_.reset(new EventFactoryEvdev( | 170 event_factory_ozone_.reset(new EventFactoryEvdev( |
| 170 cursor_.get(), device_manager_.get(), | 171 cursor_.get(), device_manager_.get(), |
| 171 KeyboardLayoutEngineManager::GetKeyboardLayoutEngine())); | 172 KeyboardLayoutEngineManager::GetKeyboardLayoutEngine())); |
| 172 } | 173 } |
| 173 | 174 |
| 174 void InitializeGPU() override { | 175 void InitializeGPU() override { |
| 175 bool use_atomic = false; | 176 bool use_atomic = false; |
| 176 gl_api_loader_.reset(new GlApiLoader()); | 177 gl_api_loader_.reset(new GlApiLoader()); |
| 177 drm_device_manager_.reset(new DrmDeviceManager( | 178 drm_device_manager_.reset(new DrmDeviceManager( |
| 178 scoped_ptr<DrmDeviceGenerator>(new GbmDeviceGenerator(use_atomic)))); | 179 scoped_ptr<DrmDeviceGenerator>(new GbmDeviceGenerator(use_atomic)))); |
| 179 buffer_generator_.reset(new GbmBufferGenerator()); | 180 buffer_generator_.reset(new GbmBufferGenerator()); |
| 180 screen_manager_.reset(new ScreenManager(buffer_generator_.get())); | 181 screen_manager_.reset(new ScreenManager(buffer_generator_.get())); |
| 181 surface_factory_ozone_.reset(new GbmSurfaceFactory(use_surfaceless_)); | 182 surface_factory_ozone_.reset(new GbmSurfaceFactory(use_surfaceless_)); |
| 182 surface_factory_ozone_->InitializeGpu(drm_device_manager_.get(), | 183 surface_factory_ozone_->InitializeGpu(drm_device_manager_.get(), |
| 183 screen_manager_.get()); | 184 screen_manager_.get()); |
| 184 scoped_ptr<DrmGpuDisplayManager> ndd(new DrmGpuDisplayManager( | 185 scoped_ptr<DrmGpuDisplayManager> ndd(new DrmGpuDisplayManager( |
| 185 screen_manager_.get(), drm_device_manager_.get())); | 186 screen_manager_.get(), drm_device_manager_.get())); |
| 186 gpu_platform_support_.reset(new DrmGpuPlatformSupport( | 187 gpu_platform_support_.reset(new DrmGpuPlatformSupport( |
| 187 drm_device_manager_.get(), screen_manager_.get(), ndd.Pass())); | 188 drm_device_manager_.get(), screen_manager_.get(), |
| 189 buffer_generator_.get(), ndd.Pass())); |
| 188 } | 190 } |
| 189 | 191 |
| 190 private: | 192 private: |
| 191 // Objects in both processes. | 193 // Objects in both processes. |
| 192 bool use_surfaceless_; | 194 bool use_surfaceless_; |
| 193 | 195 |
| 194 // Objects in the GPU process. | 196 // Objects in the GPU process. |
| 195 scoped_ptr<GbmSurfaceFactory> surface_factory_ozone_; | 197 scoped_ptr<GbmSurfaceFactory> surface_factory_ozone_; |
| 196 scoped_ptr<GlApiLoader> gl_api_loader_; | 198 scoped_ptr<GlApiLoader> gl_api_loader_; |
| 197 scoped_ptr<DrmDeviceManager> drm_device_manager_; | 199 scoped_ptr<DrmDeviceManager> drm_device_manager_; |
| (...skipping 23 matching lines...) Expand all Loading... |
| 221 OzonePlatform* CreateOzonePlatformGbm() { | 223 OzonePlatform* CreateOzonePlatformGbm() { |
| 222 base::CommandLine* cmd = base::CommandLine::ForCurrentProcess(); | 224 base::CommandLine* cmd = base::CommandLine::ForCurrentProcess(); |
| 223 #if defined(USE_MESA_PLATFORM_NULL) | 225 #if defined(USE_MESA_PLATFORM_NULL) |
| 224 // Only works with surfaceless. | 226 // Only works with surfaceless. |
| 225 cmd->AppendSwitch(switches::kOzoneUseSurfaceless); | 227 cmd->AppendSwitch(switches::kOzoneUseSurfaceless); |
| 226 #endif | 228 #endif |
| 227 return new OzonePlatformGbm(cmd->HasSwitch(switches::kOzoneUseSurfaceless)); | 229 return new OzonePlatformGbm(cmd->HasSwitch(switches::kOzoneUseSurfaceless)); |
| 228 } | 230 } |
| 229 | 231 |
| 230 } // namespace ui | 232 } // namespace ui |
| OLD | NEW |