]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - vid_glx.c
changed cl_brushmodel_entities array from entity_render_t * to int, to fix a crash...
[xonotic/darkplaces.git] / vid_glx.c
index 4df6fb707ab1a0bf7afcf2181f9e1f2804ddcf9c..aa86a167961ef98fc0174235a2c197459ce227a4 100644 (file)
--- a/vid_glx.c
+++ b/vid_glx.c
@@ -551,6 +551,43 @@ static void IN_ActivateMouse( void )
        }
 }
 
+static void *prjobj = NULL;
+
+static void GL_CloseLibrary(void)
+{
+       if (prjobj)
+               dlclose(prjobj);
+       prjobj = NULL;
+       gl_driver[0] = 0;
+       qglXGetProcAddressARB = NULL;
+       gl_extensions = "";
+       gl_platform = "";
+       gl_platformextensions = "";
+}
+
+static int GL_OpenLibrary(const char *name)
+{
+       Con_Printf("Loading OpenGL driver %s\n", name);
+       GL_CloseLibrary();
+       if (!(prjobj = dlopen(name, RTLD_LAZY)))
+       {
+               Con_Printf("Unable to open symbol list for %s\n", name);
+               return false;
+       }
+       strcpy(gl_driver, name);
+       return true;
+}
+
+void *GL_GetProcAddress(const char *name)
+{
+       void *p = NULL;
+       if (qglXGetProcAddressARB != NULL)
+               p = (void *) qglXGetProcAddressARB(name);
+       if (p == NULL)
+               p = (void *) dlsym(prjobj, name);
+       return p;
+}
+
 void VID_Shutdown(void)
 {
        if (!ctx || !vidx11_display)
@@ -619,7 +656,8 @@ void VID_Finish (void)
        if (vid_usingvsync != vid_usevsync && gl_videosyncavailable)
        {
                vid_usingvsync = vid_usevsync;
-               qglXSwapIntervalSGI (vid_usevsync);
+               if (qglXSwapIntervalSGI (vid_usevsync))
+                       Con_Print("glXSwapIntervalSGI didn't accept the vid_vsync change, it will take effect on next vid_restart (GLX_SGI_swap_control does not allow turning off vsync)\n");
        }
 
 // handle the mouse state when windowed if that's changed
@@ -877,6 +915,7 @@ int VID_InitMode(int fullscreen, int width, int height, int bpp)
        gl_videosyncavailable = GL_CheckExtension("GLX_SGI_swap_control", swapcontrolfuncs, "-novideosync", false);
 
        vid_usingmouse = false;
+       vid_usingvsync = false;
        ignoremousemove = true;
        vid_hidden = false;
        vid_activewindow = true;
@@ -905,41 +944,3 @@ void IN_Move (void)
        mouse_x = 0;
        mouse_y = 0;
 }
-
-static void *prjobj = NULL;
-
-int GL_OpenLibrary(const char *name)
-{
-       Con_Printf("Loading OpenGL driver %s\n", name);
-       GL_CloseLibrary();
-       if (!(prjobj = dlopen(name, RTLD_LAZY)))
-       {
-               Con_Printf("Unable to open symbol list for %s\n", name);
-               return false;
-       }
-       strcpy(gl_driver, name);
-       return true;
-}
-
-void GL_CloseLibrary(void)
-{
-       if (prjobj)
-               dlclose(prjobj);
-       prjobj = NULL;
-       gl_driver[0] = 0;
-       qglXGetProcAddressARB = NULL;
-       gl_extensions = "";
-       gl_platform = "";
-       gl_platformextensions = "";
-}
-
-void *GL_GetProcAddress(const char *name)
-{
-       void *p = NULL;
-       if (qglXGetProcAddressARB != NULL)
-               p = (void *) qglXGetProcAddressARB(name);
-       if (p == NULL)
-               p = (void *) dlsym(prjobj, name);
-       return p;
-}
-