diff options
| author | ACGNnsj <ootopoo@vip.qq.com> | 2023-03-28 20:59:43 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-28 14:59:43 +0200 |
| commit | 460f96967de6f5cb729ed57baaa4dad2178c8cb6 (patch) | |
| tree | 9cb4ef2daa0e712d3b449572ab018e9fdab74179 /Ryujinx.Horizon/Sdk | |
| parent | 7ca779a26d76a3ad1edd94ba6c1cfd7466d73314 (diff) | |
Slight Code Refactoring (#4373)
* Simplify return statements by using ternary expressions
* Remove a redundant type conversion
* Reduce nesting by inverting "if" statements
* Try to improve code readability by using LINQ and inverting "if" statements
* Try to improve code readability by using LINQ, using ternary expressions, and inverting "if" statements
* Add line breaks to long LINQ
* Add line breaks to long LINQ
Diffstat (limited to 'Ryujinx.Horizon/Sdk')
| -rw-r--r-- | Ryujinx.Horizon/Sdk/Sf/CommandHandler.cs | 7 | ||||
| -rw-r--r-- | Ryujinx.Horizon/Sdk/Sf/CommandSerialization.cs | 2 | ||||
| -rw-r--r-- | Ryujinx.Horizon/Sdk/Sf/HipcCommandProcessor.cs | 57 |
3 files changed, 31 insertions, 35 deletions
diff --git a/Ryujinx.Horizon/Sdk/Sf/CommandHandler.cs b/Ryujinx.Horizon/Sdk/Sf/CommandHandler.cs index fe079d47..081ce3be 100644 --- a/Ryujinx.Horizon/Sdk/Sf/CommandHandler.cs +++ b/Ryujinx.Horizon/Sdk/Sf/CommandHandler.cs @@ -40,12 +40,7 @@ namespace Ryujinx.Horizon.Sdk.Sf var runtimeMetadata = context.Processor.GetRuntimeMetadata(); Result result = context.Processor.PrepareForProcess(ref context, runtimeMetadata); - if (result.IsFailure) - { - return result; - } - - return _invoke(ref context, _processor, runtimeMetadata, inRawData, ref outHeader); + return result.IsFailure ? result : _invoke(ref context, _processor, runtimeMetadata, inRawData, ref outHeader); } public static void GetCmifOutHeaderPointer(ref Span<CmifOutHeader> outHeader, ref Span<byte> outRawData) diff --git a/Ryujinx.Horizon/Sdk/Sf/CommandSerialization.cs b/Ryujinx.Horizon/Sdk/Sf/CommandSerialization.cs index feb2d666..4205d3c1 100644 --- a/Ryujinx.Horizon/Sdk/Sf/CommandSerialization.cs +++ b/Ryujinx.Horizon/Sdk/Sf/CommandSerialization.cs @@ -53,7 +53,7 @@ namespace Ryujinx.Horizon.Sdk.Sf public static void SerializeArg<T>(Span<byte> outRawData, int offset, T value) where T : unmanaged { - MemoryMarshal.Cast<byte, T>(outRawData.Slice(offset, Unsafe.SizeOf<T>()))[0] = (T)value; + MemoryMarshal.Cast<byte, T>(outRawData.Slice(offset, Unsafe.SizeOf<T>()))[0] = value; } public static void SerializeCopyHandle(HipcMessageData response, int index, int value) diff --git a/Ryujinx.Horizon/Sdk/Sf/HipcCommandProcessor.cs b/Ryujinx.Horizon/Sdk/Sf/HipcCommandProcessor.cs index 6bba49ae..a0578d48 100644 --- a/Ryujinx.Horizon/Sdk/Sf/HipcCommandProcessor.cs +++ b/Ryujinx.Horizon/Sdk/Sf/HipcCommandProcessor.cs @@ -41,10 +41,8 @@ namespace Ryujinx.Horizon.Sdk.Sf { _args = args; - for (int i = 0; i < args.Length; i++) + foreach (CommandArg argInfo in args) { - var argInfo = args[i]; - switch (argInfo.Type) { case CommandArgType.Buffer: @@ -239,14 +237,13 @@ namespace Ryujinx.Horizon.Sdk.Sf { return mode == HipcBufferMode.NonSecure; } - else if (flags.HasFlag(HipcBufferFlags.MapTransferAllowsNonDevice)) + + if (flags.HasFlag(HipcBufferFlags.MapTransferAllowsNonDevice)) { return mode == HipcBufferMode.NonDevice; } - else - { - return mode == HipcBufferMode.Normal; - } + + return mode == HipcBufferMode.Normal; } public void SetOutBuffers(HipcMessageData response, bool[] isBufferMapAlias) @@ -261,28 +258,30 @@ namespace Ryujinx.Horizon.Sdk.Sf } var flags = _args[i].BufferFlags; - if (flags.HasFlag(HipcBufferFlags.Out)) + if (!flags.HasFlag(HipcBufferFlags.Out)) { - var buffer = _bufferRanges[i]; + continue; + } + + var buffer = _bufferRanges[i]; - if (flags.HasFlag(HipcBufferFlags.Pointer)) + if (flags.HasFlag(HipcBufferFlags.Pointer)) + { + response.SendStatics[recvPointerIndex] = new HipcStaticDescriptor(buffer.Address, (ushort)buffer.Size, recvPointerIndex); + } + else if (flags.HasFlag(HipcBufferFlags.AutoSelect)) + { + if (!isBufferMapAlias[i]) { response.SendStatics[recvPointerIndex] = new HipcStaticDescriptor(buffer.Address, (ushort)buffer.Size, recvPointerIndex); } - else if (flags.HasFlag(HipcBufferFlags.AutoSelect)) + else { - if (!isBufferMapAlias[i]) - { - response.SendStatics[recvPointerIndex] = new HipcStaticDescriptor(buffer.Address, (ushort)buffer.Size, recvPointerIndex); - } - else - { - response.SendStatics[recvPointerIndex] = new HipcStaticDescriptor(0UL, 0, recvPointerIndex); - } + response.SendStatics[recvPointerIndex] = new HipcStaticDescriptor(0UL, 0, recvPointerIndex); } - - recvPointerIndex++; } + + recvPointerIndex++; } } @@ -339,15 +338,17 @@ namespace Ryujinx.Horizon.Sdk.Sf int inObjectIndex = 0; - for (int i = 0; i < _args.Length; i++) + foreach (CommandArg t in _args) { - if (_args[i].Type == CommandArgType.InObject) + if (t.Type != CommandArgType.InObject) { - int index = inObjectIndex++; - var inObject = inObjects[index]; - - objects[index] = inObject?.ServiceObject; + continue; } + + int index = inObjectIndex++; + var inObject = inObjects[index]; + + objects[index] = inObject?.ServiceObject; } return Result.Success; |
