# HG changeset patch # User Ryan C. Gordon # Date 1320615272 18000 # Branch SDL-1.2 # Node ID d0b7c45e982e86b0248ea9521bbfc9ef3992213c # Parent c6041c61f9a6f1589bfcc529cd6cea72f1c73512 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. diff --git a/src/video/wincommon/SDL_wingl.c b/src/video/wincommon/SDL_wingl.c --- a/src/video/wincommon/SDL_wingl.c +++ b/src/video/wincommon/SDL_wingl.c @@ -226,7 +226,18 @@ *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 @@ *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 ) {