From 4b920ba5ab979e5e1e5c1f21ecb63b23f713b350 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Thu, 10 Dec 2020 18:34:52 +0200 Subject: [PATCH] anv: store queue creation flags on anv_queue v2 (Jason Ekstrand): - Pass the whole VkDeviceQueueCreateInfo into anv_queue_init() Signed-off-by: Lionel Landwerlin Reviewed-by: Jason Ekstrand Reviewed-by: Jordan Justen Part-of: --- src/intel/vulkan/anv_device.c | 3 ++- src/intel/vulkan/anv_private.h | 3 ++- src/intel/vulkan/anv_queue.c | 5 +++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 566d5dbe7b3..4195ef9c49b 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -2848,7 +2848,8 @@ VkResult anv_CreateDevice( device->has_thread_submit = physical_device->has_thread_submit; - result = anv_queue_init(device, &device->queue); + result = anv_queue_init(device, &device->queue, + &pCreateInfo->pQueueCreateInfos[0]); if (result != VK_SUCCESS) goto fail_context_id; diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 005f458da03..ef7f9a36ccd 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -1573,7 +1573,8 @@ VkResult anv_device_bo_busy(struct anv_device *device, struct anv_bo *bo); VkResult anv_device_wait(struct anv_device *device, struct anv_bo *bo, int64_t timeout); -VkResult anv_queue_init(struct anv_device *device, struct anv_queue *queue); +VkResult anv_queue_init(struct anv_device *device, struct anv_queue *queue, + const VkDeviceQueueCreateInfo *pCreateInfo); void anv_queue_finish(struct anv_queue *queue); VkResult anv_queue_execbuf_locked(struct anv_queue *queue, struct anv_queue_submit *submit); diff --git a/src/intel/vulkan/anv_queue.c b/src/intel/vulkan/anv_queue.c index 5f1db5d154b..e95ebecc11f 100644 --- a/src/intel/vulkan/anv_queue.c +++ b/src/intel/vulkan/anv_queue.c @@ -485,12 +485,13 @@ _anv_queue_submit(struct anv_queue *queue, struct anv_queue_submit **_submit, } VkResult -anv_queue_init(struct anv_device *device, struct anv_queue *queue) +anv_queue_init(struct anv_device *device, struct anv_queue *queue, + const VkDeviceQueueCreateInfo *pCreateInfo) { VkResult result; queue->device = device; - queue->flags = 0; + queue->flags = pCreateInfo->flags; queue->lost = false; queue->quit = false;