lizzie
87cacbeed4
[compat] HaikuOS port ( #2805 )
...
Still had the issues with libusb, but that should get solved with the other PRs anyways
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2805
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-10-22 04:53:40 +02:00
xbzk
dfca07f4e3
Initial a9 (minsdk=28) support ( #2600 )
...
Minimal changes to make android 10 installable and emulationFragment not immediately crashable.
Testers (mainly android 10) NEEDED!!!
Co-authored-by: Allison Cunha <allisonbzk@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2600
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Co-authored-by: xbzk <xbzk@eden-emu.dev >
Co-committed-by: xbzk <xbzk@eden-emu.dev >
2025-10-01 00:10:59 +02:00
lizzie
cda6958111
[host_memory] decrease latency of mapping on linux ( #232 )
...
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/232
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-09-17 02:31:44 +02:00
lizzie
9d2681ecc9
[cmake] enable clang-cl and WoA builds ( #348 )
...
Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64.
Compiling on clang is *dramatically* faster so this should be useful for CI.
Co-authored-by: crueter <crueter@eden-emu.dev >
Co-authored-by: crueter <crueter@crueter.xyz >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/348
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-09-09 20:47:49 +02:00
innix
6fcfe7f4f3
[macOS, compat] Allow games to boot in MacOS ( #372 )
...
This fixes the crashes on game launch caused by MacOS not being present in host_manager.cpp and enables primitiveRestart for MoltenVK to suppress a bunch of errors given in the log about MoltenVK requiring primitiveRestart. Fixes an crash when switching kingdoms in Mario Odyssey as well
EDS is forced to 0, otherwise games do not show graphics
Note: For now only dynarmicc is working, performance will be slow
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/372
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: MaranBr <maranbr@outlook.com >
Co-authored-by: innix <dev@innix.space >
Co-committed-by: innix <dev@innix.space >
2025-09-01 09:23:03 +02:00
lizzie
f005f6a3ab
[compat] fix freebsd mmap virtual base ( #354 )
...
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/354
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-30 17:03:56 +02:00
MaranBr
57fbdd516e
[host_memory] Fix a bunch of memory errors on Windows ( #303 )
...
This fixes a bunch of memory errors that could happen on Windows. Possibly regression introduced on PR 187.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/303
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Co-authored-by: MaranBr <maranbr@outlook.com >
Co-committed-by: MaranBr <maranbr@outlook.com >
2025-08-29 14:20:22 +02:00
lizzie
7950c5cca0
[common/host_memory] use assert instead of throw on Impl() ctor; abort on error ( #316 )
...
Rationale: Throwing when running out of memory just creates sad paths for no reason (and at that point, just abort immediately). We are using MAP_NORESERVE, if there isn't enough memory a crash will follow anyways.
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/316
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-27 22:26:08 +02:00
lizzie
e807e32b1a
[compat] fix solaris Qt build ( #194 )
...
Co-authored-by: crueter <crueter@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/194
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-15 04:12:45 +02:00
lizzie
3b72c29303
[compat] fix solaris shm_open syscall causing crashes with SHM_ANON, implement portable posix shm_open_anon ( #187 )
...
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/187
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-02 22:21:50 -04:00
swurl
3cad73dad6
Revert "THIS NEEDS TO BE CHECKED BEFORE MERGE: RAII fix, initial MSAA, some fixes for memory misallocation ( #116 )"
...
This reverts commit ce5d5d2aff .
2025-05-19 15:22:08 -04:00
MrPurple666
ce5d5d2aff
THIS NEEDS TO BE CHECKED BEFORE MERGE: RAII fix, initial MSAA, some fixes for memory misallocation ( #116 )
...
• MSAA Fixes: Fixes upload/download for MSAA textures using temporary non-MSAA images. Ensures compatibility with color formats and adds fallbacks for depth/stencil.
• Memory fix misallocation: Adds checks for null/zero-length operations in memory management and improves cleanup to avoid crashes (Related to crash issues due to misallocation, RP5 and 865)
• Vulkan Initialization (RAII): this almost rewrites the way vulkan initializes to avoid crashes, using a correct order now (thanks @crueter for the initial fix)
•Please check before merging:
- Test MSAA workflows (especially color/depth transitions and low memory cases).
- Verify memory operations (e.g., unmapping zero-length regions).
- Check Vulkan object lifetimes and platform-specific behavior.
- Check others plataforms beyond android
Why is everything in one PR? Otherwise, this is all a big fix, by checking the points above we can create a branch for each one and check them by themselves. I'm not standing still while I'm away, I'm just out of time for now.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/116
Co-authored-by: MrPurple666 <mrpurple666@noreply.localhost >
Co-committed-by: MrPurple666 <mrpurple666@noreply.localhost >
2025-05-18 17:45:32 +00:00
FearlessTobi
4d55e58ee4
scope_exit: Make constexpr
...
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
2024-02-19 16:00:46 +01:00
Liam
c366d8e8d9
core: track separate heap allocation for linux
2023-12-25 23:30:56 -05:00
Liam
1075c88dca
common: use memory holepunching when clearing memory
2023-12-14 23:44:33 -05:00
Jan Beich
d4e8540135
host_memory: move MAP_ALIGNED_SUPER attempt after de66cf5637
...
src/common/host_memory.cpp:410:14: error: unused function 'ChooseVirtualBase' [-Werror,-Wunused-function]
410 | static void* ChooseVirtualBase(size_t virtual_size) {
| ^~~~~~~~~~~~~~~~~
2023-12-02 00:25:50 +01:00
Jan Beich
6ab3d70252
host_memory: allow missing MAP_NORESERVE on FreeBSD after de66cf5637
...
src/common/host_memory.cpp:408:47: error: use of undeclared identifier 'MAP_NORESERVE'
MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE, -1, 0);
^
2023-12-02 00:25:50 +01:00
GPUCode
fab81ee39d
cmake: Move HAS_NCE to root cmake
...
* So we can use it in common
2023-11-29 01:35:06 +02:00
Liam
82c5e2472e
general: fix mac compile
2023-11-26 19:50:10 -05:00
GPUCode
064d5bf4aa
host_memory: Simplify randomness generation
2023-11-25 00:47:43 -05:00
GPUCode
3814ca9d84
Address some review comments
2023-11-25 00:47:35 -05:00
GPUCode
3764cc4be2
android: Add cpu bakend gui toggle
2023-11-25 00:47:28 -05:00
Liam
19619b1b14
arm: Implement native code execution backend
2023-11-25 00:46:47 -05:00
GPUCode
2590906d14
core: Respect memory permissions in Map
2023-11-25 00:46:15 -05:00
Liam
0dc5c75243
host_memory: Switch to FreeRegionManager
2023-11-25 00:46:15 -05:00
Liam
de66cf5637
host_memory: ensure map base is between 36 and 39 bits
2023-11-25 00:46:15 -05:00
bunnei
31ad92b287
Merge pull request #10508 from yuzu-emu/lime
...
Project Lime - yuzu Android Port
2023-06-05 21:43:43 -07:00
bunnei
699d6751d8
common: host_memory: Implement for Android.
2023-06-03 00:05:26 -07:00
kkoniuszy
802d30d421
host_memory: merge adjacent placeholder mappings on Linux
...
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-06-01 22:57:27 +02:00
Liam
5be8a74b0c
general: fix spelling mistakes
2023-03-12 11:33:01 -04:00
Merry
0abd0d6af9
host_memory: Use transparent huge pages where available
2023-01-01 11:40:35 +00:00
Merry
192f349e5f
host_memory: Allocate virtual_base with MAP_NORESERVE
...
Specify that we do not require swap to be reserved for this address range;
allow overcommitting.
2023-01-01 11:40:35 +00:00
Liam
9509fb30a4
Initial ARM64 support
2022-11-09 16:58:49 -05:00
Morph
2b87305d31
general: Convert source file copyright comments over to SPDX
...
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-23 05:55:32 -04:00
Merry
ae642bbff2
common: Replace lock_guard with scoped_lock
2022-04-07 19:30:55 +01:00
ameerj
f9709bb9e9
general: Fix clang/gcc build errors
2022-03-20 02:25:09 -04:00
ameerj
e70b4f3fc5
common: Reduce unused includes
2022-03-19 15:01:31 -04:00
Morph
5ea520a149
host_memory: Fix fastmem crashes in debug builds
...
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 >
2022-03-02 18:36:59 -05:00
ameerj
8969273d2d
general: Add missing copyright notices
2021-12-05 16:18:53 -05:00
Andrew Strelsky
a24aa6e5bd
Fixed invalid iterator usage
2021-09-29 06:58:48 -04:00
Jan Beich
471ddd0674
host_memory: Add workaround for FreeBSD 12
...
src/common/host_memory.cpp:360:14: error: use of undeclared identifier
'memfd_create'
fd = memfd_create("HostMemory", 0);
^
2021-07-27 20:15:23 +00:00
Jan Beich
112a8e017d
host_memory: Enable Linux implementation on FreeBSD
...
HW.Memory <Critical> common/host_memory.cpp:HostMemory:492: Fastmem unavailable, falling back to VirtualBuffer for memory allocation
2021-07-27 20:09:43 +00:00
lat9nq
bee420dcfb
host_memory: Correct MEM_RESERVE_PLACEHOLDER
...
Microsoft defines `MEM_RESERVE_PLACEHOLDER` as `0x00040000`, but our
manually imported version of it drops the last zero.
2021-06-19 04:38:33 -04:00
Markus Wick
161ade6da0
common/host_memory: Implement a fallback if fastmem fails.
...
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-11 17:27:17 +02:00
ReinUsesLisp
f664a4d4c1
common/host_shader: Load Windows 10 functions dynamically
...
Workaround old headers and libraries shipped on MinGW.
2021-06-11 17:27:17 +02:00
ReinUsesLisp
f36a769085
host_memory: Support staged VirtualProtect calls
2021-06-11 17:27:17 +02:00
Markus Wick
8d2a08553e
common/host_memory: Optimize for huge tables.
...
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-11 17:27:06 +02:00
Markus Wick
9a4cec64e1
common/host_memory: Add Linux implementation
2021-06-11 17:27:06 +02:00
ReinUsesLisp
1f0491900b
common/host_memory: Add interface and Windows implementation
2021-06-11 17:27:06 +02:00