diff options
Diffstat (limited to 'src/Ryujinx.Graphics.Shader/Translation/Optimizations/GlobalToStorage.cs')
-rw-r--r-- | src/Ryujinx.Graphics.Shader/Translation/Optimizations/GlobalToStorage.cs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/Ryujinx.Graphics.Shader/Translation/Optimizations/GlobalToStorage.cs b/src/Ryujinx.Graphics.Shader/Translation/Optimizations/GlobalToStorage.cs index e426d54d..8a730ef7 100644 --- a/src/Ryujinx.Graphics.Shader/Translation/Optimizations/GlobalToStorage.cs +++ b/src/Ryujinx.Graphics.Shader/Translation/Optimizations/GlobalToStorage.cs @@ -2,6 +2,7 @@ using Ryujinx.Graphics.Shader.IntermediateRepresentation; using System; using System.Collections.Generic; using System.Linq; +using System.Text; using static Ryujinx.Graphics.Shader.IntermediateRepresentation.OperandHelper; namespace Ryujinx.Graphics.Shader.Translation.Optimizations @@ -785,30 +786,31 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations private static string GetFunctionName(Operation baseOp, bool isMultiTarget, IReadOnlyList<uint> targetCbs) { - string name = baseOp.Inst.ToString(); + StringBuilder nameBuilder = new(); + nameBuilder.Append(baseOp.Inst.ToString()); - name += baseOp.StorageKind switch + nameBuilder.Append(baseOp.StorageKind switch { StorageKind.GlobalMemoryS8 => "S8", StorageKind.GlobalMemoryS16 => "S16", StorageKind.GlobalMemoryU8 => "U8", StorageKind.GlobalMemoryU16 => "U16", _ => string.Empty, - }; + }); if (isMultiTarget) { - name += "Multi"; + nameBuilder.Append("Multi"); } foreach (uint targetCb in targetCbs) { (int sbCbSlot, int sbCbOffset) = UnpackCbSlotAndOffset(targetCb); - name += $"_c{sbCbSlot}o{sbCbOffset}"; + nameBuilder.Append($"_c{sbCbSlot}o{sbCbOffset}"); } - return name; + return nameBuilder.ToString(); } private static bool TryGenerateStorageOp( |