diff --git a/debian/changelog b/debian/changelog index ef5807b..2c57f87 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,10 @@ -steamos-compositor (1.15.1) alchemist; urgency=low +steamos-compositor (1.15.2) alchemist; urgency=low * Set _NET_WM_STATE_HIDDEN on out of focus windows and the overlays when appropriate. Steam knows to stop its rendering loop when it sees this. * Fix double cursor when a game is starting or exiting. + * Always request vertical synchronization, as some implementations might not + enable it by default. -- Pierre-Loup A. Griffais Wed, 08 Jan 2014 13:57:13 -0800 diff --git a/src/steamcompmgr.c b/src/steamcompmgr.c index dcbb8c3..7bab084 100644 --- a/src/steamcompmgr.c +++ b/src/steamcompmgr.c @@ -51,6 +51,9 @@ #define GL_GLEXT_LEGACY #include #include "glext.h" +#include "GL/glxext.h" + +PFNGLXSWAPINTERVALEXTPROC __pointer_to_glXSwapIntervalEXT; void (*__pointer_to_glXBindTexImageEXT) (Display *display, GLXDrawable drawable, @@ -1877,6 +1880,16 @@ main (int argc, char **argv) exit (1); } + __pointer_to_glXSwapIntervalEXT = (void *)glXGetProcAddress("glXSwapIntervalEXT"); + if (__pointer_to_glXSwapIntervalEXT) + { + __pointer_to_glXSwapIntervalEXT(dpy, root, 1); + } + else + { + fprintf (stderr, "Could not find glXSwapIntervalEXT proc pointer\n"); + } + __pointer_to_glXBindTexImageEXT = (void *)glXGetProcAddress("glXBindTexImageEXT"); __pointer_to_glXReleaseTexImageEXT = (void *)glXGetProcAddress("glXReleaseTexImageEXT");