using Ryujinx.Graphics.Device; using System; using System.Collections.Generic; namespace Ryujinx.Graphics.Gpu.Engine.MME { /// /// FIFO word. /// readonly struct FifoWord { /// /// GPU virtual address where the word is located in memory. /// public ulong GpuVa { get; } /// /// Word value. /// public int Word { get; } /// /// Creates a new FIFO word. /// /// GPU virtual address where the word is located in memory /// Word value public FifoWord(ulong gpuVa, int word) { GpuVa = gpuVa; Word = word; } } /// /// Macro Execution Engine interface. /// interface IMacroEE { /// /// Arguments FIFO. /// Queue Fifo { get; } /// /// Should execute the GPU Macro code being passed. /// /// Code to be executed /// GPU state at the time of the call /// First argument to be passed to the GPU Macro void Execute(ReadOnlySpan code, IDeviceState state, int arg0); } }