anv: always pick graphics queue to execute prime blits on.
This will change when we get transfer queues but this should avoid video queues being picked by accident. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21204>
This commit is contained in:
@@ -36,6 +36,19 @@ anv_wsi_proc_addr(VkPhysicalDevice physicalDevice, const char *pName)
|
|||||||
return vk_instance_get_proc_addr_unchecked(&pdevice->instance->vk, pName);
|
return vk_instance_get_proc_addr_unchecked(&pdevice->instance->vk, pName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static VkQueue
|
||||||
|
anv_wsi_get_prime_blit_queue(VkDevice _device)
|
||||||
|
{
|
||||||
|
ANV_FROM_HANDLE(anv_device, device, _device);
|
||||||
|
|
||||||
|
vk_foreach_queue(_queue, &device->vk) {
|
||||||
|
struct anv_queue *queue = (struct anv_queue *)_queue;
|
||||||
|
if (queue->family->queueFlags & (VK_QUEUE_GRAPHICS_BIT | VK_QUEUE_COMPUTE_BIT | VK_QUEUE_TRANSFER_BIT))
|
||||||
|
return vk_queue_to_handle(_queue);
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
VkResult
|
VkResult
|
||||||
anv_init_wsi(struct anv_physical_device *physical_device)
|
anv_init_wsi(struct anv_physical_device *physical_device)
|
||||||
{
|
{
|
||||||
@@ -54,6 +67,7 @@ anv_init_wsi(struct anv_physical_device *physical_device)
|
|||||||
physical_device->wsi_device.supports_modifiers = true;
|
physical_device->wsi_device.supports_modifiers = true;
|
||||||
physical_device->wsi_device.signal_semaphore_with_memory = true;
|
physical_device->wsi_device.signal_semaphore_with_memory = true;
|
||||||
physical_device->wsi_device.signal_fence_with_memory = true;
|
physical_device->wsi_device.signal_fence_with_memory = true;
|
||||||
|
physical_device->wsi_device.get_blit_queue = anv_wsi_get_prime_blit_queue;
|
||||||
|
|
||||||
physical_device->vk.wsi_device = &physical_device->wsi_device;
|
physical_device->vk.wsi_device = &physical_device->wsi_device;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user