Chromium Code Reviews| Index: gpu/command_buffer/service/feature_info.cc |
| diff --git a/gpu/command_buffer/service/feature_info.cc b/gpu/command_buffer/service/feature_info.cc |
| index 45062e16dc8d43531a6d3be0da9c39860fd0e2e7..4016afc06e1c8b3e23d4d4a161842c84aa0a4f47 100644 |
| --- a/gpu/command_buffer/service/feature_info.cc |
| +++ b/gpu/command_buffer/service/feature_info.cc |
| @@ -22,6 +22,10 @@ |
| #include "ui/gl/gl_switches.h" |
| #include "ui/gl/gl_version_info.h" |
| +#if defined(OS_CHROMEOS) |
| +#include "ui/gl/gl_surface_egl.h" |
| +#endif |
| + |
| #if !defined(OS_MACOSX) |
| #include "ui/gl/gl_fence_egl.h" |
| #endif |
| @@ -1021,9 +1025,24 @@ void FeatureInfo::InitializeFeatures() { |
| validators_.g_l_state.AddValue(GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES); |
| } |
| + if (extensions.Contains("GL_APPLE_ycbcr_422")) { |
| + AddExtensionString("GL_CHROMIUM_ycbcr_422_image"); |
| + feature_flags_.chromium_image_ycbcr_422 = true; |
| + } |
| + |
| if (extensions.Contains("GL_OES_EGL_image_external")) { |
| AddExtensionString("GL_OES_EGL_image_external"); |
| feature_flags_.oes_egl_image_external = true; |
| +#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) |
| + // TODO(dshwang): when ARM support YUYV, remove ARCH_CPU_X86_FAMILY check. |
|
marcheu1
2017/01/21 00:25:18
Som ARM platforms already support YUYV, please don
dshwang
2017/01/23 23:13:42
Ok, remove the X86 check. and the code is protecte
|
| + // crbug.com/683347 |
| + bool has_dma_buf_import = |
| + gl::GLSurfaceEGL::HasEGLExtension("EGL_EXT_image_dma_buf_import"); |
|
marcheu1
2017/01/21 00:25:18
we might not need to test this, dma_buf_import is
dshwang
2017/01/23 23:13:42
In ChromeOS, GLImageOzoneNativePixmap binds YUYV d
|
| + if (has_dma_buf_import) { |
| + AddExtensionString("GL_CHROMIUM_ycbcr_422_image"); |
|
marcheu1
2017/01/21 00:25:18
I think it's incorrect to prevent allocation of im
dshwang
2017/01/23 23:13:42
gbm already provides the ability to tell if alloca
|
| + feature_flags_.chromium_image_ycbcr_422 = true; |
| + } |
| +#endif |
| } |
| if (extensions.Contains("GL_NV_EGL_stream_consumer_external")) { |
| AddExtensionString("GL_NV_EGL_stream_consumer_external"); |
| @@ -1120,11 +1139,6 @@ void FeatureInfo::InitializeFeatures() { |
| } |
| #endif |
| - if (extensions.Contains("GL_APPLE_ycbcr_422")) { |
| - AddExtensionString("GL_CHROMIUM_ycbcr_422_image"); |
| - feature_flags_.chromium_image_ycbcr_422 = true; |
| - } |
| - |
| // TODO(gman): Add support for these extensions. |
| // GL_OES_depth32 |