mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-28 10:20:09 +01:00
zink: wait on queues during screen destroy
there might somehow be operations active cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36289>
This commit is contained in:
parent
8931672eef
commit
61633e0a2e
1 changed files with 14 additions and 0 deletions
|
|
@ -1460,6 +1460,20 @@ zink_destroy_screen(struct pipe_screen *pscreen)
|
|||
{
|
||||
struct zink_screen *screen = zink_screen(pscreen);
|
||||
|
||||
if (!screen->device_lost && screen->queue) {
|
||||
VkResult result = VKSCR(QueueWaitIdle)(screen->queue);
|
||||
|
||||
if (result != VK_SUCCESS)
|
||||
mesa_loge("ZINK: vkQueueWaitIdle failed (%s)", vk_Result_to_str(result));
|
||||
|
||||
if (screen->queue_sparse && screen->queue_sparse != screen->queue) {
|
||||
result = VKSCR(QueueWaitIdle)(screen->queue_sparse);
|
||||
|
||||
if (result != VK_SUCCESS)
|
||||
mesa_loge("ZINK: vkQueueWaitIdle failed (%s)", vk_Result_to_str(result));
|
||||
}
|
||||
}
|
||||
|
||||
if (screen->renderdoc_capture_all && p_atomic_dec_zero(&num_screens))
|
||||
screen->renderdoc_api->EndFrameCapture(RENDERDOC_DEVICEPOINTER_FROM_VKINSTANCE(screen->instance), NULL);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue