vulkan: Gracefully handle back-to-back flip request spam

This commit is contained in:
kd-11 2017-08-21 23:04:11 +03:00
parent f71f67c4ff
commit 462b93f62c
1 changed files with 8 additions and 2 deletions

View File

@ -2241,11 +2241,17 @@ void VKGSRender::flip(int buffer)
m_current_frame->grab_resources(m_aux_frame_context); m_current_frame->grab_resources(m_aux_frame_context);
} }
else if (m_current_frame->swap_command_buffer) else if (m_current_frame->swap_command_buffer)
{
if (m_draw_calls > 0)
{ {
//Unreachable //Unreachable
fmt::throw_exception("Possible data corruption on frame context storage detected"); fmt::throw_exception("Possible data corruption on frame context storage detected");
} }
//There were no draws and back-to-back flips happened
process_swap_request(m_current_frame, true);
}
if (!resize_screen) if (!resize_screen)
{ {
u32 buffer_width = display_buffers[buffer].width; u32 buffer_width = display_buffers[buffer].width;