diff options
author | Andrey Nazarov <skuller@skuller.net> | 2012-11-03 13:58:27 +0400 |
---|---|---|
committer | Andrey Nazarov <skuller@skuller.net> | 2012-11-03 13:58:27 +0400 |
commit | 0f8a8a978743e0cce444d75c836b81164df11346 (patch) | |
tree | 3fe0fc49bb4291fae8de9cd6ba3883269c140121 /src | |
parent | 7fbf3c42c0b732705f9bc631ffc69d8fa9d0d701 (diff) |
Add multisample support to SDL video driver.
Diffstat (limited to 'src')
-rw-r--r-- | src/unix/sdl/glimp.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/unix/sdl/glimp.c b/src/unix/sdl/glimp.c index eba0386..982f956 100644 --- a/src/unix/sdl/glimp.c +++ b/src/unix/sdl/glimp.c @@ -48,10 +48,12 @@ qboolean VID_Init(void) cvar_t *gl_colorbits; cvar_t *gl_depthbits; cvar_t *gl_stencilbits; + cvar_t *gl_multisamples; char *s; int colorbits; int depthbits; int stencilbits; + int multisamples; if (!VID_SDL_Init()) { return qfalse; @@ -61,6 +63,7 @@ qboolean VID_Init(void) gl_colorbits = Cvar_Get("gl_colorbits", "0", CVAR_REFRESH); gl_depthbits = Cvar_Get("gl_depthbits", "0", CVAR_REFRESH); gl_stencilbits = Cvar_Get("gl_stencilbits", "8", CVAR_REFRESH); + gl_multisamples = Cvar_Get("gl_multisamples", "0", CVAR_REFRESH); // don't allow absolute or relative paths FS_SanitizeFilenameVariable(gl_driver); @@ -93,6 +96,7 @@ qboolean VID_Init(void) colorbits = Cvar_ClampInteger(gl_colorbits, 0, 32); depthbits = Cvar_ClampInteger(gl_depthbits, 0, 32); stencilbits = Cvar_ClampInteger(gl_stencilbits, 0, 8); + multisamples = Cvar_ClampInteger(gl_multisamples, 0, 32); if (colorbits == 0) colorbits = 24; @@ -112,10 +116,16 @@ qboolean VID_Init(void) SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 5); SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 5); } + SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, depthbits); SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, stencilbits); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); + if (multisamples > 1) { + SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1); + SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, multisamples); + } + if (!VID_SDL_SetMode(SDL_OPENGL | SDL_RESIZABLE, 0)) { Com_EPrintf("Couldn't set video mode: %s\n", SDL_GetError()); goto fail; |