Chromium Code Reviews| 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/dri/dri_wrapper.h" | 5 #include "ui/ozone/platform/dri/dri_wrapper.h" |
| 6 | 6 |
| 7 #include <fcntl.h> | 7 #include <fcntl.h> |
| 8 #include <sys/mman.h> | 8 #include <sys/mman.h> |
| 9 #include <unistd.h> | 9 #include <unistd.h> |
| 10 #include <xf86drm.h> | 10 #include <xf86drm.h> |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 156 | 156 |
| 157 DriWrapper::DriWrapper(const base::FilePath& device_path, base::File file) | 157 DriWrapper::DriWrapper(const base::FilePath& device_path, base::File file) |
| 158 : device_path_(device_path), file_(file.Pass()) { | 158 : device_path_(device_path), file_(file.Pass()) { |
| 159 } | 159 } |
| 160 | 160 |
| 161 DriWrapper::~DriWrapper() { | 161 DriWrapper::~DriWrapper() { |
| 162 if (watcher_) | 162 if (watcher_) |
| 163 watcher_->Shutdown(); | 163 watcher_->Shutdown(); |
| 164 } | 164 } |
| 165 | 165 |
| 166 void DriWrapper::Initialize() { | 166 bool DriWrapper::Initialize() { |
| 167 plane_manager_.reset(new HardwareDisplayPlaneManagerLegacy()); | 167 plane_manager_.reset(new HardwareDisplayPlaneManagerLegacy()); |
| 168 if (!plane_manager_->Initialize(this)) | 168 if (!plane_manager_->Initialize(this)) { |
| 169 LOG(ERROR) << "Failed to initialize the plane manager"; | 169 LOG(ERROR) << "Failed to initialize the plane manager for " |
| 170 << device_path_.value(); | |
| 171 return false; | |
|
alexst (slow to review)
2015/02/23 21:46:32
Should reset the plane manager here since it's in
dnicoara
2015/02/23 21:49:10
Done.
| |
| 172 } | |
| 173 | |
| 174 return true; | |
| 170 } | 175 } |
| 171 | 176 |
| 172 void DriWrapper::InitializeTaskRunner( | 177 void DriWrapper::InitializeTaskRunner( |
| 173 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) { | 178 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) { |
| 174 DCHECK(!task_runner_); | 179 DCHECK(!task_runner_); |
| 175 task_runner_ = task_runner; | 180 task_runner_ = task_runner; |
| 176 watcher_ = new IOWatcher(file_.GetPlatformFile(), task_runner_); | 181 watcher_ = new IOWatcher(file_.GetPlatformFile(), task_runner_); |
| 177 } | 182 } |
| 178 | 183 |
| 179 ScopedDrmCrtcPtr DriWrapper::GetCrtc(uint32_t crtc_id) { | 184 ScopedDrmCrtcPtr DriWrapper::GetCrtc(uint32_t crtc_id) { |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 406 DCHECK(file_.IsValid()); | 411 DCHECK(file_.IsValid()); |
| 407 return (drmSetMaster(file_.GetPlatformFile()) == 0); | 412 return (drmSetMaster(file_.GetPlatformFile()) == 0); |
| 408 } | 413 } |
| 409 | 414 |
| 410 bool DriWrapper::DropMaster() { | 415 bool DriWrapper::DropMaster() { |
| 411 DCHECK(file_.IsValid()); | 416 DCHECK(file_.IsValid()); |
| 412 return (drmDropMaster(file_.GetPlatformFile()) == 0); | 417 return (drmDropMaster(file_.GetPlatformFile()) == 0); |
| 413 } | 418 } |
| 414 | 419 |
| 415 } // namespace ui | 420 } // namespace ui |
| OLD | NEW |