mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 16:08:04 +02:00
anv/device: GetDeviceQueue2 should only return queues with matching flags
From the Vulkan 1.1 spec, VkDeviceQueueInfo2 structure:
"The queue returned by vkGetDeviceQueue2 must have the same flags value
from this structure as that used at device creation time in a
VkDeviceQueueCreateInfo instance. If no matching flags were specified
at device creation time then pQueue will return VK_NULL_HANDLE."
For us this means no flags at all since we don't support any.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
parent
9c8b40001d
commit
b262f17b15
2 changed files with 7 additions and 1 deletions
|
|
@ -1273,6 +1273,7 @@ anv_queue_init(struct anv_device *device, struct anv_queue *queue)
|
|||
queue->_loader_data.loaderMagic = ICD_LOADER_MAGIC;
|
||||
queue->device = device;
|
||||
queue->pool = &device->surface_state_pool;
|
||||
queue->flags = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -1755,7 +1756,10 @@ void anv_GetDeviceQueue2(
|
|||
|
||||
assert(pQueueInfo->queueIndex == 0);
|
||||
|
||||
*pQueue = anv_queue_to_handle(&device->queue);
|
||||
if (pQueueInfo->flags == device->queue.flags)
|
||||
*pQueue = anv_queue_to_handle(&device->queue);
|
||||
else
|
||||
*pQueue = NULL;
|
||||
}
|
||||
|
||||
VkResult
|
||||
|
|
|
|||
|
|
@ -839,6 +839,8 @@ struct anv_queue {
|
|||
struct anv_device * device;
|
||||
|
||||
struct anv_state_pool * pool;
|
||||
|
||||
VkDeviceQueueCreateFlags flags;
|
||||
};
|
||||
|
||||
struct anv_pipeline_cache {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue