diff options
author | jhorv <38920027+jhorv@users.noreply.github.com> | 2024-07-15 18:21:53 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-15 19:21:53 -0300 |
commit | a6dbb2ad2b7e1e0ed704dc33066f832e2cdd6a4a (patch) | |
tree | d9b1384680416cde0a5ee9addf741bc43c5a73bf | |
parent | 595e514f1804ee2da31ff1b24c2facfc120386d1 (diff) |
replace ByteMemoryPool usage in Ryujinx.HLE (#6953)1.1.1347
-rw-r--r-- | src/Ryujinx.HLE/HOS/Services/ServerBase.cs | 4 | ||||
-rw-r--r-- | src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/IHOSBinderDriver.cs | 4 | ||||
-rw-r--r-- | src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/Parcel.cs | 7 |
3 files changed, 7 insertions, 8 deletions
diff --git a/src/Ryujinx.HLE/HOS/Services/ServerBase.cs b/src/Ryujinx.HLE/HOS/Services/ServerBase.cs index 5e18d798..f67699b9 100644 --- a/src/Ryujinx.HLE/HOS/Services/ServerBase.cs +++ b/src/Ryujinx.HLE/HOS/Services/ServerBase.cs @@ -474,9 +474,9 @@ namespace Ryujinx.HLE.HOS.Services { const int MessageSize = 0x100; - using IMemoryOwner<byte> reqDataOwner = ByteMemoryPool.Rent(MessageSize); + using SpanOwner<byte> reqDataOwner = SpanOwner<byte>.Rent(MessageSize); - Span<byte> reqDataSpan = reqDataOwner.Memory.Span; + Span<byte> reqDataSpan = reqDataOwner.Span; _selfProcess.CpuMemory.Read(_selfThread.TlsAddress, reqDataSpan); diff --git a/src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/IHOSBinderDriver.cs b/src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/IHOSBinderDriver.cs index 7cb6763b..2ffa961c 100644 --- a/src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/IHOSBinderDriver.cs +++ b/src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/IHOSBinderDriver.cs @@ -85,9 +85,9 @@ namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger ReadOnlySpan<byte> inputParcel = context.Memory.GetSpan(dataPos, (int)dataSize); - using IMemoryOwner<byte> outputParcelOwner = ByteMemoryPool.RentCleared(replySize); + using SpanOwner<byte> outputParcelOwner = SpanOwner<byte>.RentCleared(checked((int)replySize)); - Span<byte> outputParcel = outputParcelOwner.Memory.Span; + Span<byte> outputParcel = outputParcelOwner.Span; ResultCode result = OnTransact(binderId, code, flags, inputParcel, outputParcel); diff --git a/src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/Parcel.cs b/src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/Parcel.cs index c6cd60d0..2ca0e1aa 100644 --- a/src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/Parcel.cs +++ b/src/Ryujinx.HLE/HOS/Services/SurfaceFlinger/Parcel.cs @@ -3,7 +3,6 @@ using Ryujinx.Common.Memory; using Ryujinx.Common.Utilities; using Ryujinx.HLE.HOS.Services.SurfaceFlinger.Types; using System; -using System.Buffers; using System.Diagnostics; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; @@ -13,7 +12,7 @@ namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger { sealed class Parcel : IDisposable { - private readonly IMemoryOwner<byte> _rawDataOwner; + private readonly MemoryOwner<byte> _rawDataOwner; private Span<byte> Raw => _rawDataOwner.Memory.Span; @@ -30,7 +29,7 @@ namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger public Parcel(ReadOnlySpan<byte> data) { - _rawDataOwner = ByteMemoryPool.RentCopy(data); + _rawDataOwner = MemoryOwner<byte>.RentCopy(data); _payloadPosition = 0; _objectPosition = 0; @@ -40,7 +39,7 @@ namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger { uint headerSize = (uint)Unsafe.SizeOf<ParcelHeader>(); - _rawDataOwner = ByteMemoryPool.RentCleared(BitUtils.AlignUp<uint>(headerSize + payloadSize + objectsSize, 4)); + _rawDataOwner = MemoryOwner<byte>.RentCleared(checked((int)BitUtils.AlignUp<uint>(headerSize + payloadSize + objectsSize, 4))); Header.PayloadSize = payloadSize; Header.ObjectsSize = objectsSize; |