LotP
c94ffaa00a
gpu allocation optimizations ( ryubing/ryujinx!195 )
...
Canary release job / Release for linux-arm64 (push) Waiting to run
Canary release job / Release for linux-x64 (push) Waiting to run
Canary release job / Release for win-x64 (push) Waiting to run
Canary release job / Release MacOS universal (push) Waiting to run
Canary release job / Create GitLab Release (push) Blocked by required conditions
See merge request ryubing/ryujinx!195
2025-10-26 14:14:51 -05:00
Evan Husted
fe661dc750
misc: chore: Use explicit types in Memory project
2025-01-25 14:09:36 -06:00
gdkchan
12b235700c
Delete old 16KB page workarounds ( #6584 )
...
* Delete old 16KB page workarounds
* Rename Supports4KBPage to UsesPrivateAllocations
* Format whitespace
* This one should be false too
* Update XML doc
2024-04-06 13:51:44 -03:00
jhorv
5def0429f8
Add support to IVirtualMemoryManager for zero-copy reads ( #6251 )
...
* - WritableRegion: enable wrapping IMemoryOwner<byte>
- IVirtualMemoryManager impls of GetWritableRegion() use pooled memory when region is non-contiguous.
- IVirtualMemoryManager: add GetReadOnlySequence() and impls
- ByteMemoryPool: add new method RentCopy()
- ByteMemoryPool: make class static, remove ctor and singleton field from earlier impl
* - BytesReadOnlySequenceSegment: move from Ryujinx.Common.Memory to Ryujinx.Memory
- BytesReadOnlySequenceSegment: add IsContiguousWith() and Replace() methods
- VirtualMemoryManagerBase:
- remove generic type parameters, instead use ulong for virtual addresses and nuint for host/physical addresses
- implement IWritableBlock
- add virtual GetReadOnlySequence() with coalescing of contiguous segments
- add virtual GetSpan()
- add virtual GetWritableRegion()
- add abstract IsMapped()
- add virtual MapForeign(ulong, nuint, ulong)
- add virtual Read<T>()
- add virtual Read(ulong, Span<byte>)
- add virtual ReadTracked<T>()
- add virtual SignalMemoryTracking()
- add virtual Write()
- add virtual Write<T>()
- add virtual WriteUntracked()
- add virtual WriteWithRedundancyCheck()
- VirtualMemoryManagerRefCountedBase: remove generic type parameters
- AddressSpaceManager: remove redundant methods, add required overrides
- HvMemoryManager: remove redundant methods, add required overrides, add overrides for _invalidAccessHandler handling
- MemoryManager: remove redundant methods, add required overrides, add overrides for _invalidAccessHandler handling
- MemoryManagerHostMapped: remove redundant methods, add required overrides, add overrides for _invalidAccessHandler handling
- NativeMemoryManager: add get properties for Pointer and Length
- throughout: removed invalid <inheritdoc/> comments
* make HvMemoryManager class sealed
* remove unused method
* adjust MemoryManagerHostTracked
* let MemoryManagerHostTracked override WriteImpl()
2024-04-04 22:23:03 -03:00
riperiperi
fdd3263e31
Separate guest/host tracking + unaligned protection ( #6486 )
...
* WIP: Separate guest/host tracking + unaligned protection
Allow memory manager to define support for single byte guest tracking
* Formatting
* Improve docs
* Properly handle cases where the address space bits are too low
* Address feedback
2024-03-14 19:38:27 -03:00
TSRBerry
2989c163a8
editorconfig: Set default encoding to UTF-8 ( #5793 )
...
* editorconfig: Add default charset
* Change file encoding from UTF-8-BOM to UTF-8
2023-12-04 14:17:13 +01:00
gdkchan
815819767c
Force all exclusive memory accesses to be ordered on AppleHv ( #5898 )
...
* Implement reprotect method on virtual memory manager (currently stubbed)
* Force all exclusive memory accesses to be ordered on AppleHv
* Format whitespace
* Fix test build
* Fix comment copy/paste
* Fix wrong bit for isLoad
* Update src/Ryujinx.Cpu/AppleHv/HvMemoryManager.cs
Co-authored-by: riperiperi <rhy3756547@hotmail.com>
---------
Co-authored-by: riperiperi <rhy3756547@hotmail.com>
2023-11-07 13:24:10 -03:00
TSR Berry
cee7121058
Move solution and projects to src
2023-04-27 23:51:14 +02:00