diff options
author | gdkchan <gab.dark.100@gmail.com> | 2024-02-22 11:03:07 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-22 11:03:07 -0300 |
commit | 167f50bbcd5b2378a038e540877be4d9b71a12f6 (patch) | |
tree | b425e6529ade9eb52dca3f9ff92ea767a78224b4 /src/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs | |
parent | ba91f5d401bf5f9fc39aaa30feac2600e82f9c42 (diff) |
Implement virtual buffer dependencies (#6190)1.1.1208
* Implement virtual buffer copies
* Introduce TranslateAndCreateMultiBuffersPhysicalOnly, use it for copy and clear
* Rename VirtualBufferCache to VirtualRangeCache
* Fix potential issue where virtual range could exist in the cache, without a physical buffer
* Fix bug that could cause copy with negative size on CopyToDependantVirtualBuffer
* Remove virtual copy back for SyncAction
* GetData XML docs
* Make field readonly
* Fix virtual buffer modification tracking
* Remove CopyFromDependantVirtualBuffers from ExternalFlush
* Move things around a little to avoid perf impact
- Inline null check for CopyFromDependantVirtualBuffers
- Remove extra method call for SynchronizeMemoryWithVirtualCopyBack, prefer calling CopyFromDependantVirtualBuffers separately
* Fix up XML doc
---------
Co-authored-by: riperiperi <rhy3756547@hotmail.com>
Diffstat (limited to 'src/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs')
-rw-r--r-- | src/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs b/src/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs index 74d52705..30f87813 100644 --- a/src/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs +++ b/src/Ryujinx.Graphics.Gpu/Memory/MemoryManager.cs @@ -40,9 +40,9 @@ namespace Ryujinx.Graphics.Gpu.Memory internal PhysicalMemory Physical { get; } /// <summary> - /// Virtual buffer cache. + /// Virtual range cache. /// </summary> - internal VirtualBufferCache VirtualBufferCache { get; } + internal VirtualRangeCache VirtualRangeCache { get; } /// <summary> /// Cache of GPU counters. @@ -56,12 +56,12 @@ namespace Ryujinx.Graphics.Gpu.Memory internal MemoryManager(PhysicalMemory physicalMemory) { Physical = physicalMemory; - VirtualBufferCache = new VirtualBufferCache(this); + VirtualRangeCache = new VirtualRangeCache(this); CounterCache = new CounterCache(); _pageTable = new ulong[PtLvl0Size][]; MemoryUnmapped += Physical.TextureCache.MemoryUnmappedHandler; MemoryUnmapped += Physical.BufferCache.MemoryUnmappedHandler; - MemoryUnmapped += VirtualBufferCache.MemoryUnmappedHandler; + MemoryUnmapped += VirtualRangeCache.MemoryUnmappedHandler; MemoryUnmapped += CounterCache.MemoryUnmappedHandler; } |