Module: wine Branch: master Commit: cce62569df952e0656975beb38132cfb76d88535 URL: http://source.winehq.org/git/wine.git/?a=commit;h=cce62569df952e0656975beb38...
Author: Robert Key hpestilence@gmail.com Date: Thu May 14 19:14:02 2009 -0400
wined3d: 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 52e9be3..825d8f5 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -1272,10 +1272,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, up to 2048MB for X2 version */ + } /* 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 */ @@ -4008,6 +4018,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,