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

Alexandre Julliard julliard at winehq.org
Mon Mar 12 11:59:55 CDT 2012


Module: wine
Branch: master
Commit: 112e2e219f88cf81280359ae74ae809a3d288574
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=112e2e219f88cf81280359ae74ae809a3d288574

Author: Henri Verbeet <hverbeet at 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));




More information about the wine-cvs mailing list