mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2025-06-28 13:30:47 -07:00
Avalonia - Use embedded window for avalonia (#3674)
* wip * use embedded window * fix race condition on opengl Windows * fix glx issues on prime nvidia * fix mouse support win32 * clean up * addressed review * addressed review * fix warnings * fix sotware keyboard dialog * Update Ryujinx.Ava/Ui/Applet/SwkbdAppletDialog.axaml.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> * remove double semi Co-authored-by: gdkchan <gab.dark.100@gmail.com>
This commit is contained in:
@ -136,7 +136,7 @@ namespace Ryujinx.Headless.SDL2.OpenGL
|
||||
|
||||
GL.ClearColor(0, 0, 0, 1.0f);
|
||||
GL.Clear(ClearBufferMask.ColorBufferBit);
|
||||
SwapBuffers(0);
|
||||
SwapBuffers();
|
||||
|
||||
Renderer?.Window.SetSize(DefaultWidth, DefaultHeight);
|
||||
MouseDriver.SetClientSize(DefaultWidth, DefaultHeight);
|
||||
@ -156,28 +156,8 @@ namespace Ryujinx.Headless.SDL2.OpenGL
|
||||
_openGLContext.Dispose();
|
||||
}
|
||||
|
||||
protected override void SwapBuffers(object image)
|
||||
protected override void SwapBuffers()
|
||||
{
|
||||
if ((int)image != 0)
|
||||
{
|
||||
// The game's framebruffer is already bound, so blit it to the window's backbuffer
|
||||
GL.BindFramebuffer(FramebufferTarget.DrawFramebuffer, 0);
|
||||
|
||||
GL.Clear(ClearBufferMask.ColorBufferBit);
|
||||
GL.ClearColor(0, 0, 0, 1);
|
||||
|
||||
GL.BlitFramebuffer(0,
|
||||
0,
|
||||
Width,
|
||||
Height,
|
||||
0,
|
||||
0,
|
||||
Width,
|
||||
Height,
|
||||
ClearBufferMask.ColorBufferBit,
|
||||
BlitFramebufferFilter.Linear);
|
||||
}
|
||||
|
||||
SDL_GL_SwapWindow(WindowHandle);
|
||||
}
|
||||
}
|
||||
|
@ -77,6 +77,6 @@ namespace Ryujinx.Headless.SDL2.Vulkan
|
||||
Device.DisposeGpu();
|
||||
}
|
||||
|
||||
protected override void SwapBuffers(object texture) { }
|
||||
protected override void SwapBuffers() { }
|
||||
}
|
||||
}
|
||||
|
@ -157,7 +157,7 @@ namespace Ryujinx.Headless.SDL2
|
||||
|
||||
protected abstract void FinalizeWindowRenderer();
|
||||
|
||||
protected abstract void SwapBuffers(object image);
|
||||
protected abstract void SwapBuffers();
|
||||
|
||||
public abstract SDL_WindowFlags GetWindowFlags();
|
||||
|
||||
@ -202,7 +202,7 @@ namespace Ryujinx.Headless.SDL2
|
||||
|
||||
while (Device.ConsumeFrameAvailable())
|
||||
{
|
||||
Device.PresentFrame((texture) => { SwapBuffers(texture); });
|
||||
Device.PresentFrame(SwapBuffers);
|
||||
}
|
||||
|
||||
if (_ticks >= _ticksPerFrame)
|
||||
|
Reference in New Issue
Block a user