ChangeSet ID: 21561 CVSROOT: /opt/cvs-commit Module name: wine Changes by: julliard@winehq.org 2005/11/30 06:00:49
Modified files: dlls/wined3d : directx.c include/wine : wined3d_gl.h
Log message: Raphael Junqueira fenix@club-internet.fr Add support for Intel drivers version string. Update default driver version (nvidia).
Patch: http://cvs.winehq.org/patch.py?id=21561
Old revision New revision Changes Path 1.62 1.63 +24 -4 wine/dlls/wined3d/directx.c 1.12 1.13 +18 -7 wine/include/wine/wined3d_gl.h
Index: wine/dlls/wined3d/directx.c diff -u -p wine/dlls/wined3d/directx.c:1.62 wine/dlls/wined3d/directx.c:1.63 --- wine/dlls/wined3d/directx.c:1.62 30 Nov 2005 12: 0:49 -0000 +++ wine/dlls/wined3d/directx.c 30 Nov 2005 12: 0:49 -0000 @@ -225,9 +225,11 @@ static BOOL IWineD3DImpl_FillGLCaps(Wine gotContext = TRUE; }
- TRACE_(d3d_caps)("(%p, %p)\n", gl_info, display);
+ gl_string = (const char *) glGetString(GL_RENDERER); + strcpy(gl_info->gl_renderer, gl_string); + /* Fill in the GL info retrievable depending on the display */ if (NULL != display) { test = glXQueryVersion(display, &major, &minor); @@ -244,6 +246,9 @@ static BOOL IWineD3DImpl_FillGLCaps(Wine gl_info->gl_vendor = VENDOR_NVIDIA; } else if (strstr(gl_string, "ATI")) { gl_info->gl_vendor = VENDOR_ATI; + } else if (strstr(gl_string, "Intel(R)") || + strstr(gl_info->gl_renderer, "Intel(R)")) { + gl_info->gl_vendor = VENDOR_INTEL; } else if (strstr(gl_string, "Mesa")) { gl_info->gl_vendor = VENDOR_MESA; } else { @@ -319,6 +324,7 @@ static BOOL IWineD3DImpl_FillGLCaps(Wine } break;
+ case VENDOR_INTEL: case VENDOR_MESA: gl_string_cursor = strstr(gl_string, "Mesa"); gl_string_cursor = strstr(gl_string_cursor, " "); @@ -355,8 +361,6 @@ static BOOL IWineD3DImpl_FillGLCaps(Wine TRACE_(d3d_caps)("found GL_VERSION (%s)->(0x%08lx)\n", debugstr_a(gl_string), gl_info->gl_driver_version);
/* Fill in the renderer information */ - gl_string = (const char *) glGetString(GL_RENDERER); - strcpy(gl_info->gl_renderer, gl_string);
switch (gl_info->gl_vendor) { case VENDOR_NVIDIA: @@ -379,6 +383,22 @@ static BOOL IWineD3DImpl_FillGLCaps(Wine } break;
+ case VENDOR_INTEL: + if (strstr(gl_info->gl_renderer, "915GM")) { + gl_info->gl_card = CARD_INTEL_I915GM; + } else if (strstr(gl_info->gl_renderer, "915G")) { + gl_info->gl_card = CARD_INTEL_I915G; + } else if (strstr(gl_info->gl_renderer, "865G")) { + gl_info->gl_card = CARD_INTEL_I865G; + } else if (strstr(gl_info->gl_renderer, "855G")) { + gl_info->gl_card = CARD_INTEL_I855G; + } else if (strstr(gl_info->gl_renderer, "830G")) { + gl_info->gl_card = CARD_INTEL_I830G; + } else { + gl_info->gl_card = CARD_INTEL_I915G; + } + break; + default: gl_info->gl_card = CARD_WINE; break; @@ -995,7 +1015,7 @@ HRESULT WINAPI IWineD3DImpl_GetAdapterId strcpy(pIdentifier->Description, "Direct3D HAL"); if (NULL != pIdentifier->DeviceName) strcpy(pIdentifier->DeviceName, "\\.\DISPLAY"); /* FIXME: May depend on desktop? */ pIdentifier->DriverVersion->u.HighPart = 0xa; - pIdentifier->DriverVersion->u.LowPart = MAKEDWORD_VERSION(53, 96); /* last Linux Nvidia drivers */ + pIdentifier->DriverVersion->u.LowPart = MAKEDWORD_VERSION(76, 76); /* last Linux Nvidia drivers */ *(pIdentifier->VendorId) = VENDOR_NVIDIA; *(pIdentifier->DeviceId) = CARD_NVIDIA_GEFORCE4_TI4600; *(pIdentifier->SubSysId) = 0; Index: wine/include/wine/wined3d_gl.h diff -u -p wine/include/wine/wined3d_gl.h:1.12 wine/include/wine/wined3d_gl.h:1.13 --- wine/include/wine/wined3d_gl.h:1.12 30 Nov 2005 12: 0:49 -0000 +++ wine/include/wine/wined3d_gl.h 30 Nov 2005 12: 0:49 -0000 @@ -846,16 +846,27 @@ typedef enum _GL_Vendors { VENDOR_WINE = 0x0, VENDOR_MESA = 0x1, VENDOR_ATI = 0x1002, - VENDOR_NVIDIA = 0x10de + VENDOR_NVIDIA = 0x10de, + VENDOR_INTEL = 0x8086 } GL_Vendors;
typedef enum _GL_Cards { - CARD_WINE = 0x0, - CARD_ATI_RADEON_8500 = 0x514c, - CARD_ATI_RADEON_9700PRO = 0x4e44, - CARD_ATI_RADEON_9800PRO = 0x4e48, - CARD_NVIDIA_GEFORCE4_TI4600 = 0x0250, - CARD_NVIDIA_GEFORCEFX_5900ULTRA = 0x0330 + CARD_WINE = 0x0, + + CARD_ATI_RADEON_8500 = 0x514c, + CARD_ATI_RADEON_9700PRO = 0x4e44, + CARD_ATI_RADEON_9800PRO = 0x4e48, + + CARD_NVIDIA_GEFORCE4_TI4600 = 0x0250, + CARD_NVIDIA_GEFORCE4_TI4200 = 0x0281, + CARD_NVIDIA_GEFORCEFX_5900ULTRA = 0x0330, + + CARD_INTEL_845G = 0x2562, + CARD_INTEL_I830G = 0x3577, + CARD_INTEL_I855G = 0x3582, + CARD_INTEL_I865G = 0x2572, + CARD_INTEL_I915G = 0x2582, + CARD_INTEL_I915GM = 0x2592 } GL_Cards;
typedef enum _GL_VSVersion {