Chromium Code Reviews| Index: gpu/config/gpu_info_collector.cc |
| diff --git a/gpu/config/gpu_info_collector.cc b/gpu/config/gpu_info_collector.cc |
| index 527f85ea5a00696dbb27e1874c03d9647c604760..760caf99645bb35804ea224930f7ddbb0ff9c1c7 100644 |
| --- a/gpu/config/gpu_info_collector.cc |
| +++ b/gpu/config/gpu_info_collector.cc |
| @@ -26,6 +26,10 @@ |
| #include "ui/gl/gl_version_info.h" |
| #include "ui/gl/init/gl_factory.h" |
| +#if defined(USE_X11) && !defined(OS_CHROMEOS) |
| +#include "ui/gl/gl_visual_picker_glx.h" |
| +#endif |
| + |
| namespace { |
| scoped_refptr<gl::GLSurface> InitializeGLSurface() { |
| @@ -173,6 +177,14 @@ CollectInfoResult CollectGraphicsInfoGL(GPUInfo* gpu_info) { |
| reinterpret_cast<GLint*>(&gpu_info->gl_reset_notification_strategy)); |
| } |
| +#if defined(USE_X11) && !defined(OS_CHROMEOS) |
| + if (gl::GetGLImplementation() == gl::kGLImplementationDesktopGL) { |
|
Tom (Use chromium acct)
2016/09/22 19:53:29
The glx library is not loaded unless gl::GetGLImpl
|
| + gl::GLVisualPickerGLX* visual_picker = gl::GLVisualPickerGLX::GetInstance(); |
| + gpu_info->system_visual = visual_picker->system_visual().visualid; |
| + gpu_info->rgba_visual = visual_picker->rgba_visual().visualid; |
| + } |
| +#endif |
| + |
| // TODO(kbr): remove once the destruction of a current context automatically |
| // clears the current context. |
| context->ReleaseCurrent(surface.get()); |
| @@ -224,6 +236,11 @@ void MergeGPUInfoGL(GPUInfo* basic_gpu_info, |
| context_gpu_info.video_encode_accelerator_supported_profiles; |
| basic_gpu_info->jpeg_decode_accelerator_supported = |
| context_gpu_info.jpeg_decode_accelerator_supported; |
| + |
| +#if defined(USE_X11) && !defined(OS_CHROMEOS) |
| + basic_gpu_info->system_visual = context_gpu_info.system_visual; |
| + basic_gpu_info->rgba_visual = context_gpu_info.rgba_visual; |
| +#endif |
| } |
| void IdentifyActiveGPU(GPUInfo* gpu_info) { |
| @@ -286,4 +303,3 @@ void IdentifyActiveGPU(GPUInfo* gpu_info) { |
| } |
| } // namespace gpu |
| - |