On 10/1/20 5:01 PM, Matteo Bruni wrote:
Signed-off-by: Matteo Bruni mbruni@codeweavers.com
I picked the more or less current version of the AMD driver for the time being.
I think we should eventually move wined3d's GPU driver detection and override stuff to the display drivers (TBD how to share the code between the different drivers) so that everything has the same consistent view.
Hi Matteo,
I would prefer making the move now. There are other bugs that rely on this as well. For example, some games need a consistent GPU name in DXGI and SetupAPI. As to how to share the code, what about something like a include/wine/wine_gpu_db.h header? I am thinking keeping the existing GPU detection code in wined3d there and only move the PCI ID related tables to wine_gpu_db.h. What do you think?
Thanks, Zhiyi
dlls/winex11.drv/display.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/dlls/winex11.drv/display.c b/dlls/winex11.drv/display.c index cf55a5c1fb67..918339b05f31 100644 --- a/dlls/winex11.drv/display.c +++ b/dlls/winex11.drv/display.c @@ -53,6 +53,7 @@ DEFINE_DEVPROPKEY(WINE_DEVPROPKEY_MONITOR_ADAPTERNAME, 0x233a9ef3, 0xafc4, 0x4ab static const WCHAR driver_date_dataW[] = {'D','r','i','v','e','r','D','a','t','e','D','a','t','a',0}; static const WCHAR driver_dateW[] = {'D','r','i','v','e','r','D','a','t','e',0}; static const WCHAR driver_descW[] = {'D','r','i','v','e','r','D','e','s','c',0}; +static const WCHAR driver_versionW[] = {'D','r','i','v','e','r','V','e','r','s','i','o','n',0}; static const WCHAR displayW[] = {'D','I','S','P','L','A','Y',0}; static const WCHAR pciW[] = {'P','C','I',0}; static const WCHAR video_idW[] = {'V','i','d','e','o','I','D',0}; @@ -109,6 +110,7 @@ static const WCHAR monitor_hardware_idW[] = { 'M','O','N','I','T','O','R','\', 'D','e','f','a','u','l','t','_','M','o','n','i','t','o','r',0,0}; static const WCHAR driver_date_fmtW[] = {'%','u','-','%','u','-','%','u',0}; +static const WCHAR driver_version_fallbackW[] ={'2','6','.','2','0','.','1','5','0','0','2','.','6','1',0};
static struct x11drv_display_device_handler host_handler; struct x11drv_display_device_handler desktop_handler; @@ -476,6 +478,10 @@ static BOOL X11DRV_InitGpu(HDEVINFO devinfo, const struct x11drv_gpu *gpu, INT g if (RegSetValueExW(hkey, driver_dateW, 0, REG_SZ, (BYTE *)bufferW, (strlenW(bufferW) + 1) * sizeof(WCHAR))) goto done;
if (RegSetValueExW(hkey, driver_versionW, 0, REG_SZ, (const BYTE *)driver_version_fallbackW,
sizeof(driver_version_fallbackW)))
goto done;
RegCloseKey(hkey);
/* Retrieve driver value for adapters */