mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-23 07:44:18 +00:00
[vk,swapchain] vsync: Changed Immediate fallback from (FIFO) to (Mailbox, then FIFO) (#3746)
Just discovered that stock adreno drivers on a730 had no Immediate VSync mode available, and it was falling back to FIFO, which causes a lot of response delay in Unity games. But if someone chose Immediate, it prefers low latency above buffering, so Mailbox is his friend, and FIFO is his nemesis. So i just changed Immediate to fall back to Mailbox first, and only if Mailbox is not available either it falls back to FIFO: Immediate -> Mailbox -> FIFO; Mailbox -> FIFO; FIFO Relaxed -> FIFO. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3746 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Co-authored-by: xbzk <xbzk@eden-emu.dev> Co-committed-by: xbzk <xbzk@eden-emu.dev>
This commit is contained in:
parent
c95cb8f8ec
commit
abb616c357
|
|
@ -65,8 +65,10 @@ static VkPresentModeKHR ChooseSwapPresentMode(bool has_imm, bool has_mailbox,
|
||||||
return mode;
|
return mode;
|
||||||
}
|
}
|
||||||
}();
|
}();
|
||||||
|
if (setting == Settings::VSyncMode::Immediate && !has_imm) {
|
||||||
|
setting = Settings::VSyncMode::Mailbox;
|
||||||
|
}
|
||||||
if ((setting == Settings::VSyncMode::Mailbox && !has_mailbox) ||
|
if ((setting == Settings::VSyncMode::Mailbox && !has_mailbox) ||
|
||||||
(setting == Settings::VSyncMode::Immediate && !has_imm) ||
|
|
||||||
(setting == Settings::VSyncMode::FifoRelaxed && !has_fifo_relaxed)) {
|
(setting == Settings::VSyncMode::FifoRelaxed && !has_fifo_relaxed)) {
|
||||||
setting = Settings::VSyncMode::Fifo;
|
setting = Settings::VSyncMode::Fifo;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue