diff options
Diffstat (limited to 'src/Ryujinx.Horizon/Sdk/Sf/Cmif/CmifMessage.cs')
| -rw-r--r-- | src/Ryujinx.Horizon/Sdk/Sf/Cmif/CmifMessage.cs | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/src/Ryujinx.Horizon/Sdk/Sf/Cmif/CmifMessage.cs b/src/Ryujinx.Horizon/Sdk/Sf/Cmif/CmifMessage.cs index 0d23d33b..f0b6f0c3 100644 --- a/src/Ryujinx.Horizon/Sdk/Sf/Cmif/CmifMessage.cs +++ b/src/Ryujinx.Horizon/Sdk/Sf/Cmif/CmifMessage.cs @@ -8,7 +8,7 @@ namespace Ryujinx.Horizon.Sdk.Sf.Cmif { static class CmifMessage { - public const uint CmifInHeaderMagic = 0x49434653; // SFCI + public const uint CmifInHeaderMagic = 0x49434653; // SFCI public const uint CmifOutHeaderMagic = 0x4f434653; // SFCO public static CmifRequest CreateRequest(Span<byte> output, CmifRequestFormat format) @@ -21,10 +21,10 @@ namespace Ryujinx.Horizon.Sdk.Sf.Cmif } totalSize += Unsafe.SizeOf<CmifInHeader>() + format.DataSize; - totalSize = (totalSize + 1) & ~1; + totalSize = (totalSize + 1) & ~1; int outPointerSizeTableOffset = totalSize; - int outPointerSizeTableSize = format.OutAutoBuffersCount + format.OutPointersCount; + int outPointerSizeTableSize = format.OutAutoBuffersCount + format.OutPointersCount; totalSize += sizeof(ushort) * outPointerSizeTableSize; @@ -32,19 +32,19 @@ namespace Ryujinx.Horizon.Sdk.Sf.Cmif CmifRequest request = new() { - Hipc = HipcMessage.WriteMessage(output, new HipcMetadata() + Hipc = HipcMessage.WriteMessage(output, new HipcMetadata { - Type = format.Context != 0 ? (int)CommandType.RequestWithContext : (int)CommandType.Request, - SendStaticsCount = format.InAutoBuffersCount + format.InPointersCount, - SendBuffersCount = format.InAutoBuffersCount + format.InBuffersCount, - ReceiveBuffersCount = format.OutAutoBuffersCount + format.OutBuffersCount, + Type = format.Context != 0 ? (int)CommandType.RequestWithContext : (int)CommandType.Request, + SendStaticsCount = format.InAutoBuffersCount + format.InPointersCount, + SendBuffersCount = format.InAutoBuffersCount + format.InBuffersCount, + ReceiveBuffersCount = format.OutAutoBuffersCount + format.OutBuffersCount, ExchangeBuffersCount = format.InOutBuffersCount, - DataWordsCount = rawDataSizeInWords, - ReceiveStaticsCount = outPointerSizeTableSize + format.OutFixedPointersCount, - SendPid = format.SendPid, - CopyHandlesCount = format.HandlesCount, - MoveHandlesCount = 0 - }) + DataWordsCount = rawDataSizeInWords, + ReceiveStaticsCount = outPointerSizeTableSize + format.OutFixedPointersCount, + SendPid = format.SendPid, + CopyHandlesCount = format.HandlesCount, + MoveHandlesCount = 0, + }), }; Span<uint> data = request.Hipc.DataWords; @@ -55,14 +55,14 @@ namespace Ryujinx.Horizon.Sdk.Sf.Cmif int payloadSize = Unsafe.SizeOf<CmifInHeader>() + format.DataSize; - domainHeader = new CmifDomainInHeader() + domainHeader = new CmifDomainInHeader { - Type = CmifDomainRequestType.SendMessage, + Type = CmifDomainRequestType.SendMessage, ObjectsCount = (byte)format.ObjectsCount, - DataSize = (ushort)payloadSize, - ObjectId = format.ObjectId, - Padding = 0, - Token = format.Context + DataSize = (ushort)payloadSize, + ObjectId = format.ObjectId, + Padding = 0, + Token = format.Context, }; data = data[(Unsafe.SizeOf<CmifDomainInHeader>() / sizeof(uint))..]; @@ -72,12 +72,12 @@ namespace Ryujinx.Horizon.Sdk.Sf.Cmif ref CmifInHeader header = ref MemoryMarshal.Cast<uint, CmifInHeader>(data)[0]; - header = new CmifInHeader() + header = new CmifInHeader { - Magic = CmifInHeaderMagic, - Version = format.Context != 0 ? 1u : 0u, + Magic = CmifInHeaderMagic, + Version = format.Context != 0 ? 1u : 0u, CommandId = format.RequestId, - Token = format.ObjectId != 0 ? 0u : format.Context + Token = format.ObjectId != 0 ? 0u : format.Context, }; request.Data = MemoryMarshal.Cast<uint, byte>(data)[Unsafe.SizeOf<CmifInHeader>()..]; @@ -86,7 +86,7 @@ namespace Ryujinx.Horizon.Sdk.Sf.Cmif Span<byte> outPointerTable = MemoryMarshal.Cast<uint, byte>(request.Hipc.DataWords)[(outPointerSizeTableOffset - paddingSizeBefore)..]; - request.OutPointerSizes = MemoryMarshal.Cast<byte, ushort>(outPointerTable); + request.OutPointerSizes = MemoryMarshal.Cast<byte, ushort>(outPointerTable); request.ServerPointerSize = format.ServerPointerSize; return request; @@ -96,12 +96,12 @@ namespace Ryujinx.Horizon.Sdk.Sf.Cmif { HipcMessage responseMessage = new(input); - Span<byte> data = MemoryMarshal.Cast<uint, byte>(responseMessage.Data.DataWords); + Span<byte> data = MemoryMarshal.Cast<uint, byte>(responseMessage.Data.DataWords); Span<uint> objects = Span<uint>.Empty; if (isDomain) { - data = data[Unsafe.SizeOf<CmifDomainOutHeader>()..]; + data = data[Unsafe.SizeOf<CmifDomainOutHeader>()..]; objects = MemoryMarshal.Cast<byte, uint>(data[(Unsafe.SizeOf<CmifOutHeader>() + size)..]); } @@ -121,15 +121,15 @@ namespace Ryujinx.Horizon.Sdk.Sf.Cmif return header.Result; } - response = new CmifResponse() + response = new CmifResponse { - Data = data[Unsafe.SizeOf<CmifOutHeader>()..], - Objects = objects, + Data = data[Unsafe.SizeOf<CmifOutHeader>()..], + Objects = objects, CopyHandles = responseMessage.Data.CopyHandles, - MoveHandles = responseMessage.Data.MoveHandles + MoveHandles = responseMessage.Data.MoveHandles, }; return Result.Success; } } -}
\ No newline at end of file +} |
