aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTSRBerry <20988865+TSRBerry@users.noreply.github.com>2023-01-16 03:59:41 +0100
committerGitHub <noreply@github.com>2023-01-16 03:59:41 +0100
commite68650237db2d5fd0fb78d9e21378d139338246f (patch)
tree15ea1bcac9356b4ac6762d9837ef6eaedc621291
parent1faff14e73408872dd034114bfc2c3f1044f8d94 (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.cs7
-rw-r--r--Ryujinx.Ava/UI/Renderer/RendererHost.axaml.cs7
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)