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>
queue->_loader_data.loaderMagic = ICD_LOADER_MAGIC;
queue->device = device;
queue->pool = &device->surface_state_pool;
+ queue->flags = 0;
}
static void
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
struct anv_device * device;
struct anv_state_pool * pool;
+
+ VkDeviceQueueCreateFlags flags;
};
struct anv_pipeline_cache {