ec6cb0abb4
* misc: Move Ryujinx project to Ryujinx.Gtk3 This breaks release CI for now but that's fine. Signed-off-by: Mary Guillemard <mary@mary.zone> * misc: Move Ryujinx.Ava project to Ryujinx This breaks CI for now, but it's fine. Signed-off-by: Mary Guillemard <mary@mary.zone> * infra: Make Avalonia the default UI Should fix CI after the previous changes. GTK3 isn't build by the release job anymore, only by PR CI. This also ensure that the test-ava update package is still generated to allow update from the old testing channel. Signed-off-by: Mary Guillemard <mary@mary.zone> * Fix missing copy in create_app_bundle.sh Signed-off-by: Mary Guillemard <mary@mary.zone> * Fix syntax error Signed-off-by: Mary Guillemard <mary@mary.zone> --------- Signed-off-by: Mary Guillemard <mary@mary.zone>
49 lines
1.4 KiB
C#
49 lines
1.4 KiB
C#
using OpenTK.Graphics.OpenGL;
|
|
using Ryujinx.Graphics.OpenGL;
|
|
using SPB.Graphics;
|
|
using SPB.Graphics.OpenGL;
|
|
using SPB.Platform;
|
|
using SPB.Windowing;
|
|
|
|
namespace Ryujinx.UI
|
|
{
|
|
class SPBOpenGLContext : IOpenGLContext
|
|
{
|
|
private readonly OpenGLContextBase _context;
|
|
private readonly NativeWindowBase _window;
|
|
|
|
private SPBOpenGLContext(OpenGLContextBase context, NativeWindowBase window)
|
|
{
|
|
_context = context;
|
|
_window = window;
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
_context.Dispose();
|
|
_window.Dispose();
|
|
}
|
|
|
|
public void MakeCurrent()
|
|
{
|
|
_context.MakeCurrent(_window);
|
|
}
|
|
|
|
public bool HasContext() => _context.IsCurrent;
|
|
|
|
public static SPBOpenGLContext CreateBackgroundContext(OpenGLContextBase sharedContext)
|
|
{
|
|
OpenGLContextBase context = PlatformHelper.CreateOpenGLContext(FramebufferFormat.Default, 3, 3, OpenGLContextFlags.Compat, true, sharedContext);
|
|
NativeWindowBase window = PlatformHelper.CreateOpenGLWindow(FramebufferFormat.Default, 0, 0, 100, 100);
|
|
|
|
context.Initialize(window);
|
|
context.MakeCurrent(window);
|
|
|
|
GL.LoadBindings(new OpenToolkitBindingsContext(context));
|
|
|
|
context.MakeCurrent(null);
|
|
|
|
return new SPBOpenGLContext(context, window);
|
|
}
|
|
}
|
|
}
|