• Sam Lantinga's avatar
    Fixed bug 1161 (Setting GL_ACCELERATED_VISUAL to 1 forces software rendering in Windows XP) · 150d5841
    Sam Lantinga authored
     Jesse Anders      2011-03-05 23:30:09 PST
    
    It seems that in Windows XP, setting SDL_GL_ACCELERATED_VISUAL to 1 actually
    disables hardware acceleration and puts OpenGL in software mode.
    
    In the source code, the corresponding WGL attribute is first set here:
    
    *iAttr++ = WGL_ACCELERATION_ARB;
    *iAttr++ = WGL_FULL_ACCELERATION_ARB;
    
    Later, this code:
    
    if (_this->gl_config.accelerated >= 0) {
        *iAttr++ = WGL_ACCELERATION_ARB;
        *iAttr++ =
            (_this->gl_config.accelerated ? WGL_GENERIC_ACCELERATION_ARB :
             WGL_NO_ACCELERATION_ARB);
    }
    
    Sets it again if SDL_GL_ACCELERATED_VISUAL has a value other than the default.
    
    More importantly, the documentation I found states that
    WGL_GENERIC_ACCELERATION_ARB asks for an MDC driver, which, although I don't
    know much about this topic, doesn't seem like the correct choice here. As
    mentioned previously, the end effect is that requesting hardware acceleration
    in Windows XP actually forces the renderer into software mode (on my system at
    least), which I'm guessing isn't the desired behavior.
    150d5841
Name
Last commit
Last update
..
atomic Loading commit data...
audio Loading commit data...
core Loading commit data...
cpuinfo Loading commit data...
events Loading commit data...
file Loading commit data...
haptic Loading commit data...
joystick Loading commit data...
libm Loading commit data...
loadso Loading commit data...
main Loading commit data...
power Loading commit data...
render Loading commit data...
stdlib Loading commit data...
thread Loading commit data...
timer Loading commit data...
video Loading commit data...
SDL.c Loading commit data...
SDL_assert.c Loading commit data...
SDL_assert_c.h Loading commit data...
SDL_compat.c Loading commit data...
SDL_error.c Loading commit data...
SDL_error_c.h Loading commit data...
SDL_fatal.c Loading commit data...
SDL_fatal.h Loading commit data...
SDL_hints.c Loading commit data...
SDL_log.c Loading commit data...