aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Horizon/Sdk
diff options
context:
space:
mode:
authorACGNnsj <ootopoo@vip.qq.com>2023-03-28 20:59:43 +0800
committerGitHub <noreply@github.com>2023-03-28 14:59:43 +0200
commit460f96967de6f5cb729ed57baaa4dad2178c8cb6 (patch)
tree9cb4ef2daa0e712d3b449572ab018e9fdab74179 /Ryujinx.Horizon/Sdk
parent7ca779a26d76a3ad1edd94ba6c1cfd7466d73314 (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.cs7
-rw-r--r--Ryujinx.Horizon/Sdk/Sf/CommandSerialization.cs2
-rw-r--r--Ryujinx.Horizon/Sdk/Sf/HipcCommandProcessor.cs57
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;