ryujinx/Ryujinx.Memory
riperiperi cda659955c
Texture Sync, incompatible overlap handling, data flush improvements. (#2971)
* Initial test for texture sync

* WIP new texture flushing setup

* Improve rules for incompatible overlaps

Fixes a lot of issues with Unreal Engine games. Still a few minor issues (some caused by dma fast path?) Needs docs and cleanup.

* Cleanup, improvements

Improve rules for fast DMA

* Small tweak to group together flushes of overlapping handles.

* Fixes, flush overlapping texture data for ASTC and BC4/5 compressed textures.

Fixes the new Life is Strange game.

* Flush overlaps before init data, fix 3d texture size/overlap stuff

* Fix 3D Textures, faster single layer flush

Note: nosy people can no longer merge this with Vulkan. (unless they are nosy enough to implement the new backend methods)

* Remove unused method

* Minor cleanup

* More cleanup

* Use the More Fun and Hopefully No Driver Bugs method for getting compressed tex too

This one's for metro

* Address feedback, ASTC+ETC to FormatClass

* Change offset to use Span slice rather than IntPtr Add

* Fix this too
2022-01-09 13:28:48 -03:00
..
Range Texture Sync, incompatible overlap handling, data flush improvements. (#2971) 2022-01-09 13:28:48 -03:00
Tracking Replace CacheResourceWrite with more general "precise" write (#2684) 2021-09-29 02:27:03 +02:00
WindowsShared Array based RangeList that caches Address/EndAddress (#2642) 2021-09-19 14:22:26 +02:00
AddressSpaceManager.cs Replace CacheResourceWrite with more general "precise" write (#2684) 2021-09-29 02:27:03 +02:00
InvalidAccessHandler.cs POWER - Performance Optimizations With Extensive Ramifications (#2286) 2021-05-24 22:52:44 +02:00
InvalidMemoryRegionException.cs Update InvalidMemoryRegionException.cs to abide by English rules. (#1834) 2020-12-25 04:09:02 +01:00
IRefCounted.cs POWER - Performance Optimizations With Extensive Ramifications (#2286) 2021-05-24 22:52:44 +02:00
IVirtualMemoryManager.cs misc: Fix IVirtualMemoryManager.Fill ignoring value (#2775) 2021-10-24 18:16:59 -03:00
IWritableBlock.cs Return mapped buffer pointer directly for flush, WriteableRegion for textures (#2494) 2021-07-19 19:10:54 -03:00
MemoryAllocationFlags.cs POWER - Performance Optimizations With Extensive Ramifications (#2286) 2021-05-24 22:52:44 +02:00
MemoryBlock.cs kernel: Clear pages allocated with SetHeapSize (#2776) 2021-10-24 18:52:59 -03:00
MemoryConstants.cs Implement a new physical memory manager and replace DeviceMemory (#856) 2020-05-04 08:54:50 +10:00
MemoryManagement.cs misc: Migrate usage of RuntimeInformation to OperatingSystem (#2901) 2021-12-04 20:02:30 -03:00
MemoryManagementUnix.cs Remove usage of Mono.Posix.NETStandard accross all projects (#2906) 2021-12-08 18:24:26 -03:00
MemoryManagementWindows.cs misc: Migrate usage of RuntimeInformation to OperatingSystem (#2901) 2021-12-04 20:02:30 -03:00
MemoryManagerUnixHelper.cs Remove usage of Mono.Posix.NETStandard accross all projects (#2906) 2021-12-08 18:24:26 -03:00
MemoryNotContiguousException.cs IPC refactor part 2: Use ReplyAndReceive on HLE services and remove special handling from kernel (#1458) 2020-12-02 00:23:43 +01:00
MemoryPermission.cs POWER - Performance Optimizations With Extensive Ramifications (#2286) 2021-05-24 22:52:44 +02:00
MemoryProtectionException.cs Implement a new physical memory manager and replace DeviceMemory (#856) 2020-05-04 08:54:50 +10:00
NativeMemoryManager.cs POWER - Performance Optimizations With Extensive Ramifications (#2286) 2021-05-24 22:52:44 +02:00
PageTable.cs POWER - Performance Optimizations With Extensive Ramifications (#2286) 2021-05-24 22:52:44 +02:00
Ryujinx.Memory.csproj Remove usage of Mono.Posix.NETStandard accross all projects (#2906) 2021-12-08 18:24:26 -03:00
WritableRegion.cs Return mapped buffer pointer directly for flush, WriteableRegion for textures (#2494) 2021-07-19 19:10:54 -03:00