diff options
Diffstat (limited to 'src/intel/vulkan')
-rw-r--r-- | src/intel/vulkan/anv_device.c | 6 | ||||
-rw-r--r-- | src/intel/vulkan/anv_private.h | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 7d63168b12d..bccb669e4f2 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -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 diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 34e6159101e..ee533581ab4 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -839,6 +839,8 @@ struct anv_queue { struct anv_device * device; struct anv_state_pool * pool; + + VkDeviceQueueCreateFlags flags; }; struct anv_pipeline_cache { |