egl/x11: Fix initialisation of swap_interval
authorRalf Jung <post@ralfj.de>
Tue, 9 Apr 2013 12:09:50 +0000 (14:09 +0200)
committerChad Versace <chad.versace@linux.intel.com>
Thu, 11 Apr 2013 02:16:45 +0000 (19:16 -0700)
The EGLConfig attributes EGL_MIN/MAX_SWAP_INTERVAL were incorrectly set to
0 and 0. This prevented clients from setting the swap interval to a
reasonable value, like 1 or 2.

Swap interval worked correctly in Mesa 9.0. The commit below introduced
the bug.

    commit 7e9bd2b2ed35a440a96362417100a7e43715d606
    Author: Eric Anholt <eric@anholt.net>
    Date:   Tue Sep 25 14:05:30 2012 -0700
egl: Add support for driconf control of swapinterval.

Note: This is a candidate for the 9.1 branch.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=63078
[chadv: Wrote commit message]
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/egl/drivers/dri2/platform_x11.c

index da61cfc74981d51b50b512cc1dd92264123d5915..e9ca241155252c38d458ab9728c041efb2b31779 100644 (file)
@@ -1162,6 +1162,8 @@ dri2_initialize_x11_dri2(_EGLDriver *drv, _EGLDisplay *disp)
    if (!dri2_create_screen(disp))
       goto cleanup_fd;
 
+   dri2_setup_swap_interval(dri2_dpy);
+
    if (dri2_dpy->conn) {
       if (!dri2_add_configs_for_visuals(dri2_dpy, disp))
         goto cleanup_configs;
@@ -1181,8 +1183,6 @@ dri2_initialize_x11_dri2(_EGLDriver *drv, _EGLDisplay *disp)
    disp->VersionMajor = 1;
    disp->VersionMinor = 4;
 
-   dri2_setup_swap_interval(dri2_dpy);
-
    return EGL_TRUE;
 
  cleanup_configs: