mirror of
https://github.com/GreemDev/Ryujinx.git
synced 2025-02-23 05:40:29 +01:00
misc: chore: [ci skip] VSync progression as an extension
This commit is contained in:
parent
359852b5c0
commit
04ce7fb764
@ -6,4 +6,16 @@ namespace Ryujinx.Common.Configuration
|
||||
Unbounded,
|
||||
Custom
|
||||
}
|
||||
|
||||
public static class VSyncModeExtensions
|
||||
{
|
||||
public static VSyncMode Next(this VSyncMode vsync, bool customEnabled = false) =>
|
||||
vsync switch
|
||||
{
|
||||
VSyncMode.Switch => customEnabled ? VSyncMode.Custom : VSyncMode.Unbounded,
|
||||
VSyncMode.Unbounded => VSyncMode.Switch,
|
||||
VSyncMode.Custom => VSyncMode.Unbounded,
|
||||
_ => VSyncMode.Switch
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -319,25 +319,12 @@ namespace Ryujinx.Ava
|
||||
public void VSyncModeToggle()
|
||||
{
|
||||
VSyncMode oldVSyncMode = Device.VSyncMode;
|
||||
VSyncMode newVSyncMode = VSyncMode.Switch;
|
||||
bool customVSyncIntervalEnabled = ConfigurationState.Instance.Graphics.EnableCustomVSyncInterval.Value;
|
||||
|
||||
switch (oldVSyncMode)
|
||||
{
|
||||
case VSyncMode.Switch:
|
||||
newVSyncMode = customVSyncIntervalEnabled
|
||||
? VSyncMode.Custom
|
||||
: VSyncMode.Unbounded;
|
||||
break;
|
||||
case VSyncMode.Unbounded:
|
||||
newVSyncMode = VSyncMode.Switch;
|
||||
break;
|
||||
case VSyncMode.Custom:
|
||||
newVSyncMode = VSyncMode.Unbounded;
|
||||
break;
|
||||
}
|
||||
|
||||
UpdateVSyncMode(this, new ReactiveEventArgs<VSyncMode>(oldVSyncMode, newVSyncMode));
|
||||
UpdateVSyncMode(this, new ReactiveEventArgs<VSyncMode>(
|
||||
oldVSyncMode,
|
||||
oldVSyncMode.Next(customVSyncIntervalEnabled))
|
||||
);
|
||||
}
|
||||
|
||||
private void UpdateCustomVSyncIntervalValue(object sender, ReactiveEventArgs<int> e)
|
||||
|
Loading…
x
Reference in New Issue
Block a user