[PATCH] Update ATI gpu ids. Note the HD3*00 series uses the same GPU architecture (R6xx) as the HD2*00, so they have similar features and performance.

Roderick Colenbrander thunderbird2k at gmx.net
Sun Jun 8 11:35:14 CDT 2008


---
 dlls/wined3d/directx.c    |   34 ++++++++++++++++++++++++++--------
 include/wine/wined3d_gl.h |    1 +
 2 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 7df23d4..e759332 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -1211,23 +1211,41 @@ BOOL IWineD3DImpl_FillGLCaps(WineD3D_GL_Info *gl_info) {
             break;
         case VENDOR_ATI:
             if(WINE_D3D9_CAPABLE(gl_info)) {
-                /* Radeon R6xx HD2900 - highend */
-                if (strstr(gl_info->gl_renderer, "HD 2900")) {
+                /* 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"))
+                {
                     gl_info->gl_card = CARD_ATI_RADEON_HD2900;
-                    vidmem = 512; /* HD2900 uses 512-1024MB */
+                    vidmem = 512; /* HD2900/HD3800 uses 256-1024MB */
                 }
-                /* Radeon R6xx HD2600- midend */
-                else if (strstr(gl_info->gl_renderer, "HD 2600")) {
+                /* Radeon R6xx HD2600/HD3600 - midend; HD3830 is China-only midend */
+                else if (strstr(gl_info->gl_renderer, "HD 2600") ||
+                         strstr(gl_info->gl_renderer, "HD 3830") ||
+                         strstr(gl_info->gl_renderer, "HD 3690") ||
+                         strstr(gl_info->gl_renderer, "HD 3650"))
+                {
                     gl_info->gl_card = CARD_ATI_RADEON_HD2600;
-                    vidmem = 256; /* HD2600 uses 256-512MB */
+                    vidmem = 256; /* HD2600/HD3600 uses 256-512MB */
                 }
-                /* Radeon R6xx HD2300/HD2400 - lowend */
+                /* Radeon R6xx HD2300/HD2400/HD3400 - lowend */
                 else if (strstr(gl_info->gl_renderer, "HD 2300") ||
-                         strstr(gl_info->gl_renderer, "HD 2400"))
+                         strstr(gl_info->gl_renderer, "HD 2400") ||
+                         strstr(gl_info->gl_renderer, "HD 3470") ||
+                         strstr(gl_info->gl_renderer, "HD 3450") ||
+                         strstr(gl_info->gl_renderer, "HD 3430"))
                 {
                     gl_info->gl_card = CARD_ATI_RADEON_HD2300;
                     vidmem = 128; /* HD2300 uses at least 128MB, HD2400 uses 256MB */
                 }
+                /* Radeon R6xx/R7xx integrated */
+                else if (strstr(gl_info->gl_renderer, "HD 3100") ||
+                         strstr(gl_info->gl_renderer, "HD 3200") ||
+                         strstr(gl_info->gl_renderer, "HD 3300"))
+                {
+                    gl_info->gl_card = CARD_ATI_RADEON_HD3200;
+                    vidmem = 128; /* 128MB */
+                }
                 /* Radeon R5xx */
                 else if (strstr(gl_info->gl_renderer, "X1600") ||
                          strstr(gl_info->gl_renderer, "X1650") ||
diff --git a/include/wine/wined3d_gl.h b/include/wine/wined3d_gl.h
index 45531b1..6ff1df9 100644
--- a/include/wine/wined3d_gl.h
+++ b/include/wine/wined3d_gl.h
@@ -3219,6 +3219,7 @@ typedef enum _GL_Cards {
   CARD_ATI_RADEON_HD2300          = 0x7210,
   CARD_ATI_RADEON_HD2600          = 0x9581,
   CARD_ATI_RADEON_HD2900          = 0x9400,
+  CARD_ATI_RADEON_HD3200          = 0x9620,
 
   CARD_NVIDIA_RIVA_128            = 0x0018,
   CARD_NVIDIA_RIVA_TNT            = 0x0020,
-- 
1.5.3.4


--========GMX277401212939660694458--



More information about the wine-patches mailing list