Module: wine Branch: master Commit: 62c60a9e10cdd73bda2b27eb048f4295bae7babb URL: https://gitlab.winehq.org/wine/wine/-/commit/62c60a9e10cdd73bda2b27eb048f429...
Author: Rémi Bernon rbernon@codeweavers.com Date: Mon Apr 22 18:16:07 2024 +0200
win32u: Use struct pci_id in struct gdi_gpu.
---
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, 24 insertions(+), 30 deletions(-)
diff --git a/dlls/win32u/sysparams.c b/dlls/win32u/sysparams.c index 9ebd6e26fc4..8bda17f2892 100644 --- a/dlls/win32u/sysparams.c +++ b/dlls/win32u/sysparams.c @@ -85,14 +85,6 @@ 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; @@ -1193,21 +1185,15 @@ 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 = - { - .vendor = gpu->vendor_id, - .device = gpu->device_id, - .subsystem = gpu->subsys_id, - .revision = gpu->revision_id, - }; + const struct pci_id *pci_id = &gpu->pci_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), - gpu->vendor_id, gpu->device_id, gpu->subsys_id, gpu->revision_id ); + TRACE( "%s %04X %04X %08X %02X\n", debugstr_w( gpu->name ), pci_id->vendor, pci_id->device, + pci_id->subsystem, pci_id->revision );
if (!enum_key && !(enum_key = reg_create_ascii_key( NULL, enum_keyA, 0, NULL ))) return; @@ -1225,7 +1211,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", - gpu->vendor_id, gpu->device_id, gpu->subsys_id, gpu->revision_id, ctx->gpu.index ); + pci_id->vendor, pci_id->device, pci_id->subsystem, pci_id->revision, 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 ))) @@ -1265,7 +1251,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 5221f4402fa..b52bb39c0f6 100644 --- a/dlls/winemac.drv/display.c +++ b/dlls/winemac.drv/display.c @@ -1142,10 +1142,13 @@ BOOL macdrv_UpdateDisplayDevices( const struct gdi_device_manager *device_manage struct gdi_gpu gdi_gpu = { .id = gpu->id, - .vendor_id = gpu->vendor_id, - .device_id = gpu->device_id, - .subsys_id = gpu->subsys_id, - .revision_id = gpu->revision_id, + .pci_id = + { + .vendor = gpu->vendor_id, + .device = gpu->device_id, + .subsystem = gpu->subsys_id, + .revision = 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 89ce2a6a263..e183501b23f 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->vendor_id = properties2.properties.vendorID; - gpu->device_id = properties2.properties.deviceID; + gpu->pci_id.vendor = properties2.properties.vendorID; + gpu->pci_id.device = 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 61c9342d50f..447b5a86988 100644 --- a/include/wine/gdi_driver.h +++ b/include/wine/gdi_driver.h @@ -237,14 +237,19 @@ 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]; /* name */ - UINT vendor_id; /* PCI ID */ - UINT device_id; - UINT subsys_id; - UINT revision_id; + WCHAR name[128]; + struct pci_id pci_id; GUID vulkan_uuid; /* Vulkan device UUID */ ULONGLONG memory_size; };