summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrey Nazarov <skuller@skuller.net>2012-11-03 13:58:27 +0400
committerAndrey Nazarov <skuller@skuller.net>2012-11-03 13:58:27 +0400
commit0f8a8a978743e0cce444d75c836b81164df11346 (patch)
tree3fe0fc49bb4291fae8de9cd6ba3883269c140121 /src
parent7fbf3c42c0b732705f9bc631ffc69d8fa9d0d701 (diff)
Add multisample support to SDL video driver.
Diffstat (limited to 'src')
-rw-r--r--src/unix/sdl/glimp.c10
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;