Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(576)

Side by Side Diff: ui/gfx/ozone/impl/dri_wrapper.cc

Issue 62953003: Support removal of DRI platform (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix use_ozone=0 Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/gfx/ozone/impl/dri_wrapper.h ('k') | ui/gfx/ozone/impl/hardware_display_controller.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ui/gfx/ozone/impl/dri_wrapper.h"
6
7 #include <fcntl.h>
8 #include <unistd.h>
9 #include <xf86drmMode.h>
10
11 #include "base/logging.h"
12
13 namespace gfx {
14
15 DriWrapper::DriWrapper(const char* device_path) {
16 fd_ = open(device_path, O_RDWR | O_CLOEXEC);
17 }
18
19 DriWrapper::~DriWrapper() {
20 if (fd_ >= 0)
21 close(fd_);
22 }
23
24 drmModeCrtc* DriWrapper::GetCrtc(uint32_t crtc_id) {
25 CHECK(fd_ >= 0);
26 return drmModeGetCrtc(fd_, crtc_id);
27 }
28
29 void DriWrapper::FreeCrtc(drmModeCrtc* crtc) {
30 drmModeFreeCrtc(crtc);
31 }
32
33 bool DriWrapper::SetCrtc(uint32_t crtc_id,
34 uint32_t framebuffer,
35 uint32_t* connectors,
36 drmModeModeInfo* mode) {
37 CHECK(fd_ >= 0);
38 return !drmModeSetCrtc(fd_, crtc_id, framebuffer, 0, 0, connectors, 1, mode);
39 }
40
41 bool DriWrapper::SetCrtc(drmModeCrtc* crtc, uint32_t* connectors) {
42 CHECK(fd_ >= 0);
43 return !drmModeSetCrtc(fd_,
44 crtc->crtc_id,
45 crtc->buffer_id,
46 crtc->x,
47 crtc->y,
48 connectors,
49 1,
50 &crtc->mode);
51 }
52
53 bool DriWrapper::AddFramebuffer(const drmModeModeInfo& mode,
54 uint8_t depth,
55 uint8_t bpp,
56 uint32_t stride,
57 uint32_t handle,
58 uint32_t* framebuffer) {
59 CHECK(fd_ >= 0);
60 return !drmModeAddFB(fd_,
61 mode.hdisplay,
62 mode.vdisplay,
63 depth,
64 bpp,
65 stride,
66 handle,
67 framebuffer);
68 }
69
70 bool DriWrapper::RemoveFramebuffer(uint32_t framebuffer) {
71 CHECK(fd_ >= 0);
72 return !drmModeRmFB(fd_, framebuffer);
73 }
74
75 bool DriWrapper::PageFlip(uint32_t crtc_id,
76 uint32_t framebuffer,
77 void* data) {
78 CHECK(fd_ >= 0);
79 return !drmModePageFlip(fd_,
80 crtc_id,
81 framebuffer,
82 DRM_MODE_PAGE_FLIP_EVENT,
83 data);
84 }
85
86 bool DriWrapper::ConnectorSetProperty(uint32_t connector_id,
87 uint32_t property_id,
88 uint64_t value) {
89 CHECK(fd_ >= 0);
90 return !drmModeConnectorSetProperty(fd_, connector_id, property_id, value);
91 }
92
93 } // namespace gfx
OLDNEW
« no previous file with comments | « ui/gfx/ozone/impl/dri_wrapper.h ('k') | ui/gfx/ozone/impl/hardware_display_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698