Recreate swapchain correctly when toggling VSync

This commit is contained in:
jcm 2024-03-17 18:02:06 -05:00
parent d26ef2eec3
commit fd756fc911
2 changed files with 8 additions and 3 deletions

View file

@ -420,6 +420,12 @@ namespace Ryujinx.Ava
Device.Configuration.MultiplayerMode = e.NewValue;
}
public void ToggleVSync()
{
Device.EnableDeviceVsync = !Device.EnableDeviceVsync;
_renderer.Window.ChangeVSyncMode(Device.EnableDeviceVsync);
}
public void Stop()
{
_isActive = false;
@ -1068,8 +1074,7 @@ namespace Ryujinx.Ava
switch (currentHotkeyState)
{
case KeyboardHotkeyState.ToggleVSync:
Device.EnableDeviceVsync = !Device.EnableDeviceVsync;
ToggleVSync();
break;
case KeyboardHotkeyState.Screenshot:
ScreenshotRequested = true;

View file

@ -33,7 +33,7 @@ namespace Ryujinx.Ava.UI.Views.Main
private void VsyncStatus_PointerReleased(object sender, PointerReleasedEventArgs e)
{
Window.ViewModel.AppHost.Device.EnableDeviceVsync = !Window.ViewModel.AppHost.Device.EnableDeviceVsync;
Window.ViewModel.AppHost.ToggleVSync();
Logger.Info?.Print(LogClass.Application, $"VSync toggled to: {Window.ViewModel.AppHost.Device.EnableDeviceVsync}");
}