shadPS4/src
Stephen Miller 419ea140ab
Some checks are pending
Build and Release / reuse (push) Waiting to run
Build and Release / clang-format (push) Waiting to run
Build and Release / get-info (push) Waiting to run
Build and Release / windows-sdl (push) Blocked by required conditions
Build and Release / windows-qt (push) Blocked by required conditions
Build and Release / macos-sdl (push) Blocked by required conditions
Build and Release / macos-qt (push) Blocked by required conditions
Build and Release / linux-sdl (push) Blocked by required conditions
Build and Release / linux-qt (push) Blocked by required conditions
Build and Release / linux-sdl-gcc (push) Blocked by required conditions
Build and Release / linux-qt-gcc (push) Blocked by required conditions
Build and Release / pre-release (push) Blocked by required conditions
Core: physical backing for flexible and pooled memory allocations (#3639)
* Fix isDevKit

Previously, isDevKit could increase the physical memory used above the length we reserve in the backing file.

* Physical backing for flexible allocations

I took the simple approach here, creating a separate map for flexible allocations and pretty much just copying over the logic used in the direct memory map.

* Various fixups

* Fix mistake #1

* Assert + clang

* Fix 2

* Clang

* Fix CanMergeWith

Validate physical base for flexible mappings

* Clang

* Physical backing for pooled memory

* Allow VMA splitting in NameVirtualRange

This should be safe, since with the changes in this PR, the only issues that come from discrepancies between address space and vma_map are issues related to vmas being larger than address space mappings. NameVirtualRange will only ever shrink VMAs by naming part of one.

* Fix

* Fix NameVirtualRange

* Revert NameVirtualRange changes

Seems like it doesn't play nice for Windows

* Clean up isDevKit logic

We already log both isNeo and isDevKit in Emulator::Run, so the additional logging in MemoryManager::SetupMemoryRegions isn't really necessary.

I've also added a separate constant for non-pro devkit memory, as suggested.

Finally I've changed a couple constants to use the ORBIS prefix we generally follow here, instead of the SCE prefix.

* Erase flexible memory contents from physical memory on unmap

Flexible memory should not be preserved on unmap, so erase flexible contents from the physical backing when unmapping.

* Expand flexible memory map

Some games will end up fragmenting the physical backing space used for flexible memory. To reduce the frequency of this happening under normal circumstances, allocate the entirety of the remaining physical backing to the flexible memory map.

This is effectively a workaround to the problem, but at the moment I think this should suffice.

* Clang
2025-09-23 17:24:37 +03:00
..
common Ds4 Speaker Audio Rebase Fix (#3607) 2025-09-18 08:28:12 +03:00
core Core: physical backing for flexible and pooled memory allocations (#3639) 2025-09-23 17:24:37 +03:00
images Qt: Add GUI for game-specific settings (#3533) 2025-09-10 12:18:39 +03:00
imgui build: Fix a couple more warnings. (#3598) 2025-09-13 15:33:42 -07:00
input Hotkey config changes (#3391) 2025-09-04 20:47:06 +03:00
qt_gui Remove Crowdin integration and related Actions (#3623) 2025-09-18 23:36:38 +03:00
shader_recompiler Fix: V_MUL_I32_I24 | V_MUL_U32_U24 (#3632) 2025-09-19 19:05:22 -07:00
video_core shader_recompiler: Implement fallback path for missing shaderFloat16 support. (#3604) 2025-09-18 00:43:47 -07:00
.clang-format chore: Make shadps4 REUSE compliant 2024-02-23 23:33:43 +02:00
emulator.cpp Make UpdatePlayTime not depend on Qt (#3629) 2025-09-19 18:34:21 +03:00
emulator.h Add support for game folder and fail early if eboot.bin is missing or corrupt (#3027) 2025-06-03 13:34:29 +03:00
main.cpp Simple IPC for external control (#3345) 2025-08-04 20:32:50 -03:00
sdl_window.cpp Hotkey config changes (#3391) 2025-09-04 20:47:06 +03:00
sdl_window.h Hotkey config changes (#3391) 2025-09-04 20:47:06 +03:00
shadps4.qrc Qt: Add GUI for game-specific settings (#3533) 2025-09-10 12:18:39 +03:00
shadps4.rc [Windows] Adding Properties to the Executable (#2789) 2025-04-17 09:43:14 +03:00