diff --git a/src/intel/vulkan/anv_sparse.c b/src/intel/vulkan/anv_sparse.c index b80b681d44d..c899a1f2b16 100644 --- a/src/intel/vulkan/anv_sparse.c +++ b/src/intel/vulkan/anv_sparse.c @@ -625,6 +625,7 @@ anv_sparse_bind_trtt(struct anv_device *device, /* TR-TT submission needs a queue even when the API entry point doesn't * give one, such as resource creation. */ + assert(trtt->queue != NULL); if (!sparse_submit->queue) sparse_submit->queue = trtt->queue; diff --git a/src/intel/vulkan/genX_init_state.c b/src/intel/vulkan/genX_init_state.c index 7f5ff759830..c653a3dfcfd 100644 --- a/src/intel/vulkan/genX_init_state.c +++ b/src/intel/vulkan/genX_init_state.c @@ -667,9 +667,6 @@ init_render_queue_state(struct anv_queue *queue, bool is_companion_rcs_batch) return result; } - if (!device->trtt.queue) - device->trtt.queue = queue; - if (is_companion_rcs_batch) queue->init_companion_submit = submit; else @@ -904,6 +901,10 @@ genX(init_device_state)(struct anv_device *device) } if (res != VK_SUCCESS) return res; + + if (!device->trtt.queue && + queue->family->queueFlags & VK_QUEUE_SPARSE_BINDING_BIT) + device->trtt.queue = queue; } return res;