| Index: client/deps/glbench/src/egl_stuff.cc | 
| diff --git a/client/deps/glbench/src/egl_stuff.cc b/client/deps/glbench/src/egl_stuff.cc | 
| index 0887cc0aad2837da84b85f9f5d768ba9dcb974c3..4124072940984fd7ec90d2198711325a0b84bb57 100644 | 
| --- a/client/deps/glbench/src/egl_stuff.cc | 
| +++ b/client/deps/glbench/src/egl_stuff.cc | 
| @@ -4,6 +4,7 @@ | 
|  | 
| #include <EGL/egl.h> | 
|  | 
| +#include "base/logging.h" | 
| #include "main.h" | 
| #include "xlib_window.h" | 
|  | 
| @@ -29,39 +30,46 @@ bool Init() { | 
| return true; | 
| } | 
|  | 
| -VisualID GetVisualID() { | 
| -  EGLint attribs[] = { | 
| -    EGL_RED_SIZE, 1, | 
| -    EGL_GREEN_SIZE, 1, | 
| -    EGL_BLUE_SIZE, 1, | 
| -    EGL_DEPTH_SIZE, 1, | 
| -    EGL_STENCIL_SIZE, 1, | 
| -    EGL_SURFACE_TYPE, EGL_WINDOW_BIT, | 
| -    EGL_NONE | 
| -  }; | 
| - | 
| -  EGLNativeDisplayType native_display = | 
| +XVisualInfo* GetXVisual() { | 
| +  if (!egl_config) { | 
| +    EGLint attribs[] = { | 
| +      EGL_RED_SIZE, 1, | 
| +      EGL_GREEN_SIZE, 1, | 
| +      EGL_BLUE_SIZE, 1, | 
| +      EGL_DEPTH_SIZE, 1, | 
| +      EGL_STENCIL_SIZE, 1, | 
| +      EGL_SURFACE_TYPE, EGL_WINDOW_BIT, | 
| +      EGL_NONE | 
| +    }; | 
| + | 
| +    EGLNativeDisplayType native_display = | 
| static_cast<EGLNativeDisplayType>(g_xlib_display); | 
|  | 
| -  EGLDisplay egl_display = eglGetDisplay(native_display); | 
| -  CHECK_EGL(); | 
| +    egl_display = eglGetDisplay(native_display); | 
| +    CHECK_EGL(); | 
|  | 
| -  eglInitialize(egl_display, NULL, NULL); | 
| -  CHECK_EGL(); | 
| +    eglInitialize(egl_display, NULL, NULL); | 
| +    CHECK_EGL(); | 
|  | 
| -  EGLint num_configs = -1; | 
| -  eglGetConfigs(egl_display, NULL, 0, &num_configs); | 
| -  CHECK_EGL(); | 
| +    EGLint num_configs = -1; | 
| +    eglGetConfigs(egl_display, NULL, 0, &num_configs); | 
| +    CHECK_EGL(); | 
|  | 
| -  EGLConfig egl_config; | 
| -  eglChooseConfig(egl_display, attribs, &egl_config, 1, &num_configs); | 
| -  CHECK_EGL(); | 
| +    eglChooseConfig(egl_display, attribs, &egl_config, 1, &num_configs); | 
| +    CHECK_EGL(); | 
| +  } | 
|  | 
| EGLint visual_id; | 
| eglGetConfigAttrib(egl_display, egl_config, EGL_NATIVE_VISUAL_ID, &visual_id); | 
| CHECK_EGL(); | 
|  | 
| -  return static_cast<VisualID>(visual_id); | 
| +  XVisualInfo vinfo_template; | 
| +  vinfo_template.visualid = static_cast<VisualID>(visual_id); | 
| +  int nitems = 0; | 
| +  XVisualInfo* ret = XGetVisualInfo(g_xlib_display, VisualIDMask, | 
| +                                    &vinfo_template, &nitems); | 
| +  CHECK(nitems == 1); | 
| +  return ret; | 
| } | 
|  | 
| bool InitContext() { | 
|  |