Don't use DirectColor visuals until we implement DirectColor colormap support

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403425
This commit is contained in:
Sam Lantinga 2009-01-02 15:47:49 +00:00
parent 959558fe22
commit b84ae14eeb
4 changed files with 14 additions and 6 deletions

View file

@ -32,9 +32,6 @@ static int
get_visualinfo(Display * display, int screen, XVisualInfo * vinfo)
{
const char *visual_id = SDL_getenv("SDL_VIDEO_X11_VISUALID");
/* We really don't need DirectColor visuals until we implement
* gamma ramps, but we'll leave it on for now to catch bugs */
int use_directcolor = 0;
int depth;
/* Look for an exact visual, if requested */
@ -53,7 +50,7 @@ get_visualinfo(Display * display, int screen, XVisualInfo * vinfo)
}
depth = DefaultDepth(display, screen);
if ((use_directcolor &&
if ((X11_UseDirectColorVisuals() &&
XMatchVisualInfo(display, screen, depth, DirectColor, vinfo)) ||
XMatchVisualInfo(display, screen, depth, TrueColor, vinfo) ||
XMatchVisualInfo(display, screen, depth, PseudoColor, vinfo) ||

View file

@ -391,7 +391,7 @@ X11_GL_GetVisual(_THIS, Display * display, int screen)
attribs[i++] = GLX_NONE_EXT;
}
#ifdef GLX_DIRECT_COLOR /* Try for a DirectColor visual for gamma support */
if (!SDL_getenv("SDL_VIDEO_X11_NODIRECTCOLOR")) {
if (X11_UseDirectColorVisuals()) {
attribs[i++] = GLX_X_VISUAL_TYPE;
attribs[i++] = GLX_DIRECT_COLOR;
}
@ -400,7 +400,7 @@ X11_GL_GetVisual(_THIS, Display * display, int screen)
vinfo = _this->gl_data->glXChooseVisual(display, screen, attribs);
#ifdef GLX_DIRECT_COLOR
if (!vinfo && !SDL_getenv("SDL_VIDEO_X11_NODIRECTCOLOR")) { /* No DirectColor visual? Try again.. */
if (!vinfo && X11_UseDirectColorVisuals()) { /* No DirectColor visual? Try again.. */
attribs[i - 3] = None;
vinfo = _this->gl_data->glXChooseVisual(display, screen, attribs);
}

View file

@ -267,4 +267,13 @@ X11_VideoQuit(_THIS)
X11_QuitMouse(_this);
}
SDL_bool
X11_UseDirectColorVisuals()
{
/* Once we implement DirectColor colormaps and gamma ramp support...
return SDL_getenv("SDL_VIDEO_X11_NODIRECTCOLOR") ? SDL_FALSE : SDL_TRUE;
*/
return SDL_FALSE;
}
/* vim: set ts=4 sw=4 expandtab: */

View file

@ -76,6 +76,8 @@ typedef struct SDL_VideoData
SDL_scancode key_layout[256];
} SDL_VideoData;
extern SDL_bool X11_UseDirectColorVisuals();
#endif /* _SDL_x11video_h */
/* vi: set ts=4 sw=4 expandtab: */