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

Side by Side Diff: ui/ozone/platform/drm/common/drm_util.cc

Issue 1483633002: ozone: support gfx::BufferFormat::RGBX_8888 as a native pixmap format. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix gl_image_ozone_native_pixmap also, which gl_unittests check Created 5 years 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
« no previous file with comments | « ui/ozone/platform/drm/common/drm_util.h ('k') | ui/ozone/platform/drm/gpu/drm_window.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/common/drm_util.h" 5 #include "ui/ozone/platform/drm/common/drm_util.h"
6 6
7 #include <drm_fourcc.h> 7 #include <drm_fourcc.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <stdlib.h> 9 #include <stdlib.h>
10 #include <sys/mman.h> 10 #include <sys/mman.h>
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 if (!params.has_native_mode && !params.modes.empty()) { 266 if (!params.has_native_mode && !params.modes.empty()) {
267 params.has_native_mode = true; 267 params.has_native_mode = true;
268 params.native_mode = params.modes.front(); 268 params.native_mode = params.modes.front();
269 } 269 }
270 270
271 return params; 271 return params;
272 } 272 }
273 273
274 int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format) { 274 int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format) {
275 switch (format) { 275 switch (format) {
276 case gfx::BufferFormat::RGBA_8888:
277 return DRM_FORMAT_ABGR8888;
278 case gfx::BufferFormat::RGBX_8888:
279 return DRM_FORMAT_XBGR8888;
276 case gfx::BufferFormat::BGRA_8888: 280 case gfx::BufferFormat::BGRA_8888:
277 return DRM_FORMAT_ARGB8888; 281 return DRM_FORMAT_ARGB8888;
278 case gfx::BufferFormat::BGRX_8888: 282 case gfx::BufferFormat::BGRX_8888:
279 return DRM_FORMAT_XRGB8888; 283 return DRM_FORMAT_XRGB8888;
280 case gfx::BufferFormat::UYVY_422: 284 case gfx::BufferFormat::UYVY_422:
281 return DRM_FORMAT_UYVY; 285 return DRM_FORMAT_UYVY;
282 default: 286 default:
283 NOTREACHED(); 287 NOTREACHED();
284 return 0; 288 return 0;
285 } 289 }
286 } 290 }
287 291
288 gfx::BufferFormat GetBufferFormatFromFourCCFormat(int format) { 292 gfx::BufferFormat GetBufferFormatFromFourCCFormat(int format) {
289 switch (format) { 293 switch (format) {
294 case DRM_FORMAT_ABGR8888:
295 return gfx::BufferFormat::RGBA_8888;
296 case DRM_FORMAT_XBGR8888:
297 return gfx::BufferFormat::RGBX_8888;
290 case DRM_FORMAT_ARGB8888: 298 case DRM_FORMAT_ARGB8888:
291 return gfx::BufferFormat::BGRA_8888; 299 return gfx::BufferFormat::BGRA_8888;
292 case DRM_FORMAT_XRGB8888: 300 case DRM_FORMAT_XRGB8888:
293 return gfx::BufferFormat::BGRX_8888; 301 return gfx::BufferFormat::BGRX_8888;
294 case DRM_FORMAT_UYVY: 302 case DRM_FORMAT_UYVY:
295 return gfx::BufferFormat::UYVY_422; 303 return gfx::BufferFormat::UYVY_422;
296 default: 304 default:
297 NOTREACHED(); 305 NOTREACHED();
298 return gfx::BufferFormat::BGRA_8888; 306 return gfx::BufferFormat::BGRA_8888;
299 } 307 }
300 } 308 }
309
310 int GetFourCCFormatForFramebuffer(gfx::BufferFormat format) {
311 // Currently, drm supports 24 bitcolordepth for hardware overlay.
312 switch (format) {
313 case gfx::BufferFormat::RGBA_8888:
314 case gfx::BufferFormat::RGBX_8888:
315 return DRM_FORMAT_XBGR8888;
316 case gfx::BufferFormat::BGRA_8888:
317 case gfx::BufferFormat::BGRX_8888:
318 return DRM_FORMAT_XRGB8888;
319 case gfx::BufferFormat::UYVY_422:
320 return DRM_FORMAT_UYVY;
321 default:
322 NOTREACHED();
323 return 0;
324 }
325 }
301 } // namespace ui 326 } // namespace ui
OLDNEW
« no previous file with comments | « ui/ozone/platform/drm/common/drm_util.h ('k') | ui/ozone/platform/drm/gpu/drm_window.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698