anv: store queue creation flags on anv_queue
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Thu, 10 Dec 2020 16:34:52 +0000 (18:34 +0200)
committerMarge Bot <eric+marge@anholt.net>
Thu, 28 Jan 2021 18:26:32 +0000 (18:26 +0000)
v2 (Jason Ekstrand):
 - Pass the whole VkDeviceQueueCreateInfo into anv_queue_init()

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8667>

src/intel/vulkan/anv_device.c
src/intel/vulkan/anv_private.h
src/intel/vulkan/anv_queue.c

index 566d5db..4195ef9 100644 (file)
@@ -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;
 
index 005f458..ef7f9a3 100644 (file)
@@ -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);
index 5f1db5d..e95ebec 100644 (file)
@@ -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;