aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Shader/Translation/Optimizations/Utils.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.Shader/Translation/Optimizations/Utils.cs')
-rw-r--r--src/Ryujinx.Graphics.Shader/Translation/Optimizations/Utils.cs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/Ryujinx.Graphics.Shader/Translation/Optimizations/Utils.cs b/src/Ryujinx.Graphics.Shader/Translation/Optimizations/Utils.cs
index a0d58d07..ffbd16f8 100644
--- a/src/Ryujinx.Graphics.Shader/Translation/Optimizations/Utils.cs
+++ b/src/Ryujinx.Graphics.Shader/Translation/Optimizations/Utils.cs
@@ -1,4 +1,5 @@
using Ryujinx.Graphics.Shader.IntermediateRepresentation;
+using System.Collections.Generic;
namespace Ryujinx.Graphics.Shader.Translation.Optimizations
{
@@ -93,5 +94,17 @@ namespace Ryujinx.Graphics.Shader.Translation.Optimizations
return source;
}
+
+ public static void DeleteNode(LinkedListNode<INode> node, Operation operation)
+ {
+ node.List.Remove(node);
+
+ for (int srcIndex = 0; srcIndex < operation.SourcesCount; srcIndex++)
+ {
+ operation.SetSource(srcIndex, null);
+ }
+
+ operation.Dest = null;
+ }
}
}