Module: wine Branch: master Commit: 112e2e219f88cf81280359ae74ae809a3d288574 URL: http://source.winehq.org/git/wine.git/?a=commit;h=112e2e219f88cf81280359ae74...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Sun Mar 11 22:03:10 2012 +0100
wined3d: Also recognise the "classic" Mesa Nouveau driver for GeForce 4 and earlier cards.
---
dlls/wined3d/directx.c | 137 +++++++++++++++++++++++------------------------ 1 files changed, 67 insertions(+), 70 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 95581ab..56c4066 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -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));