WineD3D: Implement detection of ATI cards with Mesa DRI drivers [try 4]
Roman Mamedov
roman at rm.pp.ru
Fri Nov 23 15:31:24 CST 2007
Roderick Colenbrander wrote:
> I think the code should be like this (in pseudo code) this way also other cards will at least be classified:
>
> case VENDOR_MESA:
> if(D3D9_CAPABLE(gl_info)
> if(strstr(gl_info->gl_renderer, "R300"))
> card = radeon_9500;
> else
> card = generic_nv_card;
> if(D3D8_CAPABLE(...)
> if(strstr(gl_info->gl_renderer, "R200"))
> card = ...
>
You are right, but please notice that with my latest patch, the same
behavior is already achieved, by not "break"-ing at the end of
VENDOR_MESA case if we didn't match one of ATI module names. This is the
code that proceeds to be executed then:
...
break;
}
/* Card is probably one of the non-ATI cards which are also
supported by Mesa.
* Continue to the fallback behavior of VENDOR_WINE.
*/
case VENDOR_WINE:
default:
/* Default to generic Nvidia hardware based on the supported
OpenGL extensions. The choice
* for Nvidia was because the hardware and drivers they make
are of good quality. This makes
* them a good generic choice.
*/
gl_info->gl_vendor = VENDOR_NVIDIA;
if(WINE_D3D9_CAPABLE(gl_info))
gl_info->gl_card = CARD_NVIDIA_GEFORCEFX_5600;
else if(WINE_D3D8_CAPABLE(gl_info))
gl_info->gl_card = CARD_NVIDIA_GEFORCE3;
else if(WINE_D3D7_CAPABLE(gl_info))
gl_info->gl_card = CARD_NVIDIA_GEFORCE;
else if(WINE_D3D6_CAPABLE(gl_info))
gl_info->gl_card = CARD_NVIDIA_RIVA_TNT;
else
gl_info->gl_card = CARD_NVIDIA_RIVA_128;
...
More information about the wine-devel
mailing list