From d46111b5d074f3aa12422262665122d1bdf0f99f Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Sun, 6 Nov 2011 16:34:32 -0500 Subject: [PATCH] Always do either FULL or NO acceleration for Windows OpenGL. Don't ever leave it to the OS to decide, because older ATI drivers apparently break in this case, and generally apps want FULL by default anyhow. --HG-- branch : SDL-1.2 --- src/video/wincommon/SDL_wingl.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/video/wincommon/SDL_wingl.c b/src/video/wincommon/SDL_wingl.c index 14a4ee031..fcf310448 100644 --- a/src/video/wincommon/SDL_wingl.c +++ b/src/video/wincommon/SDL_wingl.c @@ -226,7 +226,18 @@ int WIN_GL_SetupWindow(_THIS) *iAttr++ = this->gl_config.green_size; *iAttr++ = WGL_BLUE_BITS_ARB; *iAttr++ = this->gl_config.blue_size; - + + /* We always choose either FULL or NO accel on Windows, because of flaky + drivers. If the app didn't specify, we use FULL, because that's + probably what they wanted (and if you didn't care and got FULL, that's + a perfectly valid result in any case. */ + *iAttr++ = WGL_ACCELERATION_ARB; + if (this->gl_config.accelerated) { + *iAttr++ = WGL_FULL_ACCELERATION_ARB; + } else { + *iAttr++ = WGL_NO_ACCELERATION_ARB; + } + if ( this->gl_config.alpha_size ) { *iAttr++ = WGL_ALPHA_BITS_ARB; *iAttr++ = this->gl_config.alpha_size; @@ -278,11 +289,6 @@ int WIN_GL_SetupWindow(_THIS) *iAttr++ = this->gl_config.multisamplesamples; } - if ( this->gl_config.accelerated >= 0 ) { - *iAttr++ = WGL_ACCELERATION_ARB; - *iAttr++ = (this->gl_config.accelerated ? WGL_FULL_ACCELERATION_ARB : WGL_NO_ACCELERATION_ARB); - } - *iAttr = 0; for ( i=0; ; ++i ) {