From: Paul Gofman pgofman@codeweavers.com
This reverts commit 62c60a9e10cdd73bda2b27eb048f4295bae7babb. --- dlls/win32u/sysparams.c | 24 +++++++++++++++++++----- dlls/winemac.drv/display.c | 11 ++++------- dlls/winex11.drv/xrandr.c | 4 ++-- include/wine/gdi_driver.h | 15 +++++---------- 4 files changed, 30 insertions(+), 24 deletions(-)
diff --git a/dlls/win32u/sysparams.c b/dlls/win32u/sysparams.c index 8bda17f2892..9ebd6e26fc4 100644 --- a/dlls/win32u/sysparams.c +++ b/dlls/win32u/sysparams.c @@ -85,6 +85,14 @@ static const char guid_devinterface_monitorA[] = "{E6F07B5F-EE97-4A90-B076-33F57
#define NEXT_DEVMODEW(mode) ((DEVMODEW *)((char *)((mode) + 1) + (mode)->dmDriverExtra))
+struct pci_id +{ + UINT16 vendor; + UINT16 device; + UINT16 subsystem; + UINT16 revision; +}; + struct gpu { LONG refcount; @@ -1185,15 +1193,21 @@ static BOOL write_gpu_to_registry( const struct gpu *gpu, const struct pci_id *p
static void add_gpu( const struct gdi_gpu *gpu, void *param ) { - const struct pci_id *pci_id = &gpu->pci_id; + const struct pci_id pci_id = + { + .vendor = gpu->vendor_id, + .device = gpu->device_id, + .subsystem = gpu->subsys_id, + .revision = gpu->revision_id, + }; struct device_manager_ctx *ctx = param; char buffer[4096]; KEY_VALUE_PARTIAL_INFORMATION *value = (void *)buffer; unsigned int i; HKEY hkey, subkey;
- TRACE( "%s %04X %04X %08X %02X\n", debugstr_w( gpu->name ), pci_id->vendor, pci_id->device, - pci_id->subsystem, pci_id->revision ); + TRACE( "%s %04X %04X %08X %02X\n", debugstr_w(gpu->name), + gpu->vendor_id, gpu->device_id, gpu->subsys_id, gpu->revision_id );
if (!enum_key && !(enum_key = reg_create_ascii_key( NULL, enum_keyA, 0, NULL ))) return; @@ -1211,7 +1225,7 @@ static void add_gpu( const struct gdi_gpu *gpu, void *param ) ctx->gpu.vulkan_uuid = gpu->vulkan_uuid;
snprintf( ctx->gpu.path, sizeof(ctx->gpu.path), "PCI\VEN_%04X&DEV_%04X&SUBSYS_%08X&REV_%02X\%08X", - pci_id->vendor, pci_id->device, pci_id->subsystem, pci_id->revision, ctx->gpu.index ); + gpu->vendor_id, gpu->device_id, gpu->subsys_id, gpu->revision_id, ctx->gpu.index ); if (!(hkey = reg_create_ascii_key( enum_key, ctx->gpu.path, 0, NULL ))) return;
if ((subkey = reg_create_ascii_key( hkey, "Device Parameters", 0, NULL ))) @@ -1251,7 +1265,7 @@ static void add_gpu( const struct gdi_gpu *gpu, void *param )
NtClose( hkey );
- if (!write_gpu_to_registry( &ctx->gpu, pci_id, gpu->memory_size )) + if (!write_gpu_to_registry( &ctx->gpu, &pci_id, gpu->memory_size )) WARN( "Failed to write gpu to registry\n" ); else ctx->gpu_count++; diff --git a/dlls/winemac.drv/display.c b/dlls/winemac.drv/display.c index b52bb39c0f6..5221f4402fa 100644 --- a/dlls/winemac.drv/display.c +++ b/dlls/winemac.drv/display.c @@ -1142,13 +1142,10 @@ BOOL macdrv_UpdateDisplayDevices( const struct gdi_device_manager *device_manage struct gdi_gpu gdi_gpu = { .id = gpu->id, - .pci_id = - { - .vendor = gpu->vendor_id, - .device = gpu->device_id, - .subsystem = gpu->subsys_id, - .revision = gpu->revision_id, - }, + .vendor_id = gpu->vendor_id, + .device_id = gpu->device_id, + .subsys_id = gpu->subsys_id, + .revision_id = gpu->revision_id, }; RtlUTF8ToUnicodeN(gdi_gpu.name, sizeof(gdi_gpu.name), &len, gpu->name, strlen(gpu->name)); device_manager->add_gpu(&gdi_gpu, param); diff --git a/dlls/winex11.drv/xrandr.c b/dlls/winex11.drv/xrandr.c index e183501b23f..89ce2a6a263 100644 --- a/dlls/winex11.drv/xrandr.c +++ b/dlls/winex11.drv/xrandr.c @@ -737,8 +737,8 @@ static BOOL get_gpu_properties_from_vulkan( struct gdi_gpu *gpu, const XRRProvid /* Ignore Khronos vendor IDs */ if (properties2.properties.vendorID < 0x10000) { - gpu->pci_id.vendor = properties2.properties.vendorID; - gpu->pci_id.device = properties2.properties.deviceID; + gpu->vendor_id = properties2.properties.vendorID; + gpu->device_id = properties2.properties.deviceID; } RtlUTF8ToUnicodeN( gpu->name, sizeof(gpu->name), &len, properties2.properties.deviceName, strlen( properties2.properties.deviceName ) + 1 ); diff --git a/include/wine/gdi_driver.h b/include/wine/gdi_driver.h index 447b5a86988..61c9342d50f 100644 --- a/include/wine/gdi_driver.h +++ b/include/wine/gdi_driver.h @@ -237,19 +237,14 @@ static inline ULONG window_surface_release( struct window_surface *surface )
/* display manager interface, used to initialize display device registry data */
-struct pci_id -{ - UINT16 vendor; - UINT16 device; - UINT16 subsystem; - UINT16 revision; -}; - struct gdi_gpu { ULONG_PTR id; - WCHAR name[128]; - struct pci_id pci_id; + WCHAR name[128]; /* name */ + UINT vendor_id; /* PCI ID */ + UINT device_id; + UINT subsys_id; + UINT revision_id; GUID vulkan_uuid; /* Vulkan device UUID */ ULONGLONG memory_size; };