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

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

Issue 132543002: Not for review. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 months 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 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/gfx/ozone/dri/dri_wrapper.h" 5 #include "ui/gfx/ozone/dri/dri_wrapper.h"
6 6
7 #include <fcntl.h> 7 #include <fcntl.h>
8 #include <unistd.h> 8 #include <unistd.h>
9 #include <xf86drmMode.h> 9 #include <xf86drmMode.h>
10 10
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 handle, 66 handle,
67 framebuffer); 67 framebuffer);
68 } 68 }
69 69
70 bool DriWrapper::RemoveFramebuffer(uint32_t framebuffer) { 70 bool DriWrapper::RemoveFramebuffer(uint32_t framebuffer) {
71 CHECK(fd_ >= 0); 71 CHECK(fd_ >= 0);
72 return !drmModeRmFB(fd_, framebuffer); 72 return !drmModeRmFB(fd_, framebuffer);
73 } 73 }
74 74
75 bool DriWrapper::PageFlip(uint32_t crtc_id, 75 bool DriWrapper::PageFlip(uint32_t crtc_id,
76 uint32_t framebuffer, 76 uint32_t framebuffer,
77 void* data) { 77 gfx::Rect overlay_plane_rect,
78 gfx::Size overlay_plane_size,
79 uint32_t overlay_plane_fb_id,
80 int overlay_plane,
81 void* data) {
78 CHECK(fd_ >= 0); 82 CHECK(fd_ >= 0);
79 return !drmModePageFlip(fd_, 83
80 crtc_id, 84 drmModePageFlip(fd_, crtc_id, framebuffer, DRM_MODE_PAGE_FLIP_EVENT, data);
81 framebuffer, 85
82 DRM_MODE_PAGE_FLIP_EVENT, 86 if (overlay_plane_fb_id) {
83 data); 87 int rc = drmModeSetPlane(fd_,
88 overlay_plane,
89 crtc_id,
90 overlay_plane_fb_id,
91 0,
92 overlay_plane_rect.x(),
93 overlay_plane_rect.y(),
94 overlay_plane_rect.width(),
95 overlay_plane_rect.height(),
96 0,
97 0,
98 overlay_plane_size.width() << 16,
99 overlay_plane_size.height() << 16);
100
101 if (rc) {
102 char buffer[512];
103 sprintf(buffer, "failed to set overlay: %s\n", strerror(-rc));
104 LOG(ERROR) << buffer;
105 }
106 }
107
108 return true;
84 } 109 }
85 110
86 bool DriWrapper::ConnectorSetProperty(uint32_t connector_id, 111 bool DriWrapper::ConnectorSetProperty(uint32_t connector_id,
87 uint32_t property_id, 112 uint32_t property_id,
88 uint64_t value) { 113 uint64_t value) {
89 CHECK(fd_ >= 0); 114 CHECK(fd_ >= 0);
90 return !drmModeConnectorSetProperty(fd_, connector_id, property_id, value); 115 return !drmModeConnectorSetProperty(fd_, connector_id, property_id, value);
91 } 116 }
92 117
93 } // namespace gfx 118 } // namespace gfx
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698