mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-06-28 08:56:24 +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
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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', ' ');
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue