mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-11 09:38:57 +02: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
1 changed files with 3 additions and 1 deletions
|
|
@ -65,8 +65,10 @@ static VkPresentModeKHR ChooseSwapPresentMode(bool has_imm, bool has_mailbox,
|
|||
return mode;
|
||||
}
|
||||
}();
|
||||
if (setting == Settings::VSyncMode::Immediate && !has_imm) {
|
||||
setting = Settings::VSyncMode::Mailbox;
|
||||
}
|
||||
if ((setting == Settings::VSyncMode::Mailbox && !has_mailbox) ||
|
||||
(setting == Settings::VSyncMode::Immediate && !has_imm) ||
|
||||
(setting == Settings::VSyncMode::FifoRelaxed && !has_fifo_relaxed)) {
|
||||
setting = Settings::VSyncMode::Fifo;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue