diff options
| author | mpnico <mpnico@gmail.com> | 2021-08-26 23:50:28 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-26 23:50:28 +0200 |
| commit | 8e1adb95cf7f67b976f105f4cac26d3ff2986057 (patch) | |
| tree | f56ee0f92495fc1bd1e307c3bd51a2d1240d197b /Ryujinx.Graphics.Gpu/Engine/MME/IMacroEE.cs | |
| parent | 5cab8ea4ad2388bd035150e79f241ae5df95ab3b (diff) | |
Add support for HLE macros and accelerate MultiDrawElementsIndirectCount #2 (#2557)
* Add support for HLE macros and accelerate MultiDrawElementsIndirectCount
* Add missing barrier
* Fix index buffer count
* Add support check for each macro hle before use
* Add missing xml doc
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Engine/MME/IMacroEE.cs')
| -rw-r--r-- | Ryujinx.Graphics.Gpu/Engine/MME/IMacroEE.cs | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/Ryujinx.Graphics.Gpu/Engine/MME/IMacroEE.cs b/Ryujinx.Graphics.Gpu/Engine/MME/IMacroEE.cs index b957de08..640687f0 100644 --- a/Ryujinx.Graphics.Gpu/Engine/MME/IMacroEE.cs +++ b/Ryujinx.Graphics.Gpu/Engine/MME/IMacroEE.cs @@ -5,6 +5,33 @@ using System.Collections.Generic; namespace Ryujinx.Graphics.Gpu.Engine.MME { /// <summary> + /// FIFO word. + /// </summary> + struct FifoWord + { + /// <summary> + /// GPU virtual address where the word is located in memory. + /// </summary> + public ulong GpuVa { get; } + + /// <summary> + /// Word value. + /// </summary> + public int Word { get; } + + /// <summary> + /// Creates a new FIFO word. + /// </summary> + /// <param name="gpuVa">GPU virtual address where the word is located in memory</param> + /// <param name="word">Word value</param> + public FifoWord(ulong gpuVa, int word) + { + GpuVa = gpuVa; + Word = word; + } + } + + /// <summary> /// Macro Execution Engine interface. /// </summary> interface IMacroEE @@ -12,7 +39,7 @@ namespace Ryujinx.Graphics.Gpu.Engine.MME /// <summary> /// Arguments FIFO. /// </summary> - Queue<int> Fifo { get; } + Queue<FifoWord> Fifo { get; } /// <summary> /// Should execute the GPU Macro code being passed. |
