aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Horizon.Generators
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Horizon.Generators')
-rw-r--r--Ryujinx.Horizon.Generators/Hipc/HipcGenerator.cs6
1 files changed, 4 insertions, 2 deletions
diff --git a/Ryujinx.Horizon.Generators/Hipc/HipcGenerator.cs b/Ryujinx.Horizon.Generators/Hipc/HipcGenerator.cs
index 332e04d1..8f4c37f7 100644
--- a/Ryujinx.Horizon.Generators/Hipc/HipcGenerator.cs
+++ b/Ryujinx.Horizon.Generators/Hipc/HipcGenerator.cs
@@ -267,6 +267,8 @@ namespace Ryujinx.Horizon.Generators.Hipc
}
int index = 0;
+ int inArgIndex = 0;
+ int outArgIndex = 0;
int inCopyHandleIndex = 0;
int inMoveHandleIndex = 0;
int inObjectIndex = 0;
@@ -284,7 +286,7 @@ namespace Ryujinx.Horizon.Generators.Hipc
{
if (IsNonSpanOutBuffer(compilation, parameter))
{
- generator.AppendLine($"using var {argName} = CommandSerialization.GetWritableRegion(processor.GetBufferRange({index}));");
+ generator.AppendLine($"using var {argName} = CommandSerialization.GetWritableRegion(processor.GetBufferRange({outArgIndex++}));");
argName = $"out {GenerateSpanCastElement0(canonicalTypeName, $"{argName}.Memory.Span")}";
}
@@ -302,7 +304,7 @@ namespace Ryujinx.Horizon.Generators.Hipc
switch (argType)
{
case CommandArgType.InArgument:
- value = $"CommandSerialization.DeserializeArg<{canonicalTypeName}>(inRawData, processor.GetInArgOffset({index}))";
+ value = $"CommandSerialization.DeserializeArg<{canonicalTypeName}>(inRawData, processor.GetInArgOffset({inArgIndex++}))";
break;
case CommandArgType.InCopyHandle:
value = $"CommandSerialization.DeserializeCopyHandle(ref context, {inCopyHandleIndex++})";