(try3)Fix ATI HD4800 being reported as ATI 9500

Robert Key hpestilence at gmail.com
Fri May 15 06:49:09 CDT 2009


Same patch but with the 2048MB X2 comment removed, thanks 
Roderick.
-------------- next part --------------
From bbce7f6aef0857e891fcfb06e7885f99ee253d0d Mon Sep 17 00:00:00 2001
From: Robert Key <hpestilence at gmail.com>
Date: Thu, 14 May 2009 19:14:02 -0400
Subject: Fix ATI HD4800 being reported as ATI 9500

---
 dlls/wined3d/directx.c    |   17 ++++++++++++++---
 dlls/wined3d/wined3d_gl.h |    1 +
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 8e3c807..6eb635c 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -1271,10 +1271,20 @@ static BOOL IWineD3DImpl_FillGLCaps(WineD3D_GL_Info *gl_info) {
             break;
         case VENDOR_ATI:
             if(WINE_D3D9_CAPABLE(gl_info)) {
+                /* Radeon R7xx HD4800 - highend */
+                if (strstr(gl_info->gl_renderer, "HD 4800") ||
+                    strstr(gl_info->gl_renderer, "HD 4830") ||
+                    strstr(gl_info->gl_renderer, "HD 4850") ||
+                    strstr(gl_info->gl_renderer, "HD 4870") ||
+                    strstr(gl_info->gl_renderer, "HD 4890"))
+                {
+                    gl_info->gl_card = CARD_ATI_RADEON_HD4800;
+                    vidmem = 512; /* HD4800 cards use 512-1024MB */
+                }
                 /* Radeon R6xx HD2900/HD3800 - highend */
-                if (strstr(gl_info->gl_renderer, "HD 2900") ||
-                    strstr(gl_info->gl_renderer, "HD 3870") ||
-                    strstr(gl_info->gl_renderer, "HD 3850"))
+                else if (strstr(gl_info->gl_renderer, "HD 2900") ||
+                         strstr(gl_info->gl_renderer, "HD 3870") ||
+                         strstr(gl_info->gl_renderer, "HD 3850"))
                 {
                     gl_info->gl_card = CARD_ATI_RADEON_HD2900;
                     vidmem = 512; /* HD2900/HD3800 uses 256-1024MB */
@@ -4007,6 +4017,7 @@ static const struct driver_version_information driver_version_table[] = {
     {VENDOR_ATI,        CARD_ATI_RADEON_HD2300,         "ATI Mobility Radeon HD 2300",      6,  14, 10, 6764    },
     {VENDOR_ATI,        CARD_ATI_RADEON_HD2600,         "ATI Mobility Radeon HD 2600",      6,  14, 10, 6764    },
     {VENDOR_ATI,        CARD_ATI_RADEON_HD2900,         "ATI Radeon HD 2900 XT",            6,  14, 10, 6764    },
+    {VENDOR_ATI,        CARD_ATI_RADEON_HD4800,         "ATI Radeon HD 4800 Series",        6,  14, 10, 6764    },
 
     /* TODO: Add information about legacy ATI hardware, Intel and other cards */
 };
diff --git a/dlls/wined3d/wined3d_gl.h b/dlls/wined3d/wined3d_gl.h
index 1a9c925..615d914 100644
--- a/dlls/wined3d/wined3d_gl.h
+++ b/dlls/wined3d/wined3d_gl.h
@@ -3302,6 +3302,7 @@ typedef enum _GL_Cards {
   CARD_ATI_RADEON_HD2600          = 0x9581,
   CARD_ATI_RADEON_HD2900          = 0x9400,
   CARD_ATI_RADEON_HD3200          = 0x9620,
+  CARD_ATI_RADEON_HD4800          = 0x944c,
 
   CARD_NVIDIA_RIVA_128            = 0x0018,
   CARD_NVIDIA_RIVA_TNT            = 0x0020,
-- 
1.6.3



More information about the wine-patches mailing list