From f7bcc884e46805f4dcda4fc7d7e7bccb2a3ac316 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Tue, 31 Dec 2019 17:08:20 -0300 Subject: Add XML documentation to Ryujinx.Graphics.Gpu --- Ryujinx.Graphics.Gpu/GpuContext.cs | 47 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'Ryujinx.Graphics.Gpu/GpuContext.cs') diff --git a/Ryujinx.Graphics.Gpu/GpuContext.cs b/Ryujinx.Graphics.Gpu/GpuContext.cs index bb172c9e..d68dd2c0 100644 --- a/Ryujinx.Graphics.Gpu/GpuContext.cs +++ b/Ryujinx.Graphics.Gpu/GpuContext.cs @@ -5,30 +5,68 @@ using System; namespace Ryujinx.Graphics.Gpu { + /// + /// GPU emulation context. + /// public class GpuContext { + /// + /// Host renderer. + /// public IRenderer Renderer { get; } + /// + /// Physical memory access (it actually accesses the process memory, not actual physical memory). + /// internal PhysicalMemory PhysicalMemory { get; private set; } + /// + /// GPU memory manager. + /// public MemoryManager MemoryManager { get; } + /// + /// GPU memory accessor. + /// internal MemoryAccessor MemoryAccessor { get; } + /// + /// GPU engine methods processing. + /// internal Methods Methods { get; } + /// + /// GPU commands FIFO. + /// internal NvGpuFifo Fifo { get; } + /// + /// DMA pusher. + /// public DmaPusher DmaPusher { get; } + /// + /// Presentation window. + /// public Window Window { get; } + /// + /// Internal sequence number, used to avoid needless resource data updates + /// in the middle of a command buffer before synchronizations. + /// internal int SequenceNumber { get; private set; } private readonly Lazy _caps; + /// + /// Host hardware capabilities. + /// internal Capabilities Capabilities => _caps.Value; + /// + /// Creates a new instance of the GPU emulation context. + /// + /// Host renderer public GpuContext(IRenderer renderer) { Renderer = renderer; @@ -48,11 +86,20 @@ namespace Ryujinx.Graphics.Gpu _caps = new Lazy(Renderer.GetCapabilities); } + /// + /// Advances internal sequence number. + /// This forces the update of any modified GPU resource. + /// internal void AdvanceSequence() { SequenceNumber++; } + /// + /// Sets the process memory manager, after the application process is initialized. + /// This is required for any GPU memory access. + /// + /// CPU memory manager public void SetVmm(ARMeilleure.Memory.MemoryManager cpuMemory) { PhysicalMemory = new PhysicalMemory(cpuMemory); -- cgit v1.2.3