Commit b84ae14e authored by Sam Lantinga's avatar Sam Lantinga

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

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403425
parent 959558fe
...@@ -32,9 +32,6 @@ static int ...@@ -32,9 +32,6 @@ static int
get_visualinfo(Display * display, int screen, XVisualInfo * vinfo) get_visualinfo(Display * display, int screen, XVisualInfo * vinfo)
{ {
const char *visual_id = SDL_getenv("SDL_VIDEO_X11_VISUALID"); 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; int depth;
/* Look for an exact visual, if requested */ /* Look for an exact visual, if requested */
...@@ -53,7 +50,7 @@ get_visualinfo(Display * display, int screen, XVisualInfo * vinfo) ...@@ -53,7 +50,7 @@ get_visualinfo(Display * display, int screen, XVisualInfo * vinfo)
} }
depth = DefaultDepth(display, screen); depth = DefaultDepth(display, screen);
if ((use_directcolor && if ((X11_UseDirectColorVisuals() &&
XMatchVisualInfo(display, screen, depth, DirectColor, vinfo)) || XMatchVisualInfo(display, screen, depth, DirectColor, vinfo)) ||
XMatchVisualInfo(display, screen, depth, TrueColor, vinfo) || XMatchVisualInfo(display, screen, depth, TrueColor, vinfo) ||
XMatchVisualInfo(display, screen, depth, PseudoColor, vinfo) || XMatchVisualInfo(display, screen, depth, PseudoColor, vinfo) ||
......
...@@ -391,7 +391,7 @@ X11_GL_GetVisual(_THIS, Display * display, int screen) ...@@ -391,7 +391,7 @@ X11_GL_GetVisual(_THIS, Display * display, int screen)
attribs[i++] = GLX_NONE_EXT; attribs[i++] = GLX_NONE_EXT;
} }
#ifdef GLX_DIRECT_COLOR /* Try for a DirectColor visual for gamma support */ #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_X_VISUAL_TYPE;
attribs[i++] = GLX_DIRECT_COLOR; attribs[i++] = GLX_DIRECT_COLOR;
} }
...@@ -400,7 +400,7 @@ X11_GL_GetVisual(_THIS, Display * display, int screen) ...@@ -400,7 +400,7 @@ X11_GL_GetVisual(_THIS, Display * display, int screen)
vinfo = _this->gl_data->glXChooseVisual(display, screen, attribs); vinfo = _this->gl_data->glXChooseVisual(display, screen, attribs);
#ifdef GLX_DIRECT_COLOR #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; attribs[i - 3] = None;
vinfo = _this->gl_data->glXChooseVisual(display, screen, attribs); vinfo = _this->gl_data->glXChooseVisual(display, screen, attribs);
} }
......
...@@ -267,4 +267,13 @@ X11_VideoQuit(_THIS) ...@@ -267,4 +267,13 @@ X11_VideoQuit(_THIS)
X11_QuitMouse(_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: */ /* vim: set ts=4 sw=4 expandtab: */
...@@ -76,6 +76,8 @@ typedef struct SDL_VideoData ...@@ -76,6 +76,8 @@ typedef struct SDL_VideoData
SDL_scancode key_layout[256]; SDL_scancode key_layout[256];
} SDL_VideoData; } SDL_VideoData;
extern SDL_bool X11_UseDirectColorVisuals();
#endif /* _SDL_x11video_h */ #endif /* _SDL_x11video_h */
/* vi: set ts=4 sw=4 expandtab: */ /* vi: set ts=4 sw=4 expandtab: */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment