Commit 112e2e21 authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard

wined3d: Also recognise the "classic" Mesa Nouveau driver for GeForce 4 and earlier cards.

parent ab4474c1
......@@ -1452,6 +1452,7 @@ static enum wined3d_gl_vendor wined3d_guess_gl_vendor(const struct wined3d_gl_in
static enum wined3d_pci_vendor wined3d_guess_card_vendor(const char *gl_vendor_string, const char *gl_renderer)
{
if (strstr(gl_vendor_string, "NVIDIA")
|| strstr(gl_vendor_string, "Nouveau")
|| strstr(gl_vendor_string, "nouveau"))
return HW_VENDOR_NVIDIA;
......@@ -2044,79 +2045,75 @@ static enum wined3d_pci_device select_card_nvidia_mesa(const struct wined3d_gl_i
const char *gl_renderer)
{
UINT d3d_level;
unsigned int i;
if (strstr(gl_renderer, "Gallium"))
static const struct
{
unsigned int i;
static const struct
{
const char *renderer;
enum wined3d_pci_device id;
}
cards[] =
{
{"NVC8", CARD_NVIDIA_GEFORCE_GTX570},
{"NVC4", CARD_NVIDIA_GEFORCE_GTX460},
{"NVC3", CARD_NVIDIA_GEFORCE_GT440},
{"NVC0", CARD_NVIDIA_GEFORCE_GTX480},
{"NVAF", CARD_NVIDIA_GEFORCE_GT320M},
{"NVAC", CARD_NVIDIA_GEFORCE_8200},
{"NVAA", CARD_NVIDIA_GEFORCE_8200},
{"NVA8", CARD_NVIDIA_GEFORCE_210},
{"NVA5", CARD_NVIDIA_GEFORCE_GT220},
{"NVA3", CARD_NVIDIA_GEFORCE_GT240},
{"NVA0", CARD_NVIDIA_GEFORCE_GTX280},
{"NV98", CARD_NVIDIA_GEFORCE_9200},
{"NV96", CARD_NVIDIA_GEFORCE_9400GT},
{"NV94", CARD_NVIDIA_GEFORCE_9600GT},
{"NV92", CARD_NVIDIA_GEFORCE_9800GT},
{"NV86", CARD_NVIDIA_GEFORCE_8500GT},
{"NV84", CARD_NVIDIA_GEFORCE_8600GT},
{"NV68", CARD_NVIDIA_GEFORCE_6200}, /* 7050 */
{"NV67", CARD_NVIDIA_GEFORCE_6200}, /* 7000M */
{"NV63", CARD_NVIDIA_GEFORCE_6200}, /* 7100 */
{"NV50", CARD_NVIDIA_GEFORCE_8800GTX},
{"NV4E", CARD_NVIDIA_GEFORCE_6200}, /* 6100 Go / 6150 Go */
{"NV4C", CARD_NVIDIA_GEFORCE_6200}, /* 6150SE */
{"NV4B", CARD_NVIDIA_GEFORCE_7600},
{"NV4A", CARD_NVIDIA_GEFORCE_6200},
{"NV49", CARD_NVIDIA_GEFORCE_7800GT}, /* 7900 */
{"NV47", CARD_NVIDIA_GEFORCE_7800GT},
{"NV46", CARD_NVIDIA_GEFORCE_7400},
{"NV45", CARD_NVIDIA_GEFORCE_6800},
{"NV44", CARD_NVIDIA_GEFORCE_6200},
{"NV43", CARD_NVIDIA_GEFORCE_6600GT},
{"NV42", CARD_NVIDIA_GEFORCE_6800},
{"NV41", CARD_NVIDIA_GEFORCE_6800},
{"NV40", CARD_NVIDIA_GEFORCE_6800},
{"NV38", CARD_NVIDIA_GEFORCEFX_5800}, /* FX 5950 Ultra */
{"NV36", CARD_NVIDIA_GEFORCEFX_5800}, /* FX 5700/5750 */
{"NV35", CARD_NVIDIA_GEFORCEFX_5800}, /* FX 5900 */
{"NV34", CARD_NVIDIA_GEFORCEFX_5200},
{"NV31", CARD_NVIDIA_GEFORCEFX_5600},
{"NV30", CARD_NVIDIA_GEFORCEFX_5800},
{"NV28", CARD_NVIDIA_GEFORCE4_TI4200},
{"NV25", CARD_NVIDIA_GEFORCE4_TI4200},
{"NV20", CARD_NVIDIA_GEFORCE3},
{"NV1F", CARD_NVIDIA_GEFORCE4_MX}, /* GF4 MX IGP */
{"NV1A", CARD_NVIDIA_GEFORCE2}, /* GF2 IGP */
{"NV18", CARD_NVIDIA_GEFORCE4_MX},
{"NV17", CARD_NVIDIA_GEFORCE4_MX},
{"NV16", CARD_NVIDIA_GEFORCE2},
{"NV15", CARD_NVIDIA_GEFORCE2},
{"NV11", CARD_NVIDIA_GEFORCE2_MX},
{"NV10", CARD_NVIDIA_GEFORCE},
{"NV05", CARD_NVIDIA_RIVA_TNT2},
{"NV04", CARD_NVIDIA_RIVA_TNT},
{"NV03", CARD_NVIDIA_RIVA_128},
};
const char *renderer;
enum wined3d_pci_device id;
}
cards[] =
{
{"NVC8", CARD_NVIDIA_GEFORCE_GTX570},
{"NVC4", CARD_NVIDIA_GEFORCE_GTX460},
{"NVC3", CARD_NVIDIA_GEFORCE_GT440},
{"NVC0", CARD_NVIDIA_GEFORCE_GTX480},
{"NVAF", CARD_NVIDIA_GEFORCE_GT320M},
{"NVAC", CARD_NVIDIA_GEFORCE_8200},
{"NVAA", CARD_NVIDIA_GEFORCE_8200},
{"NVA8", CARD_NVIDIA_GEFORCE_210},
{"NVA5", CARD_NVIDIA_GEFORCE_GT220},
{"NVA3", CARD_NVIDIA_GEFORCE_GT240},
{"NVA0", CARD_NVIDIA_GEFORCE_GTX280},
{"NV98", CARD_NVIDIA_GEFORCE_9200},
{"NV96", CARD_NVIDIA_GEFORCE_9400GT},
{"NV94", CARD_NVIDIA_GEFORCE_9600GT},
{"NV92", CARD_NVIDIA_GEFORCE_9800GT},
{"NV86", CARD_NVIDIA_GEFORCE_8500GT},
{"NV84", CARD_NVIDIA_GEFORCE_8600GT},
{"NV68", CARD_NVIDIA_GEFORCE_6200}, /* 7050 */
{"NV67", CARD_NVIDIA_GEFORCE_6200}, /* 7000M */
{"NV63", CARD_NVIDIA_GEFORCE_6200}, /* 7100 */
{"NV50", CARD_NVIDIA_GEFORCE_8800GTX},
{"NV4E", CARD_NVIDIA_GEFORCE_6200}, /* 6100 Go / 6150 Go */
{"NV4C", CARD_NVIDIA_GEFORCE_6200}, /* 6150SE */
{"NV4B", CARD_NVIDIA_GEFORCE_7600},
{"NV4A", CARD_NVIDIA_GEFORCE_6200},
{"NV49", CARD_NVIDIA_GEFORCE_7800GT}, /* 7900 */
{"NV47", CARD_NVIDIA_GEFORCE_7800GT},
{"NV46", CARD_NVIDIA_GEFORCE_7400},
{"NV45", CARD_NVIDIA_GEFORCE_6800},
{"NV44", CARD_NVIDIA_GEFORCE_6200},
{"NV43", CARD_NVIDIA_GEFORCE_6600GT},
{"NV42", CARD_NVIDIA_GEFORCE_6800},
{"NV41", CARD_NVIDIA_GEFORCE_6800},
{"NV40", CARD_NVIDIA_GEFORCE_6800},
{"NV38", CARD_NVIDIA_GEFORCEFX_5800}, /* FX 5950 Ultra */
{"NV36", CARD_NVIDIA_GEFORCEFX_5800}, /* FX 5700/5750 */
{"NV35", CARD_NVIDIA_GEFORCEFX_5800}, /* FX 5900 */
{"NV34", CARD_NVIDIA_GEFORCEFX_5200},
{"NV31", CARD_NVIDIA_GEFORCEFX_5600},
{"NV30", CARD_NVIDIA_GEFORCEFX_5800},
{"nv28", CARD_NVIDIA_GEFORCE4_TI4200},
{"nv25", CARD_NVIDIA_GEFORCE4_TI4200},
{"nv20", CARD_NVIDIA_GEFORCE3},
{"nv1F", CARD_NVIDIA_GEFORCE4_MX}, /* GF4 MX IGP */
{"nv1A", CARD_NVIDIA_GEFORCE2}, /* GF2 IGP */
{"nv18", CARD_NVIDIA_GEFORCE4_MX},
{"nv17", CARD_NVIDIA_GEFORCE4_MX},
{"nv16", CARD_NVIDIA_GEFORCE2},
{"nv15", CARD_NVIDIA_GEFORCE2},
{"nv11", CARD_NVIDIA_GEFORCE2_MX},
{"nv10", CARD_NVIDIA_GEFORCE},
{"nv05", CARD_NVIDIA_RIVA_TNT2},
{"nv04", CARD_NVIDIA_RIVA_TNT},
{"nv03", CARD_NVIDIA_RIVA_128},
};
for (i = 0; i < sizeof(cards) / sizeof(*cards); ++i)
{
if (strstr(gl_renderer, cards[i].renderer))
return cards[i].id;
}
for (i = 0; i < sizeof(cards) / sizeof(*cards); ++i)
{
if (strstr(gl_renderer, cards[i].renderer))
return cards[i].id;
}
FIXME_(d3d_caps)("Unknown renderer %s.\n", debugstr_a(gl_renderer));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment