]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - vid_glx.c
now shows status messages in join game menu when a server is typed in manually (it...
[xonotic/darkplaces.git] / vid_glx.c
index 293cd098660916f731adf6c46984acafc2720a99..1dd50cabc7aba1383f5b7ab746ef5f0e14006d9d 100644 (file)
--- a/vid_glx.c
+++ b/vid_glx.c
@@ -42,6 +42,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 #include "quakedef.h"
 
+// Tell startup code that we have a client
+int cl_available = true;
+
 //GLX prototypes
 XVisualInfo *(GLAPIENTRY *qglXChooseVisual)(Display *dpy, int screen, int *attribList);
 GLXContext (GLAPIENTRY *qglXCreateContext)(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
@@ -264,7 +267,7 @@ static void install_grabs(void)
                if (!XF86DGAQueryVersion(vidx11_display, &MajorVersion, &MinorVersion))
                {
                        // unable to query, probalby not supported
-                       Con_Printf( "Failed to detect XF86DGA Mouse\n" );
+                       Con_Print( "Failed to detect XF86DGA Mouse\n" );
                        vid_dga.integer = 0;
                }
                else
@@ -604,7 +607,8 @@ void VID_Finish (void)
        int usemouse;
        if (r_render.integer)
        {
-               qglFinish();
+               if (r_speeds.integer || gl_finish.integer)
+                       qglFinish();
                qglXSwapBuffers(vidx11_display, win);
        }
 
@@ -649,6 +653,7 @@ void VID_Init(void)
        Cvar_RegisterVariable (&vid_dga_mouseaccel);
 #endif
        InitSig(); // trap evil signals
+// COMMANDLINEOPTION: Input: -nomouse disables mouse support (see also vid_mouse cvar)
        if (COM_CheckParm ("-nomouse") || COM_CheckParm("-safe"))
                mouse_avail = false;
 }
@@ -684,8 +689,11 @@ int VID_InitMode(int fullscreen, int width, int height, int bpp)
 #if defined(__APPLE__) && defined(__MACH__)
        drivername = "/usr/X11R6/lib/libGL.1.dylib";
 #else
-       drivername = "libGL.so.1"
+       drivername = "libGL.so.1";
 #endif
+// COMMANDLINEOPTION: Linux GLX: -gl_driver <drivername> selects a GL driver library, default is libGL.so.1, useful only for using fxmesa or similar, if you don't know what this is for, you don't need it
+// COMMANDLINEOPTION: BSD GLX: -gl_driver <drivername> selects a GL driver library, default is libGL.so.1, useful only for using fxmesa or similar, if you don't know what this is for, you don't need it
+// LordHavoc: although this works on MacOSX, it's useless there (as there is only one system libGL)
        i = COM_CheckParm("-gl_driver");
        if (i && i < com_argc - 1)
                drivername = com_argv[i + 1];
@@ -697,7 +705,7 @@ int VID_InitMode(int fullscreen, int width, int height, int bpp)
 
        if (!(vidx11_display = XOpenDisplay(NULL)))
        {
-               Con_Printf("Couldn't open the X display\n");
+               Con_Print("Couldn't open the X display\n");
                return false;
        }
 
@@ -728,7 +736,7 @@ int VID_InitMode(int fullscreen, int width, int height, int bpp)
        visinfo = qglXChooseVisual(vidx11_display, vidx11_screen, attrib);
        if (!visinfo)
        {
-               Con_Printf("Couldn't get an RGB, Double-buffered, Depth visual\n");
+               Con_Print("Couldn't get an RGB, Double-buffered, Depth visual\n");
                return false;
        }
 
@@ -840,7 +848,15 @@ int VID_InitMode(int fullscreen, int width, int height, int bpp)
        gl_platform = "GLX";
        gl_platformextensions = qglXQueryExtensionsString(vidx11_display, vidx11_screen);
 
+       gl_videosyncavailable = false;
+
+// COMMANDLINEOPTION: Linux GLX: -nogetprocaddress disables GLX_ARB_get_proc_address (not required, more formal method of getting extension functions)
+// COMMANDLINEOPTION: BSD GLX: -nogetprocaddress disables GLX_ARB_get_proc_address (not required, more formal method of getting extension functions)
+// COMMANDLINEOPTION: MacOSX GLX: -nogetprocaddress disables GLX_ARB_get_proc_address (not required, more formal method of getting extension functions)
        GL_CheckExtension("GLX_ARB_get_proc_address", getprocaddressfuncs, "-nogetprocaddress", false);
+// COMMANDLINEOPTION: Linux GLX: -novideosync disables GLX_SGI_video_sync
+// COMMANDLINEOPTION: BSD GLX: -novideosync disables GLX_SGI_video_sync
+// COMMANDLINEOPTION: MacOSX GLX: -novideosync disables GLX_SGI_video_sync
        gl_videosyncavailable = GL_CheckExtension("GLX_SGI_video_sync", videosyncfuncs, "-novideosync", false);
 
        usingmouse = false;