diff options
Diffstat (limited to 'Ryujinx.HLE/Gpu/NvGpu.cs')
| -rw-r--r-- | Ryujinx.HLE/Gpu/NvGpu.cs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Ryujinx.HLE/Gpu/NvGpu.cs b/Ryujinx.HLE/Gpu/NvGpu.cs new file mode 100644 index 00000000..1e433fa4 --- /dev/null +++ b/Ryujinx.HLE/Gpu/NvGpu.cs @@ -0,0 +1,45 @@ +using Ryujinx.Graphics.Gal; +using System.Threading; + +namespace Ryujinx.HLE.Gpu +{ + class NvGpu + { + public IGalRenderer Renderer { get; private set; } + + public NvGpuFifo Fifo { get; private set; } + + public NvGpuEngine2d Engine2d { get; private set; } + public NvGpuEngine3d Engine3d { get; private set; } + + private Thread FifoProcessing; + + private bool KeepRunning; + + public NvGpu(IGalRenderer Renderer) + { + this.Renderer = Renderer; + + Fifo = new NvGpuFifo(this); + + Engine2d = new NvGpuEngine2d(this); + Engine3d = new NvGpuEngine3d(this); + + KeepRunning = true; + + FifoProcessing = new Thread(ProcessFifo); + + FifoProcessing.Start(); + } + + private void ProcessFifo() + { + while (KeepRunning) + { + Fifo.DispatchCalls(); + + Thread.Yield(); + } + } + } +}
\ No newline at end of file |
