aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs')
-rw-r--r--Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs25
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();