diff options
Diffstat (limited to 'Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs')
-rw-r--r-- | Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs b/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs index 6ce1d17d..976c2817 100644 --- a/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs +++ b/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs @@ -58,7 +58,7 @@ namespace Ryujinx.Ava.Ui.Windows internal AppHost AppHost { get; private set; } public InputManager InputManager { get; private set; } - internal RendererControl RendererControl { get; private set; } + internal RendererHost RendererControl { get; private set; } internal MainWindowViewModel ViewModel { get; private set; } public SettingsWindow SettingsWindow { get; set; } @@ -237,7 +237,16 @@ namespace Ryujinx.Ava.Ui.Windows _mainViewContent = MainContent.Content as Control; - RendererControl = Program.UseVulkan ? new VulkanRendererControl(ConfigurationState.Instance.Logger.GraphicsDebugLevel) : new OpenGLRendererControl(3, 3, ConfigurationState.Instance.Logger.GraphicsDebugLevel); + RendererControl = new RendererHost(ConfigurationState.Instance.Logger.GraphicsDebugLevel); + if (ConfigurationState.Instance.Graphics.GraphicsBackend.Value == GraphicsBackend.OpenGl) + { + RendererControl.CreateOpenGL(); + } + else + { + RendererControl.CreateVulkan(); + } + AppHost = new AppHost(RendererControl, InputManager, path, VirtualFileSystem, ContentManager, AccountManager, _userChannelPersistence, this); if (!AppHost.LoadGuestApplication().Result) @@ -296,8 +305,8 @@ namespace Ryujinx.Ava.Ui.Windows public void SwitchToGameControl(bool startFullscreen = false) { - ViewModel.ShowContent = true; ViewModel.ShowLoadProgress = false; + ViewModel.ShowContent = true; ViewModel.IsLoadingIndeterminate = false; Dispatcher.UIThread.InvokeAsync(() => @@ -346,17 +355,17 @@ namespace Ryujinx.Ava.Ui.Windows Dispatcher.UIThread.InvokeAsync(() => { - if (MainContent.Content != _mainViewContent) - { - MainContent.Content = _mainViewContent; - } - ViewModel.ShowMenuAndStatusBar = true; ViewModel.ShowContent = true; ViewModel.ShowLoadProgress = false; ViewModel.IsLoadingIndeterminate = false; Cursor = Cursor.Default; + if (MainContent.Content != _mainViewContent) + { + MainContent.Content = _mainViewContent; + } + AppHost = null; HandleRelaunch(); |