vulkan/queue: Don't use vk_semaphore in threaded payload stealing
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25576>
This commit is contained in:

committed by
Marge Bot

parent
e5d3eba096
commit
9b21dc06c4
@@ -895,11 +895,8 @@ vk_queue_submit(struct vk_queue *queue,
|
|||||||
|
|
||||||
case VK_QUEUE_SUBMIT_MODE_THREADED:
|
case VK_QUEUE_SUBMIT_MODE_THREADED:
|
||||||
if (has_binary_permanent_semaphore_wait) {
|
if (has_binary_permanent_semaphore_wait) {
|
||||||
for (uint32_t i = 0; i < info->wait_count; i++) {
|
for (uint32_t i = 0; i < submit->wait_count; i++) {
|
||||||
VK_FROM_HANDLE(vk_semaphore, semaphore,
|
if (submit->waits[i].sync->flags & VK_SYNC_IS_TIMELINE)
|
||||||
info->waits[i].semaphore);
|
|
||||||
|
|
||||||
if (semaphore->type != VK_SEMAPHORE_TYPE_BINARY)
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
/* From the Vulkan 1.2.194 spec:
|
/* From the Vulkan 1.2.194 spec:
|
||||||
@@ -939,8 +936,6 @@ vk_queue_submit(struct vk_queue *queue,
|
|||||||
if (submit->_wait_temps[i] != NULL)
|
if (submit->_wait_temps[i] != NULL)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
assert(submit->waits[i].sync == &semaphore->permanent);
|
|
||||||
|
|
||||||
/* From the Vulkan 1.2.194 spec:
|
/* From the Vulkan 1.2.194 spec:
|
||||||
*
|
*
|
||||||
* VUID-vkQueueSubmit-pWaitSemaphores-03238
|
* VUID-vkQueueSubmit-pWaitSemaphores-03238
|
||||||
@@ -963,7 +958,7 @@ vk_queue_submit(struct vk_queue *queue,
|
|||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
result = vk_sync_create(queue->base.device,
|
result = vk_sync_create(queue->base.device,
|
||||||
semaphore->permanent.type,
|
submit->waits[i].sync->type,
|
||||||
0 /* flags */,
|
0 /* flags */,
|
||||||
0 /* initial value */,
|
0 /* initial value */,
|
||||||
&submit->_wait_temps[i]);
|
&submit->_wait_temps[i]);
|
||||||
@@ -972,7 +967,7 @@ vk_queue_submit(struct vk_queue *queue,
|
|||||||
|
|
||||||
result = vk_sync_move(queue->base.device,
|
result = vk_sync_move(queue->base.device,
|
||||||
submit->_wait_temps[i],
|
submit->_wait_temps[i],
|
||||||
&semaphore->permanent);
|
submit->waits[i].sync);
|
||||||
if (unlikely(result != VK_SUCCESS))
|
if (unlikely(result != VK_SUCCESS))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user