vk: Fix GPU hang

This commit is contained in:
kd-11 2023-06-29 01:27:28 +03:00 committed by kd-11
parent a047ddffc0
commit 7ebabddfe0

View File

@ -340,20 +340,25 @@ namespace vk
void event::reset() const void event::reset() const
{ {
if (m_backend == sync_backend::gpu_label) if (m_backend != sync_backend::gpu_label) [[ likely ]]
{ {
m_label->reset(); vkResetEvent(*m_device, m_vk_event);
return; return;
} }
vkResetEvent(*m_device, m_vk_event); m_label->reset();
} }
VkResult event::status() const VkResult event::status() const
{
if (m_backend != sync_backend::gpu_label) [[ likely ]]
{ {
return vkGetEventStatus(*m_device, m_vk_event); return vkGetEventStatus(*m_device, m_vk_event);
} }
return m_label->signaled() ? VK_EVENT_SET : VK_EVENT_RESET;
}
gpu_label_pool::gpu_label_pool(const vk::render_device& dev, u32 count) gpu_label_pool::gpu_label_pool(const vk::render_device& dev, u32 count)
: pdev(&dev), m_count(count) : pdev(&dev), m_count(count)
{} {}