misc: Replace references to IntPtr/UIntPtr with nint/nuint + code cleanups.

This commit is contained in:
Evan Husted 2024-10-26 08:46:41 -05:00
parent a09d314817
commit dfb4854d19
172 changed files with 902 additions and 914 deletions

View file

@ -19,11 +19,11 @@ namespace Ryujinx.Graphics.OpenGL
GL.ClearBufferSubData(
BufferTarget.CopyWriteBuffer,
PixelInternalFormat.Rgba8ui,
(IntPtr)offset,
(IntPtr)size,
(nint)offset,
(nint)size,
PixelFormat.RgbaInteger,
PixelType.UnsignedByte,
(IntPtr)valueArr);
(nint)valueArr);
}
}
@ -37,7 +37,7 @@ namespace Ryujinx.Graphics.OpenGL
int handle = GL.GenBuffer();
GL.BindBuffer(BufferTarget.CopyWriteBuffer, handle);
GL.BufferData(BufferTarget.CopyWriteBuffer, size, IntPtr.Zero, BufferUsageHint.DynamicDraw);
GL.BufferData(BufferTarget.CopyWriteBuffer, size, nint.Zero, BufferUsageHint.DynamicDraw);
return Handle.FromInt32<BufferHandle>(handle);
}
@ -47,7 +47,7 @@ namespace Ryujinx.Graphics.OpenGL
int handle = GL.GenBuffer();
GL.BindBuffer(BufferTarget.CopyWriteBuffer, handle);
GL.BufferStorage(BufferTarget.CopyWriteBuffer, size, IntPtr.Zero,
GL.BufferStorage(BufferTarget.CopyWriteBuffer, size, nint.Zero,
BufferStorageFlags.MapPersistentBit |
BufferStorageFlags.MapCoherentBit |
BufferStorageFlags.ClientStorageBit |
@ -64,9 +64,9 @@ namespace Ryujinx.Graphics.OpenGL
GL.CopyBufferSubData(
BufferTarget.CopyReadBuffer,
BufferTarget.CopyWriteBuffer,
(IntPtr)srcOffset,
(IntPtr)dstOffset,
(IntPtr)size);
(nint)srcOffset,
(nint)dstOffset,
(nint)size);
}
public static unsafe PinnedSpan<byte> GetData(OpenGLRenderer renderer, BufferHandle buffer, int offset, int size)
@ -74,9 +74,9 @@ namespace Ryujinx.Graphics.OpenGL
// Data in the persistent buffer and host array is guaranteed to be available
// until the next time the host thread requests data.
if (renderer.PersistentBuffers.TryGet(buffer, out IntPtr ptr))
if (renderer.PersistentBuffers.TryGet(buffer, out nint ptr))
{
return new PinnedSpan<byte>(IntPtr.Add(ptr, offset).ToPointer(), size);
return new PinnedSpan<byte>(nint.Add(ptr, offset).ToPointer(), size);
}
else if (HwCapabilities.UsePersistentBufferForFlush)
{
@ -84,11 +84,11 @@ namespace Ryujinx.Graphics.OpenGL
}
else
{
IntPtr target = renderer.PersistentBuffers.Default.GetHostArray(size);
nint target = renderer.PersistentBuffers.Default.GetHostArray(size);
GL.BindBuffer(BufferTarget.CopyReadBuffer, buffer.ToInt32());
GL.GetBufferSubData(BufferTarget.CopyReadBuffer, (IntPtr)offset, size, target);
GL.GetBufferSubData(BufferTarget.CopyReadBuffer, (nint)offset, size, target);
return new PinnedSpan<byte>(target.ToPointer(), size);
}
@ -97,7 +97,7 @@ namespace Ryujinx.Graphics.OpenGL
public static void Resize(BufferHandle handle, int size)
{
GL.BindBuffer(BufferTarget.CopyWriteBuffer, handle.ToInt32());
GL.BufferData(BufferTarget.CopyWriteBuffer, size, IntPtr.Zero, BufferUsageHint.StreamCopy);
GL.BufferData(BufferTarget.CopyWriteBuffer, size, nint.Zero, BufferUsageHint.StreamCopy);
}
public static void SetData(BufferHandle buffer, int offset, ReadOnlySpan<byte> data)
@ -108,7 +108,7 @@ namespace Ryujinx.Graphics.OpenGL
{
fixed (byte* ptr = data)
{
GL.BufferSubData(BufferTarget.CopyWriteBuffer, (IntPtr)offset, data.Length, (IntPtr)ptr);
GL.BufferSubData(BufferTarget.CopyWriteBuffer, (nint)offset, data.Length, (nint)ptr);
}
}
}

View file

@ -21,7 +21,7 @@ namespace Ryujinx.Graphics.OpenGL
if (logLevel == GraphicsDebugLevel.None)
{
GL.Disable(EnableCap.DebugOutputSynchronous);
GL.DebugMessageCallback(null, IntPtr.Zero);
GL.DebugMessageCallback(null, nint.Zero);
return;
}
@ -45,7 +45,7 @@ namespace Ryujinx.Graphics.OpenGL
_counter = 0;
_debugCallback = GLDebugHandler;
GL.DebugMessageCallback(_debugCallback, IntPtr.Zero);
GL.DebugMessageCallback(_debugCallback, nint.Zero);
Logger.Warning?.Print(LogClass.Gpu, "OpenGL Debugging is enabled. Performance will be negatively impacted.");
}
@ -56,8 +56,8 @@ namespace Ryujinx.Graphics.OpenGL
int id,
DebugSeverity severity,
int length,
IntPtr message,
IntPtr userParam)
nint message,
nint userParam)
{
string msg = Marshal.PtrToStringUTF8(message).Replace('\n', ' ');

View file

@ -15,14 +15,14 @@ namespace Ryujinx.Graphics.OpenGL.Helper
{
if (name != LibraryName)
{
return IntPtr.Zero;
return nint.Zero;
}
if (!NativeLibrary.TryLoad("libGL.so.1", assembly, path, out IntPtr result))
if (!NativeLibrary.TryLoad("libGL.so.1", assembly, path, out nint result))
{
if (!NativeLibrary.TryLoad("libGL.so", assembly, path, out result))
{
return IntPtr.Zero;
return nint.Zero;
}
}
@ -31,6 +31,6 @@ namespace Ryujinx.Graphics.OpenGL.Helper
}
[LibraryImport(LibraryName, EntryPoint = "glXGetCurrentContext")]
public static partial IntPtr GetCurrentContext();
public static partial nint GetCurrentContext();
}
}

View file

@ -10,6 +10,6 @@ namespace Ryujinx.Graphics.OpenGL.Helper
private const string LibraryName = "OPENGL32.DLL";
[LibraryImport(LibraryName, EntryPoint = "wglGetCurrentContext")]
public static partial IntPtr GetCurrentContext();
public static partial nint GetCurrentContext();
}
}

View file

@ -97,7 +97,7 @@ namespace Ryujinx.Graphics.OpenGL.Image
SizedInternalFormat format = (SizedInternalFormat)FormatTable.GetFormatInfo(Info.Format).PixelInternalFormat;
GL.TexBufferRange(TextureBufferTarget.TextureBuffer, format, _buffer.ToInt32(), (IntPtr)buffer.Offset, buffer.Size);
GL.TexBufferRange(TextureBufferTarget.TextureBuffer, format, _buffer.ToInt32(), (nint)buffer.Offset, buffer.Size);
}
public void Dispose()

View file

@ -464,7 +464,7 @@ namespace Ryujinx.Graphics.OpenGL.Image
_copyPboSize = requiredSize;
GL.BindBuffer(BufferTarget.PixelPackBuffer, _copyPboHandle);
GL.BufferData(BufferTarget.PixelPackBuffer, requiredSize, IntPtr.Zero, BufferUsageHint.DynamicCopy);
GL.BufferData(BufferTarget.PixelPackBuffer, requiredSize, nint.Zero, BufferUsageHint.DynamicCopy);
}
}

View file

@ -282,7 +282,7 @@ namespace Ryujinx.Graphics.OpenGL.Image
}
else
{
IntPtr target = _renderer.PersistentBuffers.Default.GetHostArray(size);
nint target = _renderer.PersistentBuffers.Default.GetHostArray(size);
WriteTo(target);
@ -307,7 +307,7 @@ namespace Ryujinx.Graphics.OpenGL.Image
}
else
{
IntPtr target = _renderer.PersistentBuffers.Default.GetHostArray(size);
nint target = _renderer.PersistentBuffers.Default.GetHostArray(size);
int offset = WriteTo2D(target, layer, level);
@ -339,15 +339,15 @@ namespace Ryujinx.Graphics.OpenGL.Image
public void WriteToPbo(int offset, bool forceBgra)
{
WriteTo(IntPtr.Zero + offset, forceBgra);
WriteTo(nint.Zero + offset, forceBgra);
}
public int WriteToPbo2D(int offset, int layer, int level)
{
return WriteTo2D(IntPtr.Zero + offset, layer, level);
return WriteTo2D(nint.Zero + offset, layer, level);
}
private int WriteTo2D(IntPtr data, int layer, int level)
private int WriteTo2D(nint data, int layer, int level)
{
TextureTarget target = Target.Convert();
@ -390,7 +390,7 @@ namespace Ryujinx.Graphics.OpenGL.Image
return 0;
}
private void WriteTo(IntPtr data, bool forceBgra = false)
private void WriteTo(nint data, bool forceBgra = false)
{
TextureTarget target = Target.Convert();
@ -457,7 +457,7 @@ namespace Ryujinx.Graphics.OpenGL.Image
var dataSpan = data.Span;
fixed (byte* ptr = dataSpan)
{
ReadFrom((IntPtr)ptr, dataSpan.Length);
ReadFrom((nint)ptr, dataSpan.Length);
}
}
}
@ -474,7 +474,7 @@ namespace Ryujinx.Graphics.OpenGL.Image
int width = Math.Max(Info.Width >> level, 1);
int height = Math.Max(Info.Height >> level, 1);
ReadFrom2D((IntPtr)ptr, layer, level, 0, 0, width, height);
ReadFrom2D((nint)ptr, layer, level, 0, 0, width, height);
}
}
}
@ -492,7 +492,7 @@ namespace Ryujinx.Graphics.OpenGL.Image
fixed (byte* ptr = data.Span)
{
ReadFrom2D(
(IntPtr)ptr,
(nint)ptr,
layer,
level,
region.X,
@ -507,15 +507,15 @@ namespace Ryujinx.Graphics.OpenGL.Image
public void ReadFromPbo(int offset, int size)
{
ReadFrom(IntPtr.Zero + offset, size);
ReadFrom(nint.Zero + offset, size);
}
public void ReadFromPbo2D(int offset, int layer, int level, int width, int height)
{
ReadFrom2D(IntPtr.Zero + offset, layer, level, 0, 0, width, height);
ReadFrom2D(nint.Zero + offset, layer, level, 0, 0, width, height);
}
private void ReadFrom2D(IntPtr data, int layer, int level, int x, int y, int width, int height)
private void ReadFrom2D(nint data, int layer, int level, int x, int y, int width, int height)
{
int mipSize = Info.GetMipSize2D(level);
@ -535,7 +535,7 @@ namespace Ryujinx.Graphics.OpenGL.Image
return data;
}
private void ReadFrom2D(IntPtr data, int layer, int level, int x, int y, int width, int height, int mipSize)
private void ReadFrom2D(nint data, int layer, int level, int x, int y, int width, int height, int mipSize)
{
TextureTarget target = Target.Convert();
@ -694,7 +694,7 @@ namespace Ryujinx.Graphics.OpenGL.Image
}
}
private void ReadFrom(IntPtr data, int size)
private void ReadFrom(nint data, int size)
{
TextureTarget target = Target.Convert();
int baseLevel = 0;

View file

@ -14,7 +14,7 @@ namespace Ryujinx.Graphics.OpenGL
private readonly PersistentBuffer _main = new();
private readonly PersistentBuffer _background = new();
private readonly Dictionary<BufferHandle, IntPtr> _maps = new();
private readonly Dictionary<BufferHandle, nint> _maps = new();
public PersistentBuffer Default => BackgroundContextWorker.InBackground ? _background : _main;
@ -27,7 +27,7 @@ namespace Ryujinx.Graphics.OpenGL
public void Map(BufferHandle handle, int size)
{
GL.BindBuffer(BufferTarget.CopyWriteBuffer, handle.ToInt32());
IntPtr ptr = GL.MapBufferRange(BufferTarget.CopyWriteBuffer, IntPtr.Zero, size, BufferAccessMask.MapReadBit | BufferAccessMask.MapPersistentBit);
nint ptr = GL.MapBufferRange(BufferTarget.CopyWriteBuffer, nint.Zero, size, BufferAccessMask.MapReadBit | BufferAccessMask.MapPersistentBit);
_maps[handle] = ptr;
}
@ -43,7 +43,7 @@ namespace Ryujinx.Graphics.OpenGL
}
}
public bool TryGet(BufferHandle handle, out IntPtr ptr)
public bool TryGet(BufferHandle handle, out nint ptr)
{
return _maps.TryGetValue(handle, out ptr);
}
@ -51,12 +51,12 @@ namespace Ryujinx.Graphics.OpenGL
class PersistentBuffer : IDisposable
{
private IntPtr _bufferMap;
private nint _bufferMap;
private int _copyBufferHandle;
private int _copyBufferSize;
private byte[] _data;
private IntPtr _dataMap;
private nint _dataMap;
private void EnsureBuffer(int requiredSize)
{
@ -73,19 +73,19 @@ namespace Ryujinx.Graphics.OpenGL
_copyBufferSize = requiredSize;
GL.BindBuffer(BufferTarget.CopyWriteBuffer, _copyBufferHandle);
GL.BufferStorage(BufferTarget.CopyWriteBuffer, requiredSize, IntPtr.Zero, BufferStorageFlags.MapReadBit | BufferStorageFlags.MapPersistentBit);
GL.BufferStorage(BufferTarget.CopyWriteBuffer, requiredSize, nint.Zero, BufferStorageFlags.MapReadBit | BufferStorageFlags.MapPersistentBit);
_bufferMap = GL.MapBufferRange(BufferTarget.CopyWriteBuffer, IntPtr.Zero, requiredSize, BufferAccessMask.MapReadBit | BufferAccessMask.MapPersistentBit);
_bufferMap = GL.MapBufferRange(BufferTarget.CopyWriteBuffer, nint.Zero, requiredSize, BufferAccessMask.MapReadBit | BufferAccessMask.MapPersistentBit);
}
}
public unsafe IntPtr GetHostArray(int requiredSize)
public unsafe nint GetHostArray(int requiredSize)
{
if (_data == null || _data.Length < requiredSize)
{
_data = GC.AllocateUninitializedArray<byte>(requiredSize, true);
_dataMap = (IntPtr)Unsafe.AsPointer(ref MemoryMarshal.GetArrayDataReference(_data));
_dataMap = (nint)Unsafe.AsPointer(ref MemoryMarshal.GetArrayDataReference(_data));
}
return _dataMap;
@ -95,7 +95,7 @@ namespace Ryujinx.Graphics.OpenGL
{
GL.MemoryBarrier(MemoryBarrierFlags.ClientMappedBufferBarrierBit);
IntPtr sync = GL.FenceSync(SyncCondition.SyncGpuCommandsComplete, WaitSyncFlags.None);
nint sync = GL.FenceSync(SyncCondition.SyncGpuCommandsComplete, WaitSyncFlags.None);
WaitSyncStatus syncResult = GL.ClientWaitSync(sync, ClientWaitSyncFlags.SyncFlushCommandsBit, 1000000000);
if (syncResult == WaitSyncStatus.TimeoutExpired)
@ -143,7 +143,7 @@ namespace Ryujinx.Graphics.OpenGL
GL.BindBuffer(BufferTarget.CopyReadBuffer, buffer.ToInt32());
GL.BindBuffer(BufferTarget.CopyWriteBuffer, _copyBufferHandle);
GL.CopyBufferSubData(BufferTarget.CopyReadBuffer, BufferTarget.CopyWriteBuffer, (IntPtr)offset, IntPtr.Zero, size);
GL.CopyBufferSubData(BufferTarget.CopyReadBuffer, BufferTarget.CopyWriteBuffer, (nint)offset, nint.Zero, size);
GL.BindBuffer(BufferTarget.CopyWriteBuffer, 0);

View file

@ -23,7 +23,7 @@ namespace Ryujinx.Graphics.OpenGL
private VertexArray _vertexArray;
private Framebuffer _framebuffer;
private IntPtr _indexBaseOffset;
private nint _indexBaseOffset;
private DrawElementsType _elementsType;
@ -358,7 +358,7 @@ namespace Ryujinx.Graphics.OpenGL
break;
}
IntPtr indexBaseOffset = _indexBaseOffset + firstIndex * indexElemSize;
nint indexBaseOffset = _indexBaseOffset + firstIndex * indexElemSize;
if (_primitiveType == PrimitiveType.Quads && !HwCapabilities.SupportsQuads)
{
@ -396,7 +396,7 @@ namespace Ryujinx.Graphics.OpenGL
private void DrawQuadsIndexedImpl(
int indexCount,
int instanceCount,
IntPtr indexBaseOffset,
nint indexBaseOffset,
int indexElemSize,
int firstVertex,
int firstInstance)
@ -447,7 +447,7 @@ namespace Ryujinx.Graphics.OpenGL
}
else
{
IntPtr[] indices = new IntPtr[quadsCount];
nint[] indices = new nint[quadsCount];
int[] counts = new int[quadsCount];
@ -475,7 +475,7 @@ namespace Ryujinx.Graphics.OpenGL
private void DrawQuadStripIndexedImpl(
int indexCount,
int instanceCount,
IntPtr indexBaseOffset,
nint indexBaseOffset,
int indexElemSize,
int firstVertex,
int firstInstance)
@ -483,7 +483,7 @@ namespace Ryujinx.Graphics.OpenGL
// TODO: Instanced rendering.
int quadsCount = (indexCount - 2) / 2;
IntPtr[] indices = new IntPtr[quadsCount];
nint[] indices = new nint[quadsCount];
int[] counts = new int[quadsCount];
@ -516,7 +516,7 @@ namespace Ryujinx.Graphics.OpenGL
private void DrawIndexedImpl(
int indexCount,
int instanceCount,
IntPtr indexBaseOffset,
nint indexBaseOffset,
int firstVertex,
int firstInstance)
{
@ -589,7 +589,7 @@ namespace Ryujinx.Graphics.OpenGL
GL.BindBuffer((BufferTarget)All.DrawIndirectBuffer, indirectBuffer.Handle.ToInt32());
GL.DrawElementsIndirect(_primitiveType, _elementsType, (IntPtr)indirectBuffer.Offset);
GL.DrawElementsIndirect(_primitiveType, _elementsType, (nint)indirectBuffer.Offset);
_vertexArray.RestoreIndexBuffer();
@ -614,8 +614,8 @@ namespace Ryujinx.Graphics.OpenGL
GL.MultiDrawElementsIndirectCount(
_primitiveType,
(All)_elementsType,
(IntPtr)indirectBuffer.Offset,
(IntPtr)parameterBuffer.Offset,
(nint)indirectBuffer.Offset,
(nint)parameterBuffer.Offset,
maxDrawCount,
stride);
@ -636,7 +636,7 @@ namespace Ryujinx.Graphics.OpenGL
GL.BindBuffer((BufferTarget)All.DrawIndirectBuffer, indirectBuffer.Handle.ToInt32());
GL.DrawArraysIndirect(_primitiveType, (IntPtr)indirectBuffer.Offset);
GL.DrawArraysIndirect(_primitiveType, (nint)indirectBuffer.Offset);
PostDraw();
}
@ -656,8 +656,8 @@ namespace Ryujinx.Graphics.OpenGL
GL.MultiDrawArraysIndirectCount(
_primitiveType,
(IntPtr)indirectBuffer.Offset,
(IntPtr)parameterBuffer.Offset,
(nint)indirectBuffer.Offset,
(nint)parameterBuffer.Offset,
maxDrawCount,
stride);
@ -972,7 +972,7 @@ namespace Ryujinx.Graphics.OpenGL
{
_elementsType = type.Convert();
_indexBaseOffset = (IntPtr)buffer.Offset;
_indexBaseOffset = (nint)buffer.Offset;
EnsureVertexArray();
@ -1450,11 +1450,11 @@ namespace Ryujinx.Graphics.OpenGL
if (buffer.Handle == BufferHandle.Null)
{
GL.BindBufferRange(target, assignment.Binding, 0, IntPtr.Zero, 0);
GL.BindBufferRange(target, assignment.Binding, 0, nint.Zero, 0);
continue;
}
GL.BindBufferRange(target, assignment.Binding, buffer.Handle.ToInt32(), (IntPtr)buffer.Offset, buffer.Size);
GL.BindBufferRange(target, assignment.Binding, buffer.Handle.ToInt32(), (nint)buffer.Offset, buffer.Size);
}
}

View file

@ -86,7 +86,7 @@ namespace Ryujinx.Graphics.OpenGL
{
fixed (byte* ptr = code)
{
GL.ProgramBinary(Handle, binaryFormat, (IntPtr)ptr, code.Length - 4);
GL.ProgramBinary(Handle, binaryFormat, (nint)ptr, code.Length - 4);
}
}
}

View file

@ -15,7 +15,7 @@ namespace Ryujinx.Graphics.OpenGL.Queries
public int Query { get; }
private readonly int _buffer;
private readonly IntPtr _bufferMap;
private readonly nint _bufferMap;
private readonly QueryTarget _type;
public BufferedQuery(QueryTarget type)
@ -29,9 +29,9 @@ namespace Ryujinx.Graphics.OpenGL.Queries
unsafe
{
long defaultValue = DefaultValue;
GL.BufferStorage(BufferTarget.QueryBuffer, sizeof(long), (IntPtr)(&defaultValue), BufferStorageFlags.MapReadBit | BufferStorageFlags.MapWriteBit | BufferStorageFlags.MapPersistentBit);
GL.BufferStorage(BufferTarget.QueryBuffer, sizeof(long), (nint)(&defaultValue), BufferStorageFlags.MapReadBit | BufferStorageFlags.MapWriteBit | BufferStorageFlags.MapPersistentBit);
}
_bufferMap = GL.MapBufferRange(BufferTarget.QueryBuffer, IntPtr.Zero, sizeof(long), BufferAccessMask.MapReadBit | BufferAccessMask.MapWriteBit | BufferAccessMask.MapPersistentBit);
_bufferMap = GL.MapBufferRange(BufferTarget.QueryBuffer, nint.Zero, sizeof(long), BufferAccessMask.MapReadBit | BufferAccessMask.MapWriteBit | BufferAccessMask.MapPersistentBit);
}
public void Reset()

View file

@ -11,7 +11,7 @@ namespace Ryujinx.Graphics.OpenGL
private class SyncHandle
{
public ulong ID;
public IntPtr Handle;
public nint Handle;
}
private ulong _firstHandle = 0;
@ -50,7 +50,7 @@ namespace Ryujinx.Graphics.OpenGL
{
lock (handle)
{
if (handle.Handle == IntPtr.Zero)
if (handle.Handle == nint.Zero)
{
continue;
}
@ -96,7 +96,7 @@ namespace Ryujinx.Graphics.OpenGL
{
lock (result)
{
if (result.Handle == IntPtr.Zero)
if (result.Handle == nint.Zero)
{
return;
}
@ -140,7 +140,7 @@ namespace Ryujinx.Graphics.OpenGL
_firstHandle = first.ID + 1;
_handles.RemoveAt(0);
GL.DeleteSync(first.Handle);
first.Handle = IntPtr.Zero;
first.Handle = nint.Zero;
}
}
}
@ -161,7 +161,7 @@ namespace Ryujinx.Graphics.OpenGL
lock (handle)
{
GL.DeleteSync(handle.Handle);
handle.Handle = IntPtr.Zero;
handle.Handle = nint.Zero;
}
}

View file

@ -56,7 +56,7 @@ namespace Ryujinx.Graphics.OpenGL
minVertexCount = vertexCount;
}
GL.BindVertexBuffer(bindingIndex, vb.Buffer.Handle.ToInt32(), (IntPtr)vb.Buffer.Offset, vb.Stride);
GL.BindVertexBuffer(bindingIndex, vb.Buffer.Handle.ToInt32(), (nint)vb.Buffer.Offset, vb.Stride);
GL.VertexBindingDivisor(bindingIndex, vb.Divisor);
_vertexBuffersInUse |= 1u << bindingIndex;
}
@ -64,7 +64,7 @@ namespace Ryujinx.Graphics.OpenGL
{
if ((_vertexBuffersInUse & (1u << bindingIndex)) != 0)
{
GL.BindVertexBuffer(bindingIndex, 0, IntPtr.Zero, 0);
GL.BindVertexBuffer(bindingIndex, 0, nint.Zero, 0);
_vertexBuffersInUse &= ~(1u << bindingIndex);
}
}
@ -188,7 +188,7 @@ namespace Ryujinx.Graphics.OpenGL
Buffer.Copy(vb.Buffer.Handle, tempVertexBuffer, vb.Buffer.Offset, currentTempVbOffset, vb.Buffer.Size);
Buffer.Clear(tempVertexBuffer, currentTempVbOffset + vb.Buffer.Size, requiredSize - vb.Buffer.Size, 0);
GL.BindVertexBuffer(vbIndex, tempVertexBuffer.ToInt32(), (IntPtr)currentTempVbOffset, vb.Stride);
GL.BindVertexBuffer(vbIndex, tempVertexBuffer.ToInt32(), (nint)currentTempVbOffset, vb.Stride);
currentTempVbOffset += requiredSize;
_vertexBuffersLimited |= 1u << vbIndex;
@ -234,7 +234,7 @@ namespace Ryujinx.Graphics.OpenGL
ref var vb = ref _vertexBuffers[vbIndex];
GL.BindVertexBuffer(vbIndex, vb.Buffer.Handle.ToInt32(), (IntPtr)vb.Buffer.Offset, vb.Stride);
GL.BindVertexBuffer(vbIndex, vb.Buffer.Handle.ToInt32(), (nint)vb.Buffer.Offset, vb.Stride);
buffersLimited &= ~(1u << vbIndex);
}