mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-07-18 22:56:29 +02:00
misc: Replace references to IntPtr/UIntPtr with nint/nuint + code cleanups.
This commit is contained in:
parent
a09d314817
commit
dfb4854d19
172 changed files with 902 additions and 914 deletions
|
@ -40,7 +40,7 @@ namespace Ryujinx.Headless.SDL2.OpenGL
|
|||
|
||||
private class OpenToolkitBindingsContext : IBindingsContext
|
||||
{
|
||||
public IntPtr GetProcAddress(string procName)
|
||||
public nint GetProcAddress(string procName)
|
||||
{
|
||||
return SDL_GL_GetProcAddress(procName);
|
||||
}
|
||||
|
@ -48,11 +48,11 @@ namespace Ryujinx.Headless.SDL2.OpenGL
|
|||
|
||||
private class SDL2OpenGLContext : IOpenGLContext
|
||||
{
|
||||
private readonly IntPtr _context;
|
||||
private readonly IntPtr _window;
|
||||
private readonly nint _context;
|
||||
private readonly nint _window;
|
||||
private readonly bool _shouldDisposeWindow;
|
||||
|
||||
public SDL2OpenGLContext(IntPtr context, IntPtr window, bool shouldDisposeWindow = true)
|
||||
public SDL2OpenGLContext(nint context, nint window, bool shouldDisposeWindow = true)
|
||||
{
|
||||
_context = context;
|
||||
_window = window;
|
||||
|
@ -65,14 +65,14 @@ namespace Ryujinx.Headless.SDL2.OpenGL
|
|||
|
||||
// Ensure we share our contexts.
|
||||
SetupOpenGLAttributes(true, GraphicsDebugLevel.None);
|
||||
IntPtr windowHandle = SDL_CreateWindow("Ryujinx background context window", 0, 0, 1, 1, SDL_WindowFlags.SDL_WINDOW_OPENGL | SDL_WindowFlags.SDL_WINDOW_HIDDEN);
|
||||
IntPtr context = SDL_GL_CreateContext(windowHandle);
|
||||
nint windowHandle = SDL_CreateWindow("Ryujinx background context window", 0, 0, 1, 1, SDL_WindowFlags.SDL_WINDOW_OPENGL | SDL_WindowFlags.SDL_WINDOW_HIDDEN);
|
||||
nint context = SDL_GL_CreateContext(windowHandle);
|
||||
|
||||
GL.LoadBindings(new OpenToolkitBindingsContext());
|
||||
|
||||
CheckResult(SDL_GL_SetAttribute(SDL_GLattr.SDL_GL_SHARE_WITH_CURRENT_CONTEXT, 0));
|
||||
|
||||
CheckResult(SDL_GL_MakeCurrent(windowHandle, IntPtr.Zero));
|
||||
CheckResult(SDL_GL_MakeCurrent(windowHandle, nint.Zero));
|
||||
|
||||
return new SDL2OpenGLContext(context, windowHandle);
|
||||
}
|
||||
|
@ -96,7 +96,7 @@ namespace Ryujinx.Headless.SDL2.OpenGL
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasContext() => SDL_GL_GetCurrentContext() != IntPtr.Zero;
|
||||
public bool HasContext() => SDL_GL_GetCurrentContext() != nint.Zero;
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
|
@ -129,10 +129,10 @@ namespace Ryujinx.Headless.SDL2.OpenGL
|
|||
{
|
||||
// Ensure to not share this context with other contexts before this point.
|
||||
SetupOpenGLAttributes(false, _glLogLevel);
|
||||
IntPtr context = SDL_GL_CreateContext(WindowHandle);
|
||||
nint context = SDL_GL_CreateContext(WindowHandle);
|
||||
CheckResult(SDL_GL_SetSwapInterval(1));
|
||||
|
||||
if (context == IntPtr.Zero)
|
||||
if (context == nint.Zero)
|
||||
{
|
||||
string errorMessage = $"SDL_GL_CreateContext failed with error \"{SDL_GetError()}\"";
|
||||
|
||||
|
@ -190,7 +190,7 @@ namespace Ryujinx.Headless.SDL2.OpenGL
|
|||
Device.DisposeGpu();
|
||||
|
||||
// Unbind context and destroy everything
|
||||
CheckResult(SDL_GL_MakeCurrent(WindowHandle, IntPtr.Zero));
|
||||
CheckResult(SDL_GL_MakeCurrent(WindowHandle, nint.Zero));
|
||||
_openGLContext.Dispose();
|
||||
}
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ namespace Ryujinx.Headless.SDL2.Vulkan
|
|||
action();
|
||||
}
|
||||
|
||||
public IntPtr CreateWindowSurface(IntPtr instance)
|
||||
public nint CreateWindowSurface(nint instance)
|
||||
{
|
||||
ulong surfaceHandle = 0;
|
||||
|
||||
|
@ -71,19 +71,19 @@ namespace Ryujinx.Headless.SDL2.Vulkan
|
|||
CreateSurface();
|
||||
}
|
||||
|
||||
return (IntPtr)surfaceHandle;
|
||||
return (nint)surfaceHandle;
|
||||
}
|
||||
|
||||
public unsafe string[] GetRequiredInstanceExtensions()
|
||||
{
|
||||
if (SDL_Vulkan_GetInstanceExtensions(WindowHandle, out uint extensionsCount, IntPtr.Zero) == SDL_bool.SDL_TRUE)
|
||||
if (SDL_Vulkan_GetInstanceExtensions(WindowHandle, out uint extensionsCount, nint.Zero) == SDL_bool.SDL_TRUE)
|
||||
{
|
||||
IntPtr[] rawExtensions = new IntPtr[(int)extensionsCount];
|
||||
nint[] rawExtensions = new nint[(int)extensionsCount];
|
||||
string[] extensions = new string[(int)extensionsCount];
|
||||
|
||||
fixed (IntPtr* rawExtensionsPtr = rawExtensions)
|
||||
fixed (nint* rawExtensionsPtr = rawExtensions)
|
||||
{
|
||||
if (SDL_Vulkan_GetInstanceExtensions(WindowHandle, out extensionsCount, (IntPtr)rawExtensionsPtr) == SDL_bool.SDL_TRUE)
|
||||
if (SDL_Vulkan_GetInstanceExtensions(WindowHandle, out extensionsCount, (nint)rawExtensionsPtr) == SDL_bool.SDL_TRUE)
|
||||
{
|
||||
for (int i = 0; i < extensions.Length; i++)
|
||||
{
|
||||
|
|
|
@ -38,7 +38,7 @@ namespace Ryujinx.Headless.SDL2
|
|||
|
||||
[LibraryImport("SDL2")]
|
||||
// TODO: Remove this as soon as SDL2-CS was updated to expose this method publicly
|
||||
private static partial IntPtr SDL_LoadBMP_RW(IntPtr src, int freesrc);
|
||||
private static partial nint SDL_LoadBMP_RW(nint src, int freesrc);
|
||||
|
||||
public static void QueueMainThreadAction(Action action)
|
||||
{
|
||||
|
@ -52,7 +52,7 @@ namespace Ryujinx.Headless.SDL2
|
|||
|
||||
public event EventHandler<StatusUpdatedEventArgs> StatusUpdatedEvent;
|
||||
|
||||
protected IntPtr WindowHandle { get; set; }
|
||||
protected nint WindowHandle { get; set; }
|
||||
|
||||
public IHostUITheme HostUITheme { get; }
|
||||
public int Width { get; private set; }
|
||||
|
@ -148,8 +148,8 @@ namespace Ryujinx.Headless.SDL2
|
|||
{
|
||||
fixed (byte* iconPtr = iconBytes)
|
||||
{
|
||||
IntPtr rwOpsStruct = SDL_RWFromConstMem((IntPtr)iconPtr, iconBytes.Length);
|
||||
IntPtr iconHandle = SDL_LoadBMP_RW(rwOpsStruct, 1);
|
||||
nint rwOpsStruct = SDL_RWFromConstMem((nint)iconPtr, iconBytes.Length);
|
||||
nint iconHandle = SDL_LoadBMP_RW(rwOpsStruct, 1);
|
||||
|
||||
SDL_SetWindowIcon(WindowHandle, iconHandle);
|
||||
SDL_FreeSurface(iconHandle);
|
||||
|
@ -187,7 +187,7 @@ namespace Ryujinx.Headless.SDL2
|
|||
|
||||
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());
|
||||
|
||||
if (WindowHandle == IntPtr.Zero)
|
||||
if (WindowHandle == nint.Zero)
|
||||
{
|
||||
string errorMessage = $"SDL_CreateWindow failed with error \"{SDL_GetError()}\"";
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue