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
