#include "util/debug.h"
struct radv_dispatch_table dtable;
+static void
+radv_device_get_cache_uuid(void *uuid)
+{
+ memset(uuid, 0, VK_UUID_SIZE);
+ snprintf(uuid, VK_UUID_SIZE, "radv-%s", RADV_TIMESTAMP);
+}
+
static VkResult
radv_physical_device_init(struct radv_physical_device *device,
struct radv_instance *instance,
goto fail;
}
+ radv_device_get_cache_uuid(device->uuid);
+
fprintf(stderr, "WARNING: radv is not a conformant vulkan implementation, testing use only.\n");
device->name = device->rad_info.name;
return VK_SUCCESS;
};
}
-void
-radv_device_get_cache_uuid(void *uuid)
-{
- memset(uuid, 0, VK_UUID_SIZE);
- snprintf(uuid, VK_UUID_SIZE, "radv-%s", RADV_TIMESTAMP);
-}
-
void radv_GetPhysicalDeviceProperties(
VkPhysicalDevice physicalDevice,
VkPhysicalDeviceProperties* pProperties)
};
strcpy(pProperties->deviceName, pdevice->name);
- radv_device_get_cache_uuid(pProperties->pipelineCacheUUID);
+ memcpy(pProperties->pipelineCacheUUID, pdevice->uuid, VK_UUID_SIZE);
}
void radv_GetPhysicalDeviceQueueFamilyProperties(
const void *data, size_t size)
{
struct radv_device *device = cache->device;
+ struct radv_physical_device *pdevice = &device->instance->physicalDevice;
struct cache_header header;
- uint8_t uuid[VK_UUID_SIZE];
if (size < sizeof(header))
return;
return;
if (header.device_id != device->instance->physicalDevice.rad_info.pci_id)
return;
- radv_device_get_cache_uuid(uuid);
- if (memcmp(header.uuid, uuid, VK_UUID_SIZE) != 0)
+ if (memcmp(header.uuid, pdevice->uuid, VK_UUID_SIZE) != 0)
return;
char *end = (void *) data + size;
{
RADV_FROM_HANDLE(radv_device, device, _device);
RADV_FROM_HANDLE(radv_pipeline_cache, cache, _cache);
+ struct radv_physical_device *pdevice = &device->instance->physicalDevice;
struct cache_header *header;
VkResult result = VK_SUCCESS;
const size_t size = sizeof(*header) + cache->total_size;
header->header_version = VK_PIPELINE_CACHE_HEADER_VERSION_ONE;
header->vendor_id = 0x1002;
header->device_id = device->instance->physicalDevice.rad_info.pci_id;
- radv_device_get_cache_uuid(header->uuid);
+ memcpy(header->uuid, pdevice->uuid, VK_UUID_SIZE);
p += header->header_size;
struct cache_entry *entry;
uint32_t pci_vendor_id;
uint32_t pci_device_id;
+ uint8_t uuid[VK_UUID_SIZE];
+
struct wsi_device wsi_device;
};
float sample_locations_16x[16][2];
};
-void radv_device_get_cache_uuid(void *uuid);
-
struct radv_device_memory {
struct radeon_winsys_bo *bo;
uint32_t type_index;