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

Unified Diff: gpu/command_buffer/common/gpu_memory_buffer_support.cc

Issue 2684993005: (NotForReview) Enable YUV video overlay on Skylake ChromeOS.
Patch Set: rebase to ToT (Mar/27) Created 3 years, 9 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
« no previous file with comments | « content/renderer/render_thread_impl_browsertest.cc ('k') | gpu/command_buffer/service/feature_info.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/command_buffer/common/gpu_memory_buffer_support.cc
diff --git a/gpu/command_buffer/common/gpu_memory_buffer_support.cc b/gpu/command_buffer/common/gpu_memory_buffer_support.cc
index 68237a08fd255e6ffc020f530493d662ffad0290..6a1a94ac167913c5a665617c47c48c2a9d03c562 100644
--- a/gpu/command_buffer/common/gpu_memory_buffer_support.cc
+++ b/gpu/command_buffer/common/gpu_memory_buffer_support.cc
@@ -41,7 +41,13 @@ gfx::BufferFormat BufferFormatForInternalFormat(unsigned internalformat) {
case GL_RGB_YCBCR_420V_CHROMIUM:
return gfx::BufferFormat::YUV_420_BIPLANAR;
case GL_RGB_YCBCR_422_CHROMIUM:
+#if defined(OS_MACOSX)
+ // Mac supports UYVY IOSurface.
return gfx::BufferFormat::UYVY_422;
+#elif defined(OS_CHROMEOS)
+ // Ozone supports YUYV NativePixmap.
+ return gfx::BufferFormat::YUYV_422;
+#endif
default:
NOTREACHED();
return gfx::BufferFormat::RGBA_8888;
@@ -79,6 +85,7 @@ bool IsImageFormatCompatibleWithGpuMemoryBufferFormat(
case gfx::BufferFormat::YVU_420:
case gfx::BufferFormat::YUV_420_BIPLANAR:
case gfx::BufferFormat::UYVY_422:
+ case gfx::BufferFormat::YUYV_422:
return format == BufferFormatForInternalFormat(internalformat);
case gfx::BufferFormat::BGR_565:
case gfx::BufferFormat::RGBX_8888:
@@ -110,6 +117,7 @@ bool IsGpuMemoryBufferFormatSupported(gfx::BufferFormat format,
case gfx::BufferFormat::RG_88:
return capabilities.texture_rg;
case gfx::BufferFormat::UYVY_422:
+ case gfx::BufferFormat::YUYV_422:
return capabilities.image_ycbcr_422;
case gfx::BufferFormat::BGR_565:
case gfx::BufferFormat::RGBA_4444:
@@ -156,6 +164,7 @@ bool IsImageSizeValidForGpuMemoryBufferFormat(const gfx::Size& size,
// U and V planes are subsampled by a factor of 2.
return size.width() % 2 == 0 && size.height() % 2 == 0;
case gfx::BufferFormat::UYVY_422:
+ case gfx::BufferFormat::YUYV_422:
return size.width() % 2 == 0;
}
« no previous file with comments | « content/renderer/render_thread_impl_browsertest.cc ('k') | gpu/command_buffer/service/feature_info.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698