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

Unified Diff: ui/gl/gl_image_linux_dma_buffer.cc

Issue 1071273002: NotForReview: Implement zero/one-copy texture for ozone freon using Intel DRM Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 side-by-side diff with in-line comments
Download patch
Index: ui/gl/gl_image_linux_dma_buffer.cc
diff --git a/ui/gl/gl_image_linux_dma_buffer.cc b/ui/gl/gl_image_linux_dma_buffer.cc
index ff18f8f0c2b9e9df4d468338ffb1ab955c309a06..13f40e90348c1190d5a96cc44db784bb0087f566 100644
--- a/ui/gl/gl_image_linux_dma_buffer.cc
+++ b/ui/gl/gl_image_linux_dma_buffer.cc
@@ -16,59 +16,37 @@
namespace gfx {
namespace {
-bool ValidFormat(unsigned internalformat, gfx::GpuMemoryBuffer::Format format) {
+bool ValidInternalFormat(unsigned internalformat) {
switch (internalformat) {
- case GL_ATC_RGB_AMD:
- return format == gfx::GpuMemoryBuffer::ATC;
- case GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD:
- return format == gfx::GpuMemoryBuffer::ATCIA;
- case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
- return format == gfx::GpuMemoryBuffer::DXT1;
- case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT:
- return format == gfx::GpuMemoryBuffer::DXT5;
- case GL_ETC1_RGB8_OES:
- return format == gfx::GpuMemoryBuffer::ETC1;
case GL_RGB:
- switch (format) {
- case gfx::GpuMemoryBuffer::RGBX_8888:
- return true;
- case gfx::GpuMemoryBuffer::ATC:
- case gfx::GpuMemoryBuffer::ATCIA:
- case gfx::GpuMemoryBuffer::DXT1:
- case gfx::GpuMemoryBuffer::DXT5:
- case gfx::GpuMemoryBuffer::ETC1:
- case gfx::GpuMemoryBuffer::R_8:
- case gfx::GpuMemoryBuffer::RGBA_8888:
- case gfx::GpuMemoryBuffer::BGRA_8888:
- case gfx::GpuMemoryBuffer::YUV_420:
- return false;
- }
- NOTREACHED();
- return false;
case GL_RGBA:
- switch (format) {
- case gfx::GpuMemoryBuffer::BGRA_8888:
- return true;
- case gfx::GpuMemoryBuffer::ATC:
- case gfx::GpuMemoryBuffer::ATCIA:
- case gfx::GpuMemoryBuffer::DXT1:
- case gfx::GpuMemoryBuffer::DXT5:
- case gfx::GpuMemoryBuffer::ETC1:
- case gfx::GpuMemoryBuffer::R_8:
- case gfx::GpuMemoryBuffer::RGBX_8888:
- case gfx::GpuMemoryBuffer::RGBA_8888:
- case gfx::GpuMemoryBuffer::YUV_420:
- return false;
- }
- NOTREACHED();
- return false;
- case GL_R8:
- return false;
+ case GL_BGRA_EXT:
+ return true;
default:
return false;
}
}
+bool ValidFormat(gfx::GpuMemoryBuffer::Format format) {
+ switch (format) {
+ case gfx::GpuMemoryBuffer::RGBA_8888:
+ case gfx::GpuMemoryBuffer::BGRA_8888:
+ case gfx::GpuMemoryBuffer::RGBX_8888:
+ return true;
+ case gfx::GpuMemoryBuffer::ATC:
+ case gfx::GpuMemoryBuffer::ATCIA:
+ case gfx::GpuMemoryBuffer::DXT1:
+ case gfx::GpuMemoryBuffer::DXT5:
+ case gfx::GpuMemoryBuffer::ETC1:
+ case gfx::GpuMemoryBuffer::R_8:
+ case gfx::GpuMemoryBuffer::YUV_420:
+ return false;
+ }
+
+ NOTREACHED();
+ return false;
+}
+
EGLint FourCC(gfx::GpuMemoryBuffer::Format format) {
switch (format) {
case gfx::GpuMemoryBuffer::BGRA_8888:
@@ -108,8 +86,13 @@ GLImageLinuxDMABuffer::~GLImageLinuxDMABuffer() {
bool GLImageLinuxDMABuffer::Initialize(const base::FileDescriptor& handle,
gfx::GpuMemoryBuffer::Format format,
int pitch) {
- if (!ValidFormat(internalformat_, format)) {
- LOG(ERROR) << "Invalid format: " << internalformat_;
+ if (!ValidInternalFormat(internalformat_)) {
+ LOG(ERROR) << "Invalid internalformat: " << internalformat_;
+ return false;
+ }
+
+ if (!ValidFormat(format)) {
+ LOG(ERROR) << "Invalid format: " << format;
return false;
}
@@ -133,8 +116,8 @@ bool GLImageLinuxDMABuffer::Initialize(const base::FileDescriptor& handle,
EGL_DMA_BUF_PLANE0_PITCH_EXT,
pitch,
EGL_NONE};
- return GLImageEGL::Initialize(
- EGL_LINUX_DMA_BUF_EXT, static_cast<EGLClientBuffer>(NULL), attrs);
+ return GLImageEGL::Initialize(EGL_LINUX_DMA_BUF_EXT,
+ static_cast<EGLClientBuffer>(nullptr), attrs);
}
} // namespace gfx

Powered by Google App Engine
This is Rietveld 408576698