Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Don't use DirectColor visuals until we implement DirectColor colormap…
Browse files Browse the repository at this point in the history
… support
  • Loading branch information
slouken committed Jan 2, 2009
1 parent fd7cc64 commit 8e0f0ad
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 6 deletions.
5 changes: 1 addition & 4 deletions src/video/x11/SDL_x11modes.c
Expand Up @@ -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 */
Expand All @@ -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) ||
Expand Down
4 changes: 2 additions & 2 deletions src/video/x11/SDL_x11opengl.c
Expand Up @@ -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;
}
Expand All @@ -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);
}
Expand Down
9 changes: 9 additions & 0 deletions src/video/x11/SDL_x11video.c
Expand Up @@ -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: */
2 changes: 2 additions & 0 deletions src/video/x11/SDL_x11video.h
Expand Up @@ -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: */

0 comments on commit 8e0f0ad

Please sign in to comment.