diff options
author | TSRBerry <20988865+TSRBerry@users.noreply.github.com> | 2023-07-16 19:31:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-16 19:31:14 +0200 |
commit | 326749498bed4360e5a4b11fc67d5ec7cb9a3076 (patch) | |
tree | ae21fb26f99b401ca4e9efaab72b679a81c22369 /src/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs | |
parent | fec8291c17fa106c28f58b56419e90d49a41a1ea (diff) |
[Ryujinx.HLE] Address dotnet-format issues (#5380)1.1.962
* dotnet format style --severity info
Some changes were manually reverted.
* dotnet format analyzers --serverity info
Some changes have been minimally adapted.
* Restore a few unused methods and variables
* Silence dotnet format IDE0060 warnings
* Silence dotnet format IDE0052 warnings
* Address or silence dotnet format IDE1006 warnings
* Address dotnet format CA1816 warnings
* Address or silence dotnet format CA2208 warnings
* Address or silence dotnet format CA1806 and a few CA1854 warnings
* Address dotnet format CA2211 warnings
* Address dotnet format CA1822 warnings
* Address or silence dotnet format CA1069 warnings
* Make dotnet format succeed in style mode
* Address or silence dotnet format CA2211 warnings
* Address review comments
* Address dotnet format CA2208 warnings properly
* Make ProcessResult readonly
* Address most dotnet format whitespace warnings
* Apply dotnet format whitespace formatting
A few of them have been manually reverted and the corresponding warning was silenced
* Add previously silenced warnings back
I have no clue how these disappeared
* Revert formatting changes for while and for-loops
* Format if-blocks correctly
* Run dotnet format style after rebase
* Run dotnet format whitespace after rebase
* Run dotnet format style after rebase
* Run dotnet format analyzers after rebase
* Run dotnet format after rebase and remove unused usings
- analyzers
- style
- whitespace
* Disable 'prefer switch expression' rule
* Add comments to disabled warnings
* Fix a few disabled warnings
* Fix naming rule violation, Convert shader properties to auto-property and convert values to const
* Simplify properties and array initialization, Use const when possible, Remove trailing commas
* Start working on disabled warnings
* Fix and silence a few dotnet-format warnings again
* Run dotnet format after rebase
* Use using declaration instead of block syntax
* Address IDE0251 warnings
* Address a few disabled IDE0060 warnings
* Silence IDE0060 in .editorconfig
* Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas"
This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e.
* dotnet format whitespace after rebase
* First dotnet format pass
* Fix naming rule violations
* Fix typo
* Add trailing commas, use targeted new and use array initializer
* Fix build issues
* Fix remaining build issues
* Remove SuppressMessage for CA1069 where possible
* Address dotnet format issues
* Address formatting issues
Co-authored-by: Ac_K <acoustik666@gmail.com>
* Add GetHashCode implementation for RenderingSurfaceInfo
* Explicitly silence CA1822 for every affected method in Syscall
* Address formatting issues in Demangler.cs
* Address review feedback
Co-authored-by: Ac_K <acoustik666@gmail.com>
* Revert marking service methods as static
* Next dotnet format pass
* Address review feedback
---------
Co-authored-by: Ac_K <acoustik666@gmail.com>
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs')
-rw-r--r-- | src/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs | 142 |
1 files changed, 70 insertions, 72 deletions
diff --git a/src/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs b/src/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs index 21630c42..feba09fe 100644 --- a/src/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs +++ b/src/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs @@ -2,7 +2,6 @@ using Microsoft.IO; using Ryujinx.Common; using Ryujinx.Common.Memory; using System; -using System.Buffers; using System.Collections.Generic; using System.Diagnostics; using System.IO; @@ -15,10 +14,10 @@ namespace Ryujinx.HLE.HOS.Ipc public IpcHandleDesc HandleDesc { get; set; } - public List<IpcPtrBuffDesc> PtrBuff { get; private set; } - public List<IpcBuffDesc> SendBuff { get; private set; } - public List<IpcBuffDesc> ReceiveBuff { get; private set; } - public List<IpcBuffDesc> ExchangeBuff { get; private set; } + public List<IpcPtrBuffDesc> PtrBuff { get; private set; } + public List<IpcBuffDesc> SendBuff { get; private set; } + public List<IpcBuffDesc> ReceiveBuff { get; private set; } + public List<IpcBuffDesc> ExchangeBuff { get; private set; } public List<IpcRecvListBuffDesc> RecvListBuff { get; private set; } public List<int> ObjectIds { get; private set; } @@ -27,9 +26,9 @@ namespace Ryujinx.HLE.HOS.Ipc public IpcMessage() { - PtrBuff = new List<IpcPtrBuffDesc>(0); - SendBuff = new List<IpcBuffDesc>(0); - ReceiveBuff = new List<IpcBuffDesc>(0); + PtrBuff = new List<IpcPtrBuffDesc>(0); + SendBuff = new List<IpcBuffDesc>(0); + ReceiveBuff = new List<IpcBuffDesc>(0); ExchangeBuff = new List<IpcBuffDesc>(0); RecvListBuff = new List<IpcRecvListBuffDesc>(0); @@ -38,93 +37,92 @@ namespace Ryujinx.HLE.HOS.Ipc public IpcMessage(ReadOnlySpan<byte> data, long cmdPtr) { - using (RecyclableMemoryStream ms = MemoryStreamManager.Shared.GetStream(data)) - { - BinaryReader reader = new BinaryReader(ms); + using RecyclableMemoryStream ms = MemoryStreamManager.Shared.GetStream(data); - int word0 = reader.ReadInt32(); - int word1 = reader.ReadInt32(); + BinaryReader reader = new(ms); - Type = (IpcMessageType)(word0 & 0xffff); + int word0 = reader.ReadInt32(); + int word1 = reader.ReadInt32(); - int ptrBuffCount = (word0 >> 16) & 0xf; - int sendBuffCount = (word0 >> 20) & 0xf; - int recvBuffCount = (word0 >> 24) & 0xf; - int xchgBuffCount = (word0 >> 28) & 0xf; + Type = (IpcMessageType)(word0 & 0xffff); - int rawDataSize = (word1 >> 0) & 0x3ff; - int recvListFlags = (word1 >> 10) & 0xf; - bool hndDescEnable = ((word1 >> 31) & 0x1) != 0; + int ptrBuffCount = (word0 >> 16) & 0xf; + int sendBuffCount = (word0 >> 20) & 0xf; + int recvBuffCount = (word0 >> 24) & 0xf; + int xchgBuffCount = (word0 >> 28) & 0xf; - if (hndDescEnable) - { - HandleDesc = new IpcHandleDesc(reader); - } + int rawDataSize = (word1 >> 0) & 0x3ff; + int recvListFlags = (word1 >> 10) & 0xf; + bool hndDescEnable = ((word1 >> 31) & 0x1) != 0; - PtrBuff = new List<IpcPtrBuffDesc>(ptrBuffCount); + if (hndDescEnable) + { + HandleDesc = new IpcHandleDesc(reader); + } - for (int index = 0; index < ptrBuffCount; index++) - { - PtrBuff.Add(new IpcPtrBuffDesc(reader)); - } + PtrBuff = new List<IpcPtrBuffDesc>(ptrBuffCount); - static List<IpcBuffDesc> ReadBuff(BinaryReader reader, int count) + for (int index = 0; index < ptrBuffCount; index++) + { + PtrBuff.Add(new IpcPtrBuffDesc(reader)); + } + + static List<IpcBuffDesc> ReadBuff(BinaryReader reader, int count) + { + List<IpcBuffDesc> buff = new(count); + + for (int index = 0; index < count; index++) { - List<IpcBuffDesc> buff = new List<IpcBuffDesc>(count); - - for (int index = 0; index < count; index++) - { - buff.Add(new IpcBuffDesc(reader)); - } - - return buff; + buff.Add(new IpcBuffDesc(reader)); } - SendBuff = ReadBuff(reader, sendBuffCount); - ReceiveBuff = ReadBuff(reader, recvBuffCount); - ExchangeBuff = ReadBuff(reader, xchgBuffCount); + return buff; + } + + SendBuff = ReadBuff(reader, sendBuffCount); + ReceiveBuff = ReadBuff(reader, recvBuffCount); + ExchangeBuff = ReadBuff(reader, xchgBuffCount); - rawDataSize *= 4; + rawDataSize *= 4; - long recvListPos = reader.BaseStream.Position + rawDataSize; + long recvListPos = reader.BaseStream.Position + rawDataSize; // Only CMIF has the padding requirements. if (Type < IpcMessageType.TipcCloseSession) { long pad0 = GetPadSize16(reader.BaseStream.Position + cmdPtr); - if (rawDataSize != 0) - { - rawDataSize -= (int)pad0; - } - - reader.BaseStream.Seek(pad0, SeekOrigin.Current); + if (rawDataSize != 0) + { + rawDataSize -= (int)pad0; } - int recvListCount = recvListFlags - 2; + reader.BaseStream.Seek(pad0, SeekOrigin.Current); + } - if (recvListCount == 0) - { - recvListCount = 1; - } - else if (recvListCount < 0) - { - recvListCount = 0; - } + int recvListCount = recvListFlags - 2; - RawData = reader.ReadBytes(rawDataSize); + if (recvListCount == 0) + { + recvListCount = 1; + } + else if (recvListCount < 0) + { + recvListCount = 0; + } - reader.BaseStream.Seek(recvListPos, SeekOrigin.Begin); + RawData = reader.ReadBytes(rawDataSize); - RecvListBuff = new List<IpcRecvListBuffDesc>(recvListCount); + reader.BaseStream.Seek(recvListPos, SeekOrigin.Begin); - for (int index = 0; index < recvListCount; index++) - { - RecvListBuff.Add(new IpcRecvListBuffDesc(reader.ReadUInt64())); - } + RecvListBuff = new List<IpcRecvListBuffDesc>(recvListCount); - ObjectIds = new List<int>(0); + for (int index = 0; index < recvListCount; index++) + { + RecvListBuff.Add(new IpcRecvListBuffDesc(reader.ReadUInt64())); } + + ObjectIds = new List<int>(0); } public RecyclableMemoryStream GetStream(long cmdPtr, ulong recvListAddr) @@ -134,10 +132,10 @@ namespace Ryujinx.HLE.HOS.Ipc int word0; int word1; - word0 = (int)Type; - word0 |= (PtrBuff.Count & 0xf) << 16; - word0 |= (SendBuff.Count & 0xf) << 20; - word0 |= (ReceiveBuff.Count & 0xf) << 24; + word0 = (int)Type; + word0 |= (PtrBuff.Count & 0xf) << 16; + word0 |= (SendBuff.Count & 0xf) << 20; + word0 |= (ReceiveBuff.Count & 0xf) << 24; word0 |= (ExchangeBuff.Count & 0xf) << 28; using RecyclableMemoryStream handleDataStream = HandleDesc?.GetStream(); @@ -238,7 +236,7 @@ namespace Ryujinx.HLE.HOS.Ipc return ms; } - private long GetPadSize16(long position) + private static long GetPadSize16(long position) { if ((position & 0xf) != 0) { |