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

Side by Side Diff: ui/gl/gl_image_linux_dma_buffer.cc

Issue 1051503003: Add R_8 GPU memory buffers format. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix validation problem in StrideInBytes. Deals with GL_RED/GL_LUMINANCE. Created 5 years, 8 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
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/gl/gl_image_linux_dma_buffer.h" 5 #include "ui/gl/gl_image_linux_dma_buffer.h"
6 6
7 #include <unistd.h> 7 #include <unistd.h>
8 8
9 #define FOURCC(a, b, c, d) \ 9 #define FOURCC(a, b, c, d) \
10 ((static_cast<uint32>(a)) | (static_cast<uint32>(b) << 8) | \ 10 ((static_cast<uint32>(a)) | (static_cast<uint32>(b) << 8) | \
(...skipping 19 matching lines...) Expand all
30 return format == gfx::GpuMemoryBuffer::ETC1; 30 return format == gfx::GpuMemoryBuffer::ETC1;
31 case GL_RGB: 31 case GL_RGB:
32 switch (format) { 32 switch (format) {
33 case gfx::GpuMemoryBuffer::RGBX_8888: 33 case gfx::GpuMemoryBuffer::RGBX_8888:
34 return true; 34 return true;
35 case gfx::GpuMemoryBuffer::ATC: 35 case gfx::GpuMemoryBuffer::ATC:
36 case gfx::GpuMemoryBuffer::ATCIA: 36 case gfx::GpuMemoryBuffer::ATCIA:
37 case gfx::GpuMemoryBuffer::DXT1: 37 case gfx::GpuMemoryBuffer::DXT1:
38 case gfx::GpuMemoryBuffer::DXT5: 38 case gfx::GpuMemoryBuffer::DXT5:
39 case gfx::GpuMemoryBuffer::ETC1: 39 case gfx::GpuMemoryBuffer::ETC1:
40 case gfx::GpuMemoryBuffer::R_8:
40 case gfx::GpuMemoryBuffer::RGBA_8888: 41 case gfx::GpuMemoryBuffer::RGBA_8888:
41 case gfx::GpuMemoryBuffer::BGRA_8888: 42 case gfx::GpuMemoryBuffer::BGRA_8888:
42 return false; 43 return false;
43 } 44 }
44 NOTREACHED(); 45 NOTREACHED();
45 return false; 46 return false;
46 case GL_RGBA: 47 case GL_RGBA:
47 switch (format) { 48 switch (format) {
48 case gfx::GpuMemoryBuffer::BGRA_8888: 49 case gfx::GpuMemoryBuffer::BGRA_8888:
49 return true; 50 return true;
50 case gfx::GpuMemoryBuffer::ATC: 51 case gfx::GpuMemoryBuffer::ATC:
51 case gfx::GpuMemoryBuffer::ATCIA: 52 case gfx::GpuMemoryBuffer::ATCIA:
52 case gfx::GpuMemoryBuffer::DXT1: 53 case gfx::GpuMemoryBuffer::DXT1:
53 case gfx::GpuMemoryBuffer::DXT5: 54 case gfx::GpuMemoryBuffer::DXT5:
54 case gfx::GpuMemoryBuffer::ETC1: 55 case gfx::GpuMemoryBuffer::ETC1:
56 case gfx::GpuMemoryBuffer::R_8:
55 case gfx::GpuMemoryBuffer::RGBX_8888: 57 case gfx::GpuMemoryBuffer::RGBX_8888:
56 case gfx::GpuMemoryBuffer::RGBA_8888: 58 case gfx::GpuMemoryBuffer::RGBA_8888:
57 return false; 59 return false;
58 } 60 }
59 NOTREACHED(); 61 NOTREACHED();
60 return false; 62 return false;
63 case GL_LUMINANCE:
64 case GL_R8:
65 return format == gfx::GpuMemoryBuffer::R_8;
reveman 2015/04/01 13:14:33 this is not really true yet, is it?
Daniele Castagna 2015/04/01 21:58:34 Done.
61 default: 66 default:
62 return false; 67 return false;
63 } 68 }
64 } 69 }
65 70
66 EGLint FourCC(gfx::GpuMemoryBuffer::Format format) { 71 EGLint FourCC(gfx::GpuMemoryBuffer::Format format) {
67 switch (format) { 72 switch (format) {
68 case gfx::GpuMemoryBuffer::BGRA_8888: 73 case gfx::GpuMemoryBuffer::BGRA_8888:
69 return DRM_FORMAT_ARGB8888; 74 return DRM_FORMAT_ARGB8888;
70 case gfx::GpuMemoryBuffer::RGBX_8888: 75 case gfx::GpuMemoryBuffer::RGBX_8888:
71 return DRM_FORMAT_XRGB8888; 76 return DRM_FORMAT_XRGB8888;
72 case gfx::GpuMemoryBuffer::ATC: 77 case gfx::GpuMemoryBuffer::ATC:
73 case gfx::GpuMemoryBuffer::ATCIA: 78 case gfx::GpuMemoryBuffer::ATCIA:
74 case gfx::GpuMemoryBuffer::DXT1: 79 case gfx::GpuMemoryBuffer::DXT1:
75 case gfx::GpuMemoryBuffer::DXT5: 80 case gfx::GpuMemoryBuffer::DXT5:
76 case gfx::GpuMemoryBuffer::ETC1: 81 case gfx::GpuMemoryBuffer::ETC1:
82 case gfx::GpuMemoryBuffer::R_8:
77 case gfx::GpuMemoryBuffer::RGBA_8888: 83 case gfx::GpuMemoryBuffer::RGBA_8888:
78 NOTREACHED(); 84 NOTREACHED();
79 return 0; 85 return 0;
80 } 86 }
81 87
82 NOTREACHED(); 88 NOTREACHED();
83 return 0; 89 return 0;
84 } 90 }
85 91
86 bool IsHandleValid(const base::FileDescriptor& handle) { 92 bool IsHandleValid(const base::FileDescriptor& handle) {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 EGL_DMA_BUF_PLANE0_OFFSET_EXT, 129 EGL_DMA_BUF_PLANE0_OFFSET_EXT,
124 0, 130 0,
125 EGL_DMA_BUF_PLANE0_PITCH_EXT, 131 EGL_DMA_BUF_PLANE0_PITCH_EXT,
126 pitch, 132 pitch,
127 EGL_NONE}; 133 EGL_NONE};
128 return GLImageEGL::Initialize( 134 return GLImageEGL::Initialize(
129 EGL_LINUX_DMA_BUF_EXT, static_cast<EGLClientBuffer>(NULL), attrs); 135 EGL_LINUX_DMA_BUF_EXT, static_cast<EGLClientBuffer>(NULL), attrs);
130 } 136 }
131 137
132 } // namespace gfx 138 } // namespace gfx
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698