mirror of
https://github.com/GreemDev/Ryujinx.git
synced 2025-02-23 13:49:50 +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,
|
Unbounded,
|
||||||
Custom
|
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()
|
public void VSyncModeToggle()
|
||||||
{
|
{
|
||||||
VSyncMode oldVSyncMode = Device.VSyncMode;
|
VSyncMode oldVSyncMode = Device.VSyncMode;
|
||||||
VSyncMode newVSyncMode = VSyncMode.Switch;
|
|
||||||
bool customVSyncIntervalEnabled = ConfigurationState.Instance.Graphics.EnableCustomVSyncInterval.Value;
|
bool customVSyncIntervalEnabled = ConfigurationState.Instance.Graphics.EnableCustomVSyncInterval.Value;
|
||||||
|
|
||||||
switch (oldVSyncMode)
|
UpdateVSyncMode(this, new ReactiveEventArgs<VSyncMode>(
|
||||||
{
|
oldVSyncMode,
|
||||||
case VSyncMode.Switch:
|
oldVSyncMode.Next(customVSyncIntervalEnabled))
|
||||||
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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateCustomVSyncIntervalValue(object sender, ReactiveEventArgs<int> e)
|
private void UpdateCustomVSyncIntervalValue(object sender, ReactiveEventArgs<int> e)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user