diff options
Diffstat (limited to 'Ryujinx.Graphics/NvGpu.cs')
| -rw-r--r-- | Ryujinx.Graphics/NvGpu.cs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Ryujinx.Graphics/NvGpu.cs b/Ryujinx.Graphics/NvGpu.cs index 6989be98..3fd91f74 100644 --- a/Ryujinx.Graphics/NvGpu.cs +++ b/Ryujinx.Graphics/NvGpu.cs @@ -1,4 +1,8 @@ using Ryujinx.Graphics.Gal; +using Ryujinx.Graphics.Graphics3d; +using Ryujinx.Graphics.Memory; +using Ryujinx.Graphics.VDec; +using Ryujinx.Graphics.Vic; namespace Ryujinx.Graphics { @@ -16,6 +20,10 @@ namespace Ryujinx.Graphics internal NvGpuEngineM2mf EngineM2mf { get; private set; } internal NvGpuEngineP2mf EngineP2mf { get; private set; } + private CdmaProcessor CdmaProcessor; + internal VideoDecoder VideoDecoder { get; private set; } + internal VideoImageComposer VideoImageComposer { get; private set; } + public NvGpu(IGalRenderer Renderer) { this.Renderer = Renderer; @@ -29,6 +37,26 @@ namespace Ryujinx.Graphics Engine3d = new NvGpuEngine3d(this); EngineM2mf = new NvGpuEngineM2mf(this); EngineP2mf = new NvGpuEngineP2mf(this); + + CdmaProcessor = new CdmaProcessor(this); + VideoDecoder = new VideoDecoder(this); + VideoImageComposer = new VideoImageComposer(this); + } + + public void PushCommandBuffer(NvGpuVmm Vmm, int[] CmdBuffer) + { + lock (CdmaProcessor) + { + CdmaProcessor.PushCommands(Vmm, CmdBuffer); + } + } + + public void UninitializeVideoDecoder() + { + lock (CdmaProcessor) + { + FFmpegWrapper.Uninitialize(); + } } } }
\ No newline at end of file |
