WineD3D: Implement detection of ATI cards with Mesa DRI drivers [try 4]

Roman Mamedov roman at
Fri Nov 23 16:30:28 CST 2007

Roderick Colenbrander wrote:
> The main reason why the D3DX_CAPABLE macros should be used before checking the renderer string is that not in all cases all extensions are around while the rendering string can still be the same.

I think it's is quite difficult to say for sure what will be better in 
most or all cases.

The approach proposed by me, is that if the code can be reasonably sure 
that the card is some model from ATI, it should never report the card as 
being nVIDIA.

That is why the patch first looks at the renderer strings (which for 
Mesa can provide a reliable indication if it's an ATI card at all, or 
not), and only then slides inside the model range for exact model, 
according to the extensions/capabilities available. And in case if some 
of them are not available for some reason, it will return a step-lower 
generation of an ATI card, and not nVIDIA one.

I.e. reporting Radeon 9500 as being Radeon 8500 should be OK, but 
reporting it as GeForce 3 might be not, since a program might then use 
some nVIDIA-specific code, or just bail out completely (see issue #7267).

More information about the wine-devel mailing list