fixed incorrect checking of the existence of GLX_EXT_swap_control and friends
[demo_prior] / src / opengl.c
index beba99d..8b5af75 100644 (file)
@@ -1,7 +1,45 @@
 #include "opengl.h"
 
+#ifdef __unix__
+#include "glxew.h"
+
+static Display *dpy;
+static Window win;
+#endif
+#ifdef _WIN32
+#include "wglew.h"
+#endif
+
+
 int init_opengl(void)
 {
        glewInit();
+
+#ifdef __unix__
+       glxewInit();
+       dpy = glXGetCurrentDisplay();
+       win = glXGetCurrentDrawable();
+#endif
+#ifdef _WIN32
+       wglewInit();
+}
+#endif
+
        return 0;
 }
+
+void gl_swap_interval(int val)
+{
+#ifdef __unix__
+       if(GLXEW_EXT_swap_control) {
+               glXSwapIntervalEXT(dpy, win, val);
+       } else if(GLXEW_SGI_swap_control) {
+               glXSwapIntervalSGI(val);
+       }
+#endif
+#ifdef _WIN32
+       if(WGLEW_EXT_swap_control) {
+               wglSwapIntervalEXT(val);
+       }
+#endif
+}