diff options
| author | zakk <zakk@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2009-06-13 22:00:28 +0000 | 
|---|---|---|
| committer | zakk <zakk@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2009-06-13 22:00:28 +0000 | 
| commit | c8b7ec2dd66ed0a5fc29d4277f7e63a807012b88 (patch) | |
| tree | c61d6a827ca8af19a6587863fa03098d804a5584 | |
| parent | 66fe8519831b8a68264409fa4ad01913c22a6e83 (diff) | |
| download | ioquake3-aero-c8b7ec2dd66ed0a5fc29d4277f7e63a807012b88.tar.gz ioquake3-aero-c8b7ec2dd66ed0a5fc29d4277f7e63a807012b88.zip  | |
See here:
http://bugzilla.icculus.org/show_bug.cgi?id=4064
git-svn-id: svn://svn.icculus.org/quake3/trunk@1573 edf5b092-35ff-0310-97b2-ce42778d08ea
| -rw-r--r-- | code/renderer/tr_init.c | 3 | ||||
| -rw-r--r-- | code/renderer/tr_local.h | 1 | ||||
| -rw-r--r-- | code/sdl/sdl_glimp.c | 6 | 
3 files changed, 10 insertions, 0 deletions
diff --git a/code/renderer/tr_init.c b/code/renderer/tr_init.c index dfe6ca0..c58006f 100644 --- a/code/renderer/tr_init.c +++ b/code/renderer/tr_init.c @@ -102,6 +102,7 @@ cvar_t	*r_depthbits;  cvar_t	*r_colorbits;  cvar_t	*r_primitives;  cvar_t	*r_texturebits; +cvar_t  *r_ext_multisample;  cvar_t	*r_drawBuffer;  cvar_t	*r_lightmap; @@ -900,6 +901,8 @@ void R_Register( void )  	r_colorbits = ri.Cvar_Get( "r_colorbits", "0", CVAR_ARCHIVE | CVAR_LATCH );  	r_stencilbits = ri.Cvar_Get( "r_stencilbits", "8", CVAR_ARCHIVE | CVAR_LATCH );  	r_depthbits = ri.Cvar_Get( "r_depthbits", "0", CVAR_ARCHIVE | CVAR_LATCH ); +	r_ext_multisample = ri.Cvar_Get( "r_ext_multisample", "0", CVAR_ARCHIVE | CVAR_LATCH ); +	ri.Cvar_CheckRange( r_ext_multisample, 0, 4, qtrue );  	r_overBrightBits = ri.Cvar_Get ("r_overBrightBits", "1", CVAR_ARCHIVE | CVAR_LATCH );  	r_ignorehwgamma = ri.Cvar_Get( "r_ignorehwgamma", "0", CVAR_ARCHIVE | CVAR_LATCH);  	r_mode = ri.Cvar_Get( "r_mode", "3", CVAR_ARCHIVE | CVAR_LATCH ); diff --git a/code/renderer/tr_local.h b/code/renderer/tr_local.h index 897d54b..3abcfbe 100644 --- a/code/renderer/tr_local.h +++ b/code/renderer/tr_local.h @@ -1008,6 +1008,7 @@ extern cvar_t	*r_stencilbits;			// number of desired stencil bits  extern cvar_t	*r_depthbits;			// number of desired depth bits  extern cvar_t	*r_colorbits;			// number of desired color bits, only relevant for fullscreen  extern cvar_t	*r_texturebits;			// number of desired texture bits +extern cvar_t	*r_ext_multisample;  										// 0 = use framebuffer depth  										// 16 = use 16-bit textures  										// 32 = use 32-bit textures diff --git a/code/sdl/sdl_glimp.c b/code/sdl/sdl_glimp.c index f1df177..0b143d7 100644 --- a/code/sdl/sdl_glimp.c +++ b/code/sdl/sdl_glimp.c @@ -208,6 +208,7 @@ static int GLimp_SetMode( int mode, qboolean fullscreen )  	int sdlcolorbits;  	int colorbits, depthbits, stencilbits;  	int tcolorbits, tdepthbits, tstencilbits; +	int samples;  	int i = 0;  	SDL_Surface *vidscreen = NULL;  	Uint32 flags = SDL_OPENGL; @@ -270,6 +271,7 @@ static int GLimp_SetMode( int mode, qboolean fullscreen )  	else  		depthbits = r_depthbits->value;  	stencilbits = r_stencilbits->value; +	samples = r_ext_multisample->value;  	for (i = 0; i < 16; i++)  	{ @@ -337,6 +339,9 @@ static int GLimp_SetMode( int mode, qboolean fullscreen )  		SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, tdepthbits );  		SDL_GL_SetAttribute( SDL_GL_STENCIL_SIZE, tstencilbits ); +		SDL_GL_SetAttribute( SDL_GL_MULTISAMPLEBUFFERS, samples ? 1 : 0 ); +		SDL_GL_SetAttribute( SDL_GL_MULTISAMPLESAMPLES, samples ); +  		if(r_stereoEnabled->integer)  		{  			glConfig.stereoEnabled = qtrue; @@ -674,6 +679,7 @@ void GLimp_Init( void )  		{  			ri.Printf( PRINT_ALL, "Setting r_mode %d failed, falling back on r_mode %d\n",  					r_mode->integer, R_MODE_FALLBACK ); +			ri.Cvar_Set("r_ext_multisample", "0");  			if( !GLimp_StartDriverAndSetMode( R_MODE_FALLBACK, r_fullscreen->integer ) )  				success = qfalse;  		}  | 
