diff --git a/MeloNX-XC/MeloNX.xcodeproj/project.xcworkspace/xcuserdata/stossy11.xcuserdatad/UserInterfaceState.xcuserstate b/MeloNX-XC/MeloNX.xcodeproj/project.xcworkspace/xcuserdata/stossy11.xcuserdatad/UserInterfaceState.xcuserstate index 7e64cfd45..9eb4c39f2 100644 Binary files a/MeloNX-XC/MeloNX.xcodeproj/project.xcworkspace/xcuserdata/stossy11.xcuserdatad/UserInterfaceState.xcuserstate and b/MeloNX-XC/MeloNX.xcodeproj/project.xcworkspace/xcuserdata/stossy11.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/MeloNX-XC/MeloNX.xcodeproj/xcuserdata/stossy11.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/MeloNX-XC/MeloNX.xcodeproj/xcuserdata/stossy11.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 561e47f20..f537e98bd 100644 --- a/MeloNX-XC/MeloNX.xcodeproj/xcuserdata/stossy11.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/MeloNX-XC/MeloNX.xcodeproj/xcuserdata/stossy11.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -27,6 +27,36 @@ + + + + + + Void + let configure: () -> Void func makeUIView(context: Context) -> VulkanSDLView { + + configure() + let view = VulkanSDLView(frame: .zero) - DispatchQueue.main.async { [self] in - configure(SDL_GetWindowID(view.sdlWindow)) - } return view } @@ -56,14 +56,7 @@ class VulkanSDLView: UIView { // Create an SDL window with Metal support DispatchQueue.main.async { [self] in - sdlWindow = SDL_CreateWindow( - "Ryujinx", - Int32(SDL_WINDOWPOS_CENTERED_MASK), - Int32(SDL_WINDOWPOS_CENTERED_MASK), - Int32(frame.width), - Int32(frame.height), - SDL_WINDOW_SHOWN.rawValue | SDL_WINDOW_ALLOW_HIGHDPI.rawValue | SDL_WINDOW_VULKAN.rawValue - ) + sdlWindow = SDL_GetWindowFromID(1) } @@ -81,11 +74,11 @@ class VulkanSDLView: UIView { } } - if let metalLayerPointer = SDL_Metal_GetLayer(metalView) { - let metalLayer = Unmanaged.fromOpaque(metalLayerPointer).takeUnretainedValue() - metalLayer.device = MTLCreateSystemDefaultDevice() - metalLayer.pixelFormat = .bgra8Unorm - DispatchQueue.main.async { [self] in + DispatchQueue.main.async { [self] in + if let metalLayerPointer = SDL_Metal_GetLayer(metalView) { + let metalLayer = Unmanaged.fromOpaque(metalLayerPointer).takeUnretainedValue() + metalLayer.device = MTLCreateSystemDefaultDevice() + // metalLayer.pixelFormat = .bgra8Unorm layer.addSublayer(metalLayer) } } diff --git a/src/Ryujinx.Headless.SDL2/WindowBase.cs b/src/Ryujinx.Headless.SDL2/WindowBase.cs index 0c9b0dd19..c9a4ef7da 100644 --- a/src/Ryujinx.Headless.SDL2/WindowBase.cs +++ b/src/Ryujinx.Headless.SDL2/WindowBase.cs @@ -185,10 +185,10 @@ namespace Ryujinx.Headless.SDL2 FullscreenFlag = SDL_WindowFlags.SDL_WINDOW_FULLSCREEN_DESKTOP; } - WindowHandle = SDL_GetWindowFromID(1); + WindowHandle = SDL_CreateWindow($"Ryujinx {Program.Version}{titleNameSection}{titleVersionSection}{titleIdSection}{titleArchSection}", SDL_WINDOWPOS_CENTERED_DISPLAY(DisplayId), SDL_WINDOWPOS_CENTERED_DISPLAY(DisplayId), Width, Height, DefaultFlags | FullscreenFlag | GetWindowFlags()); Logger.Info?.Print(LogClass.Gpu, $"DisplayID: \"{WindowHandle}\""); - //SDL_CreateWindow($"Ryujinx {Program.Version}{titleNameSection}{titleVersionSection}{titleIdSection}{titleArchSection}", SDL_WINDOWPOS_CENTERED_DISPLAY(DisplayId), SDL_WINDOWPOS_CENTERED_DISPLAY(DisplayId), Width, Height, DefaultFlags | FullscreenFlag | GetWindowFlags()); + // SDL_CreateWindow($"Ryujinx {Program.Version}{titleNameSection}{titleVersionSection}{titleIdSection}{titleArchSection}", SDL_WINDOWPOS_CENTERED_DISPLAY(DisplayId), SDL_WINDOWPOS_CENTERED_DISPLAY(DisplayId), Width, Height, DefaultFlags | FullscreenFlag | GetWindowFlags()); if (WindowHandle == IntPtr.Zero) { @@ -217,9 +217,9 @@ namespace Ryujinx.Headless.SDL2 // As we don't need this to fire in either case we can test for fullscreen. if (!IsFullscreen && !IsExclusiveFullscreen) { - // Width = evnt.window.data1; - // Height = evnt.window.data2; - // Renderer?.Window.SetSize(Width, Height); + Width = evnt.window.data1; + Height = evnt.window.data2; + Renderer?.Window.SetSize(Width, Height); // MouseDriver.SetClientSize(Width, Height); // if (Renderer != null && Renderer.Window != null) // {