aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.Gpu/Engine/MME/IMacroEE.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2020-08-02 22:36:57 -0300
committerGitHub <noreply@github.com>2020-08-03 03:36:57 +0200
commit60db4c353099e8656a330ede03fdbe57a421fa47 (patch)
tree0b04b6fff7c892b7ae9f1d417293d4f81b27a60a /Ryujinx.Graphics.Gpu/Engine/MME/IMacroEE.cs
parentc11855565e0ce2bac228610cbaa92c8c7f082c70 (diff)
Implement a Macro JIT (#1445)
* Implement a Macro JIT * Nit: space
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Engine/MME/IMacroEE.cs')
-rw-r--r--Ryujinx.Graphics.Gpu/Engine/MME/IMacroEE.cs25
1 files changed, 25 insertions, 0 deletions
diff --git a/Ryujinx.Graphics.Gpu/Engine/MME/IMacroEE.cs b/Ryujinx.Graphics.Gpu/Engine/MME/IMacroEE.cs
new file mode 100644
index 00000000..b056ecc8
--- /dev/null
+++ b/Ryujinx.Graphics.Gpu/Engine/MME/IMacroEE.cs
@@ -0,0 +1,25 @@
+using Ryujinx.Graphics.Gpu.State;
+using System;
+using System.Collections.Generic;
+
+namespace Ryujinx.Graphics.Gpu.Engine.MME
+{
+ /// <summary>
+ /// Macro Execution Engine interface.
+ /// </summary>
+ interface IMacroEE
+ {
+ /// <summary>
+ /// Arguments FIFO.
+ /// </summary>
+ public Queue<int> Fifo { get; }
+
+ /// <summary>
+ /// Should execute the GPU Macro code being passed.
+ /// </summary>
+ /// <param name="code">Code to be executed</param>
+ /// <param name="state">GPU state at the time of the call</param>
+ /// <param name="arg0">First argument to be passed to the GPU Macro</param>
+ void Execute(ReadOnlySpan<int> code, GpuState state, int arg0);
+ }
+}