Roderick Colenbrander : wined3d: Separate AMD Radeon HD2300 from other HD2xxx/ HD3xxx GPUs since it is D3D9 instead of D3D10.

Alexandre Julliard julliard at winehq.org
Fri Apr 16 10:56:02 CDT 2010


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

Author: Roderick Colenbrander <thunderbird2k at gmail.com>
Date:   Fri Apr 16 08:49:40 2010 +0200

wined3d: Separate AMD Radeon HD2300 from other HD2xxx/HD3xxx GPUs since it is D3D9 instead of D3D10.

---

 dlls/wined3d/directx.c         |   30 ++++++++++++++++++------------
 dlls/wined3d/wined3d_private.h |    2 +-
 2 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 6498859..7e22dbc 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -1021,7 +1021,7 @@ static const struct driver_version_information driver_version_table[] =
     {HW_VENDOR_ATI,        CARD_ATI_RADEON_9500,           "ATI Radeon 9500",                  14, 10, 6764    },
     {HW_VENDOR_ATI,        CARD_ATI_RADEON_X700,           "ATI Radeon X700 SE",               14, 10, 6764    },
     {HW_VENDOR_ATI,        CARD_ATI_RADEON_X1600,          "ATI Radeon X1600 Series",          14, 10, 6764    },
-    {HW_VENDOR_ATI,        CARD_ATI_RADEON_HD2300,         "ATI Mobility Radeon HD 2300",      14, 10, 6764    },
+    {HW_VENDOR_ATI,        CARD_ATI_RADEON_HD2350,         "ATI Mobility Radeon HD 2350",      14, 10, 6764    },
     {HW_VENDOR_ATI,        CARD_ATI_RADEON_HD2600,         "ATI Mobility Radeon HD 2600",      14, 10, 6764    },
     {HW_VENDOR_ATI,        CARD_ATI_RADEON_HD2900,         "ATI Radeon HD 2900 XT",            14, 10, 6764    },
     {HW_VENDOR_ATI,        CARD_ATI_RADEON_HD4350,         "ATI Radeon HD 4350",               14, 10, 6764    },
@@ -1581,16 +1581,17 @@ static enum wined3d_pci_device select_card_ati_binary(const struct wined3d_gl_in
             return CARD_ATI_RADEON_HD2600;
         }
 
-        /* Radeon R6xx HD2300/HD2400/HD3400 - lowend */
-        if (strstr(gl_renderer, "HD 2300")
+        /* Radeon R6xx HD2350/HD2400/HD3400 - lowend
+         * Note HD2300=DX9, HD2350=DX10 */
+        if (strstr(gl_renderer, "HD 2350")
                 || strstr(gl_renderer, "HD 2400")
                 || strstr(gl_renderer, "HD 3470")
                 || strstr(gl_renderer, "HD 3450")
                 || strstr(gl_renderer, "HD 3430")
                 || strstr(gl_renderer, "HD 3400"))
         {
-            *vidmem = 128; /* HD2300 uses at least 128MB, HD2400 uses 256MB */
-            return CARD_ATI_RADEON_HD2300;
+            *vidmem = 256; /* HD2350/2400 use 256MB, HD34xx use 256-512MB */
+            return CARD_ATI_RADEON_HD2350;
         }
 
         /* Radeon R6xx/R7xx integrated */
@@ -1613,14 +1614,19 @@ static enum wined3d_pci_device select_card_ati_binary(const struct wined3d_gl_in
             return CARD_ATI_RADEON_X1600;
         }
 
-        /* Radeon R4xx + X1300/X1400/X1450/X1550/X2300 (lowend R5xx) */
+        /* Radeon R4xx + X1300/X1400/X1450/X1550/X2300/X2500/HD2300 (lowend R5xx)
+         * Note X2300/X2500/HD2300 are R5xx GPUs with a 2xxx naming but they are still DX9-only */
         if (strstr(gl_renderer, "X700")
                 || strstr(gl_renderer, "X800")
                 || strstr(gl_renderer, "X850")
                 || strstr(gl_renderer, "X1300")
                 || strstr(gl_renderer, "X1400")
                 || strstr(gl_renderer, "X1450")
-                || strstr(gl_renderer, "X1550"))
+                || strstr(gl_renderer, "X1550")
+                || strstr(gl_renderer, "X2300")
+                || strstr(gl_renderer, "X2500")
+                || strstr(gl_renderer, "HD 2300")
+                )
         {
             *vidmem = 128; /* x700/x8*0 use 128-256MB, >=x1300 128-512MB */
             return CARD_ATI_RADEON_X700;
@@ -1737,12 +1743,12 @@ static enum wined3d_pci_device select_card_ati_mesa(const struct wined3d_gl_info
             return CARD_ATI_RADEON_HD2600;
         }
 
-        /* Radeon R6xx HD2300/HD2400/HD3400 - lowend */
+        /* Radeon R6xx HD2350/HD2400/HD3400 - lowend */
         if (strstr(gl_renderer, "RV610")
                 || strstr(gl_renderer, "RV620"))
         {
-            *vidmem = 128; /* HD2300 uses at least 128MB, HD2400 uses 256MB */
-            return CARD_ATI_RADEON_HD2300;
+            *vidmem = 256; /* HD2350/2400 use 256MB, HD34xx use 256-512MB */
+            return CARD_ATI_RADEON_HD2350;
         }
 
         /* Radeon R6xx/R7xx integrated */
@@ -1860,8 +1866,8 @@ static enum wined3d_pci_device select_card_ati_mesa(const struct wined3d_gl_info
         if (strstr(gl_renderer, "(RV610")
                 || strstr(gl_renderer, "(RV620"))
         {
-            *vidmem = 128; /* HD2300 uses at least 128MB, HD2400 uses 256MB */
-            return CARD_ATI_RADEON_HD2300;
+            *vidmem = 256; /* HD2350/2400 use 256MB, HD34xx use 256-512MB */
+            return CARD_ATI_RADEON_HD2350;
         }
 
         /* Radeon R6xx/R7xx integrated */
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 31ed565..460c2b3 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -1301,7 +1301,7 @@ enum wined3d_pci_device
     CARD_ATI_RADEON_XPRESS_200M     = 0x5955,
     CARD_ATI_RADEON_X700            = 0x5e4c,
     CARD_ATI_RADEON_X1600           = 0x71c2,
-    CARD_ATI_RADEON_HD2300          = 0x7210,
+    CARD_ATI_RADEON_HD2350          = 0x94c7,
     CARD_ATI_RADEON_HD2600          = 0x9581,
     CARD_ATI_RADEON_HD2900          = 0x9400,
     CARD_ATI_RADEON_HD3200          = 0x9620,




More information about the wine-cvs mailing list