Avalonia - Couple fixes and improvements to vulkan (#3483)
* drop split devices, rebase * add fallback to opengl if vulkan is not available * addressed review * ensure present image references are incremented and decremented when necessary * allow changing vsync for vulkan * fix screenshot on avalonia vulkan * save favorite when toggled * improve sync between popups * use separate devices for each new window * fix crash when closing window * addressed review * don't create the main window with immediate mode * change skia vk delegate to method * update vulkan throwonerror * addressed review
This commit is contained in:
parent
0ec933a615
commit
c8f9292bab
28 changed files with 585 additions and 312 deletions
|
@ -38,6 +38,8 @@ namespace Ryujinx.Ava.Ui.ViewModels
|
|||
{
|
||||
internal class MainWindowViewModel : BaseModel
|
||||
{
|
||||
private const int HotKeyPressDelayMs = 500;
|
||||
|
||||
private readonly MainWindow _owner;
|
||||
private ObservableCollection<ApplicationData> _applications;
|
||||
private string _aspectStatusText;
|
||||
|
@ -54,6 +56,7 @@ namespace Ryujinx.Ava.Ui.ViewModels
|
|||
private bool _isLoading;
|
||||
private int _progressMaximum;
|
||||
private int _progressValue;
|
||||
private long _lastFullscreenToggle = Environment.TickCount64;
|
||||
private bool _showLoadProgress;
|
||||
private bool _showMenuAndStatusBar = true;
|
||||
private bool _showStatusSeparator;
|
||||
|
@ -929,6 +932,13 @@ namespace Ryujinx.Ava.Ui.ViewModels
|
|||
|
||||
public void ToggleFullscreen()
|
||||
{
|
||||
if (Environment.TickCount64 - _lastFullscreenToggle < HotKeyPressDelayMs)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_lastFullscreenToggle = Environment.TickCount64;
|
||||
|
||||
WindowState state = _owner.WindowState;
|
||||
|
||||
if (state == WindowState.FullScreen)
|
||||
|
@ -1085,6 +1095,11 @@ namespace Ryujinx.Ava.Ui.ViewModels
|
|||
{
|
||||
selection.Favorite = !selection.Favorite;
|
||||
|
||||
_owner.ApplicationLibrary.LoadAndSaveMetaData(selection.TitleId, appMetadata =>
|
||||
{
|
||||
appMetadata.Favorite = selection.Favorite;
|
||||
});
|
||||
|
||||
RefreshView();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue