ava: Fix invisible vulkan window on Linux (#3901)

Co-authored-by: emmauss <emmausssss@gmail.com>

Co-authored-by: emmauss <emmausssss@gmail.com>
This commit is contained in:
TSRBerry 2022-11-25 18:40:44 +01:00 committed by GitHub
parent 5d3ef7761b
commit 70f2da8fdf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 3 deletions

View file

@ -6,8 +6,8 @@ using SPB.Graphics;
using SPB.Platform; using SPB.Platform;
using SPB.Platform.GLX; using SPB.Platform.GLX;
using SPB.Platform.X11; using SPB.Platform.X11;
using SPB.Windowing;
using System; using System;
using System.Reflection;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Runtime.Versioning; using System.Runtime.Versioning;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -96,12 +96,14 @@ namespace Ryujinx.Ava.Ui.Controls
[SupportedOSPlatform("linux")] [SupportedOSPlatform("linux")]
IPlatformHandle CreateLinux(IPlatformHandle parent) IPlatformHandle CreateLinux(IPlatformHandle parent)
{ {
X11Window = PlatformHelper.CreateOpenGLWindow(FramebufferFormat.Default, 0, 0, 100, 100) as GLXWindow; X11Window = new GLXWindow(new NativeHandle(X11.DefaultDisplay), new NativeHandle(parent.Handle));
WindowHandle = X11Window.WindowHandle.RawHandle; WindowHandle = X11Window.WindowHandle.RawHandle;
X11Display = X11Window.DisplayHandle.RawHandle; X11Display = X11Window.DisplayHandle.RawHandle;
X11Window.Hide();
return new PlatformHandle(WindowHandle, "X11"); return new PlatformHandle(WindowHandle, "X11");
} }

View file

@ -20,7 +20,7 @@ namespace Ryujinx.Ava.Ui
} }
else if (OperatingSystem.IsLinux()) else if (OperatingSystem.IsLinux())
{ {
_window = X11Window; _window = new SimpleX11Window(new NativeHandle(X11Display), new NativeHandle(WindowHandle));
} }
else else
{ {