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 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 new DrmWindowHost(delegate, bounds, gpu_platform_support_host_.get(), | 142 new DrmWindowHost(delegate, bounds, gpu_platform_support_host_.get(), |
143 event_factory_ozone_.get(), cursor_.get(), | 143 event_factory_ozone_.get(), cursor_.get(), |
144 window_manager_.get(), display_manager_.get())); | 144 window_manager_.get(), display_manager_.get())); |
145 platform_window->Initialize(); | 145 platform_window->Initialize(); |
146 return platform_window.Pass(); | 146 return platform_window.Pass(); |
147 } | 147 } |
148 scoped_ptr<NativeDisplayDelegate> CreateNativeDisplayDelegate() override { | 148 scoped_ptr<NativeDisplayDelegate> CreateNativeDisplayDelegate() override { |
149 return make_scoped_ptr( | 149 return make_scoped_ptr( |
150 new DrmNativeDisplayDelegate(display_manager_.get())); | 150 new DrmNativeDisplayDelegate(display_manager_.get())); |
151 } | 151 } |
| 152 base::FileDescriptor GetVirtualDeviceFd() override { |
| 153 DCHECK(display_manager_); |
| 154 return display_manager_->DupVgemFd(); |
| 155 } |
| 156 |
152 void InitializeUI() override { | 157 void InitializeUI() override { |
153 device_manager_ = CreateDeviceManager(); | 158 device_manager_ = CreateDeviceManager(); |
154 window_manager_.reset(new DrmWindowHostManager()); | 159 window_manager_.reset(new DrmWindowHostManager()); |
155 cursor_.reset(new DrmCursor(window_manager_.get())); | 160 cursor_.reset(new DrmCursor(window_manager_.get())); |
156 #if defined(USE_XKBCOMMON) | 161 #if defined(USE_XKBCOMMON) |
157 KeyboardLayoutEngineManager::SetKeyboardLayoutEngine(make_scoped_ptr( | 162 KeyboardLayoutEngineManager::SetKeyboardLayoutEngine(make_scoped_ptr( |
158 new XkbKeyboardLayoutEngine(xkb_evdev_code_converter_))); | 163 new XkbKeyboardLayoutEngine(xkb_evdev_code_converter_))); |
159 #else | 164 #else |
160 KeyboardLayoutEngineManager::SetKeyboardLayoutEngine( | 165 KeyboardLayoutEngineManager::SetKeyboardLayoutEngine( |
161 make_scoped_ptr(new StubKeyboardLayoutEngine())); | 166 make_scoped_ptr(new StubKeyboardLayoutEngine())); |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 OzonePlatform* CreateOzonePlatformGbm() { | 229 OzonePlatform* CreateOzonePlatformGbm() { |
225 base::CommandLine* cmd = base::CommandLine::ForCurrentProcess(); | 230 base::CommandLine* cmd = base::CommandLine::ForCurrentProcess(); |
226 #if defined(USE_MESA_PLATFORM_NULL) | 231 #if defined(USE_MESA_PLATFORM_NULL) |
227 // Only works with surfaceless. | 232 // Only works with surfaceless. |
228 cmd->AppendSwitch(switches::kOzoneUseSurfaceless); | 233 cmd->AppendSwitch(switches::kOzoneUseSurfaceless); |
229 #endif | 234 #endif |
230 return new OzonePlatformGbm(cmd->HasSwitch(switches::kOzoneUseSurfaceless)); | 235 return new OzonePlatformGbm(cmd->HasSwitch(switches::kOzoneUseSurfaceless)); |
231 } | 236 } |
232 | 237 |
233 } // namespace ui | 238 } // namespace ui |
OLD | NEW |