This patches moved the Nvidia 8400 and 8500 reporting to it's own if
statement and own return value. This will enable CUDA programs that check
the renderer and compare it to a list of cuda capable devices to run on
these cards. The 8300, which they currently are reported as, is not a CUDA
capable device and thus is the reason for programs such as fold...@home to
fail in wine when using these cards.


Thanks,

Seth Shelnutt
From 74a2f691b6ff377ac412ec2689edbb3975d491c5 Mon Sep 17 00:00:00 2001
From: Seth Shelnutt <[email protected]>
Date: Mon, 12 Jul 2010 22:56:37 +0000
Subject: The Nvidia Geforce 8400 and 8500 are now reported as a 8400GS instead
 of an 8300GS. This is needed for CUDA applications to support these two
 cards. A 8300GS is not cuda capable.

---
 dlls/wined3d/directx.c |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 268fee1..b65de1b 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -1009,6 +1009,7 @@ static const struct driver_version_information 
driver_version_table[] =
     {HW_VENDOR_NVIDIA,     CARD_NVIDIA_GEFORCE_7600,       "NVIDIA GeForce 
7600 GT",           15, 11, 9745   },
     {HW_VENDOR_NVIDIA,     CARD_NVIDIA_GEFORCE_7800GT,     "NVIDIA GeForce 
7800 GT",           15, 11, 9745   },
     {HW_VENDOR_NVIDIA,     CARD_NVIDIA_GEFORCE_8300GS,     "NVIDIA GeForce 
8300 GS",           15, 11, 9745   },
+    {HW_VENDOR_NVIDIA,     CARD_NVIDIA_GEFORCE_8400GS,     "NVIDIA GeForce 
8400 GS",           15, 11, 9745   },
     {HW_VENDOR_NVIDIA,     CARD_NVIDIA_GEFORCE_8600GT,     "NVIDIA GeForce 
8600 GT",           15, 11, 9745   },
     {HW_VENDOR_NVIDIA,     CARD_NVIDIA_GEFORCE_8600MGT,    "NVIDIA GeForce 
8600M GT",          15, 11, 9745   },
     {HW_VENDOR_NVIDIA,     CARD_NVIDIA_GEFORCE_8800GTS,    "NVIDIA GeForce 
8800 GTS",          15, 11, 9745   },
@@ -1405,14 +1406,20 @@ static enum wined3d_pci_device 
select_card_nvidia_binary(const struct wined3d_gl
             return CARD_NVIDIA_GEFORCE_8600GT;
         }
 
+       /* Geforce8 - mid-lowend */
+       if (strstr(gl_renderer, "8400")
+               || strstr(gl_renderer, "8500"))
+       {
+           *vidmem = 128; /* 128-256MB for a 8400, 256-512MB for a 8500 */
+            return CARD_NVIDIA_GEFORCE_8400GS;
+       }
+
         /* Geforce8 - lowend */
         if (strstr(gl_renderer, "8100")
                 || strstr(gl_renderer, "8200")
-                || strstr(gl_renderer, "8300")
-                || strstr(gl_renderer, "8400")
-                || strstr(gl_renderer, "8500"))
+                || strstr(gl_renderer, "8300"))
         {
-            *vidmem = 128; /* 128-256MB for a 8300, 256-512MB for a 8400 */
+            *vidmem = 128; /* 128-256MB for a 8300 */
             return CARD_NVIDIA_GEFORCE_8300GS;
         }
 
-- 
1.7.0.3



Reply via email to