diff options
author | Andres Rodriguez <[email protected]> | 2017-07-12 18:45:31 -0400 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2017-08-06 12:42:07 +1000 |
commit | 14cad8786a8f9b6ae2e76b60766ca3d904434d60 (patch) | |
tree | 58db3c4a662b2c609e226b8c451e719ee4de102b /src/amd/vulkan | |
parent | f8ea71f0475fb3e5afd881d383cf04efa7a06530 (diff) |
radv: generate the same driver UUID as radeonsi
These need to match for interop compatibility queries.
Signed-off-by: Andres Rodriguez <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'src/amd/vulkan')
-rw-r--r-- | src/amd/vulkan/radv_device.c | 9 | ||||
-rw-r--r-- | src/amd/vulkan/radv_private.h | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index fe621d23dca..ce65ba378e1 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -63,6 +63,12 @@ radv_device_get_cache_uuid(enum radeon_family family, void *uuid) } static void +radv_get_driver_uuid(void *uuid) +{ + ac_compute_driver_uuid(uuid, VK_UUID_SIZE); +} + +static void radv_get_device_uuid(struct radeon_info *info, void *uuid) { ac_compute_device_uuid(info, uuid, VK_UUID_SIZE); @@ -335,6 +341,7 @@ radv_physical_device_init(struct radv_physical_device *device, fprintf(stderr, "WARNING: radv is not a conformant vulkan implementation, testing use only.\n"); device->name = get_chip_name(device->rad_info.family); + radv_get_driver_uuid(&device->device_uuid); radv_get_device_uuid(&device->rad_info, &device->device_uuid); if (device->rad_info.family == CHIP_STONEY || @@ -792,7 +799,7 @@ void radv_GetPhysicalDeviceProperties2KHR( } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR: { VkPhysicalDeviceIDPropertiesKHR *properties = (VkPhysicalDeviceIDPropertiesKHR*)ext; - radv_device_get_cache_uuid(0, properties->driverUUID); + memcpy(properties->driverUUID, pdevice->driver_uuid, VK_UUID_SIZE); memcpy(properties->deviceUUID, pdevice->device_uuid, VK_UUID_SIZE); properties->deviceLUIDValid = false; break; diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index 8e86f5c1d52..6230efce81f 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -267,6 +267,7 @@ struct radv_physical_device { struct radeon_info rad_info; char path[20]; const char * name; + uint8_t driver_uuid[VK_UUID_SIZE]; uint8_t device_uuid[VK_UUID_SIZE]; uint8_t cache_uuid[VK_UUID_SIZE]; |