mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-01 19:38:31 +00:00
win32u: Use struct pci_id in struct gdi_gpu.
This commit is contained in:
parent
79f3573d8f
commit
62c60a9e10
|
@ -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++;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 );
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue