X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=vid_glx.c;h=4a95aa1f8914c50a8ef70ef06c3d47ab2a3bfdbe;hp=ec9a998b71e0ea795daf4b070f32a2329972c593;hb=426d3967446d906a9612ae09e6748d3dad26c60f;hpb=49cfc77279303131ad6a3e3ed057f283970771b1 diff --git a/vid_glx.c b/vid_glx.c index ec9a998b..4a95aa1f 100644 --- a/vid_glx.c +++ b/vid_glx.c @@ -42,6 +42,7 @@ 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 @@ -266,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 @@ -606,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); } @@ -651,6 +653,7 @@ void VID_Init(void) Cvar_RegisterVariable (&vid_dga_mouseaccel); #endif InitSig(); // trap evil signals +// COMMANDLINEOPTION: -nomouse disables mouse support (see also vid_mouse cvar) if (COM_CheckParm ("-nomouse") || COM_CheckParm("-safe")) mouse_avail = false; } @@ -686,8 +689,9 @@ 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: -gl_driver selects a GL driver library, default is libGL.so.1 (Linux/BSD) or opengl32.dll (windows) or /usr/X11R6/lib/libGL.1.dylib (MacOSX), if you don't know what this is for, you don't need it i = COM_CheckParm("-gl_driver"); if (i && i < com_argc - 1) drivername = com_argv[i + 1]; @@ -699,7 +703,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; } @@ -730,7 +734,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; } @@ -842,7 +846,11 @@ 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: -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: -novideosync disables GLX_SGI_video_sync (required for video sync control on GLX) gl_videosyncavailable = GL_CheckExtension("GLX_SGI_video_sync", videosyncfuncs, "-novideosync", false); usingmouse = false;