Эх сурвалжийг харах

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

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

Co-authored-by: emmauss <emmausssss@gmail.com>
TSRBerry 3 жил өмнө
parent
commit
70f2da8fdf

+ 4 - 2
Ryujinx.Ava/Ui/Controls/EmbeddedWindow.cs

@@ -6,8 +6,8 @@ using SPB.Graphics;
 using SPB.Platform;
 using SPB.Platform.GLX;
 using SPB.Platform.X11;
+using SPB.Windowing;
 using System;
-using System.Reflection;
 using System.Runtime.InteropServices;
 using System.Runtime.Versioning;
 using System.Threading.Tasks;
@@ -96,12 +96,14 @@ namespace Ryujinx.Ava.Ui.Controls
         [SupportedOSPlatform("linux")]
         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;
 
             X11Display = X11Window.DisplayHandle.RawHandle;
 
+            X11Window.Hide();
+
             return new PlatformHandle(WindowHandle, "X11");
         }
 

+ 1 - 1
Ryujinx.Ava/Ui/Controls/VulkanEmbeddedWindow.cs

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