summaryrefslogtreecommitdiff
path: root/src/common/host_memory.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-02-19scope_exit: Make constexprGravatar FearlessTobi1-2/+2
Allows the use of the macro in constexpr-contexts. Also avoids some potential problems when nesting braces inside it.
2023-12-25core: track separate heap allocation for linuxGravatar Liam1-4/+6
2023-12-14common: use memory holepunching when clearing memoryGravatar Liam1-9/+29
2023-12-02host_memory: move MAP_ALIGNED_SUPER attempt after 448d4815deceGravatar Jan Beich1-13/+11
src/common/host_memory.cpp:410:14: error: unused function 'ChooseVirtualBase' [-Werror,-Wunused-function] 410 | static void* ChooseVirtualBase(size_t virtual_size) { | ^~~~~~~~~~~~~~~~~
2023-12-02host_memory: allow missing MAP_NORESERVE on FreeBSD after 448d4815deceGravatar Jan Beich1-0/+4
src/common/host_memory.cpp:408:47: error: use of undeclared identifier 'MAP_NORESERVE' MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE, -1, 0); ^
2023-11-29cmake: Move HAS_NCE to root cmakeGravatar GPUCode1-1/+1
* So we can use it in common
2023-11-26general: fix mac compileGravatar Liam1-0/+2
2023-11-25host_memory: Simplify randomness generationGravatar GPUCode1-11/+2
2023-11-25Address some review commentsGravatar GPUCode1-0/+3
2023-11-25android: Add cpu bakend gui toggleGravatar GPUCode1-3/+3
2023-11-25arm: Implement native code execution backendGravatar Liam1-5/+5
2023-11-25core: Respect memory permissions in MapGravatar GPUCode1-12/+33
2023-11-25host_memory: Switch to FreeRegionManagerGravatar Liam1-29/+65
2023-11-25host_memory: ensure map base is between 36 and 39 bitsGravatar Liam1-2/+58
2023-06-03common: host_memory: Implement for Android.Gravatar bunnei1-2/+10
2023-06-01host_memory: merge adjacent placeholder mappings on LinuxGravatar kkoniuszy1-0/+22
Track the private anonymous placeholder mappings created by Unmap() and wherever possible, replace existing placeholders with larger ones instead of creating many small ones. This helps with the buildup of mappings in /proc/YUZU_PID/maps after a longer gaming session, improving stability without having to increase vm.max_map_count to a ridiculous value. The amount of placeholder mappings will no longer outgrow the amount of actual memfd mappings in cases of high memory fragmentation.
2023-03-12general: fix spelling mistakesGravatar Liam1-2/+2
2023-01-01host_memory: Use transparent huge pages where availableGravatar Merry1-0/+15
2023-01-01host_memory: Allocate virtual_base with MAP_NORESERVEGravatar Merry1-2/+2
Specify that we do not require swap to be reserved for this address range; allow overcommitting.
2022-11-09Initial ARM64 supportGravatar Liam1-0/+6
2022-04-23general: Convert source file copyright comments over to SPDXGravatar Morph1-3/+2
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-07common: Replace lock_guard with scoped_lockGravatar Merry1-2/+2
2022-03-20general: Fix clang/gcc build errorsGravatar ameerj1-0/+1
2022-03-19common: Reduce unused includesGravatar ameerj1-1/+0
2022-03-02host_memory: Fix fastmem crashes in debug buildsGravatar Morph1-2/+2
It is possible for virtual_offset to not be 0 when the iterator is at the beginning, and thus, std::prev(it) may be evaluated, leading to a crash in debug mode. Co-Authored-By: Fernando S. <1731197+FernandoS27@users.noreply.github.com>
2021-12-05general: Add missing copyright noticesGravatar ameerj1-0/+4
2021-09-29Fixed invalid iterator usageGravatar Andrew Strelsky1-1/+1
2021-07-27host_memory: Add workaround for FreeBSD 12Gravatar Jan Beich1-0/+5
src/common/host_memory.cpp:360:14: error: use of undeclared identifier 'memfd_create' fd = memfd_create("HostMemory", 0); ^
2021-07-27host_memory: Enable Linux implementation on FreeBSDGravatar Jan Beich1-2/+2
HW.Memory <Critical> common/host_memory.cpp:HostMemory:492: Fastmem unavailable, falling back to VirtualBuffer for memory allocation
2021-06-19host_memory: Correct MEM_RESERVE_PLACEHOLDERGravatar lat9nq1-1/+1
Microsoft defines `MEM_RESERVE_PLACEHOLDER` as `0x00040000`, but our manually imported version of it drops the last zero.
2021-06-11common/host_memory: Implement a fallback if fastmem fails.Gravatar Markus Wick1-14/+45
This falls back to the old approach of using a virtual buffer. Windows is untested, but this build should fix support for Windows < 10 v1803. However without fastmem support at all.
2021-06-11common/host_shader: Load Windows 10 functions dynamicallyGravatar ReinUsesLisp1-29/+88
Workaround old headers and libraries shipped on MinGW.
2021-06-11host_memory: Support staged VirtualProtect callsGravatar ReinUsesLisp1-3/+12
2021-06-11common/host_memory: Optimize for huge tables.Gravatar Markus Wick1-10/+19
In theory, if we have 2 MB continously mapped, this should save one layer of TLB. Let's make it at least more likely by aligning the memory.
2021-06-11common/host_memory: Add Linux implementationGravatar Markus Wick1-10/+120
2021-06-11common/host_memory: Add interface and Windows implementationGravatar ReinUsesLisp1-0/+320