Bug 3526 - Recent ATI drivers not cooperating with SDL_GL_ACCELERATED_VISUAL
Status: NEW
Alias: None
Product: ioquake3
Classification: Unclassified
Component: Video
Version: GIT MASTER
Hardware: PC Windows XP
: P3 major
Assignee: Tim Angus
QA Contact: ioquake3 bugzilla mailing list
URL:
Depends on:
Blocks:
 
Reported: 2008-01-31 12:43 EST by Tim Angus
Modified: 2011-08-24 23:34:49 EDT
3 users (show)

See Also:



Description Tim Angus 2008-01-31 12:43:09 EST
The renderer setting r_allowSoftwareGL is implemented using the SDL attribute SDL_GL_ACCELERATED_VISUAL. With more recent ATI drivers, this setting does exactly the opposite of what it's supposed to. The relevant SDL source looks sane enough to me, so it seems reasonable to point the finger at the ATI drivers. I don't have an ATI card myself though, so I can't really offer more information.

The feature in question isn't that important though, so I'm disabling it for now.
Comment 1 Thilo Schulz 2009-10-03 19:40:19 EDT
is this still needed with recent ATI drivers?
Comment 2 Tim Angus 2009-10-03 19:48:55 EDT
I don't have an ATI card so I can't check.
Comment 3 gimhael 2011-01-16 13:30:21 EST
Well, the SDL code is a bit strange: is specifies the WGL_ACCELERATION_ARB attribute twice !

First it is set to WGL_FULL_ACCELERATION_ARB, and later when the SDL attribute is set, it is specifies again as either WGL_GENERIC_ACCELERATION_ARB or WGL_NO_ACCELERATION_ARB.

ATI/AMD seems to pick the second value if an attribute is specified twice (the spec is unclear how the driver should handle this case) and so the SDL attribute can choose only between the two slow OpenGL modes...

So you have to skip the SDL_GL_SetAttribute to get the (fast) ICD drivers.
Comment 4 Ryan C. Gordon 2011-08-21 12:08:47 EDT
I think this is an SDL bug:

    http://bugzilla.libsdl.org/show_bug.cgi?id=1254
    http://bugzilla.libsdl.org/show_bug.cgi?id=1197

I'll be applying patches for this in SDL 1.2 and 1.3 soon (and, some argue it's technically a Catalyst driver bug too, which means it might be fixed there, too).

--ryan.
Comment 5 Thilo Schulz 2011-08-21 16:16:43 EDT
Thank you. I wouldn't depend on the catalyst driver fixing anything, though. The bug was still present in a fairly recent driver that I tested.

Also, quake3 engines seem to have an abysmal performance with the catalyst driver, at least on windows. Strangely, users have reported renaming the exe file to "quake3.exe" fixed these issues for them.
Comment 6 Tim Angus 2011-08-21 17:08:06 EDT
(In reply to comment #5)
> Also, quake3 engines seem to have an abysmal performance with the catalyst
> driver, at least on windows. Strangely, users have reported renaming the exe
> file to "quake3.exe" fixed these issues for them.

You probably already know this, but it's relatively well known that various video drivers detect Q3 and enable a specific optimal code path that performs well with the way Q3 uses the OpenGL API.
Comment 7 Ryan C. Gordon 2011-08-24 23:34:49 EDT
The SDL fixes are in revision control for 1.3 and 1.2 now.

--ryan.