diff options
author | TSRBerry <20988865+TSRBerry@users.noreply.github.com> | 2023-01-16 03:59:41 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-16 03:59:41 +0100 |
commit | e68650237db2d5fd0fb78d9e21378d139338246f (patch) | |
tree | 15ea1bcac9356b4ac6762d9837ef6eaedc621291 | |
parent | 1faff14e73408872dd034114bfc2c3f1044f8d94 (diff) |
Ava: Fix Linux Vulkan renderer regression (#4303)1.1.565
* ava: Fix Linux Vulkan renderer staying transparent
* ava: Minor Renderer cleanup
* Don't supress potential NRE warning
Co-authored-by: Ac_K <Acoustik666@gmail.com>
Co-authored-by: Ac_K <Acoustik666@gmail.com>
-rw-r--r-- | Ryujinx.Ava/UI/Renderer/EmbeddedWindow.cs | 7 | ||||
-rw-r--r-- | Ryujinx.Ava/UI/Renderer/RendererHost.axaml.cs | 7 |
2 files changed, 7 insertions, 7 deletions
diff --git a/Ryujinx.Ava/UI/Renderer/EmbeddedWindow.cs b/Ryujinx.Ava/UI/Renderer/EmbeddedWindow.cs index 21d9d12e..6cacfef4 100644 --- a/Ryujinx.Ava/UI/Renderer/EmbeddedWindow.cs +++ b/Ryujinx.Ava/UI/Renderer/EmbeddedWindow.cs @@ -82,7 +82,7 @@ namespace Ryujinx.Ava.UI.Renderer } else if (OperatingSystem.IsMacOS()) { - return CreateMacOs(); + return CreateMacOS(); } return base.CreateNativeControlCore(control); @@ -113,11 +113,12 @@ namespace Ryujinx.Ava.UI.Renderer } [SupportedOSPlatform("linux")] - protected virtual IPlatformHandle CreateLinux(IPlatformHandle control) + private IPlatformHandle CreateLinux(IPlatformHandle control) { if (ConfigurationState.Instance.Graphics.GraphicsBackend.Value == GraphicsBackend.Vulkan) { X11Window = new GLXWindow(new NativeHandle(X11.DefaultDisplay), new NativeHandle(control.Handle)); + X11Window.Hide(); } else { @@ -227,7 +228,7 @@ namespace Ryujinx.Ava.UI.Renderer } [SupportedOSPlatform("macos")] - IPlatformHandle CreateMacOs() + IPlatformHandle CreateMacOS() { MetalLayer = MetalHelper.GetMetalLayer(out IntPtr nsView, out _updateBoundsCallback); diff --git a/Ryujinx.Ava/UI/Renderer/RendererHost.axaml.cs b/Ryujinx.Ava/UI/Renderer/RendererHost.axaml.cs index 16a46df4..ee10282d 100644 --- a/Ryujinx.Ava/UI/Renderer/RendererHost.axaml.cs +++ b/Ryujinx.Ava/UI/Renderer/RendererHost.axaml.cs @@ -2,14 +2,13 @@ using Avalonia; using Avalonia.Controls; using Ryujinx.Common.Configuration; using Ryujinx.Ui.Common.Configuration; -using Silk.NET.Vulkan; using System; namespace Ryujinx.Ava.UI.Renderer { public partial class RendererHost : UserControl, IDisposable { - public EmbeddedWindow EmbeddedWindow; + public readonly EmbeddedWindow EmbeddedWindow; public event EventHandler<EventArgs> WindowCreated; public event Action<object, Size> SizeChanged; @@ -18,8 +17,6 @@ namespace Ryujinx.Ava.UI.Renderer { InitializeComponent(); - Dispose(); - if (ConfigurationState.Instance.Graphics.GraphicsBackend.Value == GraphicsBackend.OpenGl) { EmbeddedWindow = new EmbeddedWindowOpenGL(); @@ -47,6 +44,8 @@ namespace Ryujinx.Ava.UI.Renderer EmbeddedWindow.WindowCreated -= CurrentWindow_WindowCreated; EmbeddedWindow.SizeChanged -= CurrentWindow_SizeChanged; } + + GC.SuppressFinalize(this); } protected override void OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs e) |