Commit graph

25390 commits

Author SHA1 Message Date
lizzie
d7348b89fc restore stupid lock, make ps4sup library 2026-06-27 17:59:15 +00:00
lizzie
894aa8d03e bs fix 2026-06-27 17:59:15 +00:00
lizzie
10daa0178f temp fix for dpad 2026-06-27 17:59:15 +00:00
lizzie
bca6e430b4 add emutls.c 2026-06-27 17:59:15 +00:00
lizzie
c1ec46f871 reduce arm codeisze, force 16x4 pages again 2026-06-27 17:59:15 +00:00
lizzie
b194520f6e extra buffer precautions to not exhaust DMem, format better + perf history nerf 2026-06-27 17:59:15 +00:00
lizzie
4139246a80 more inline pt2 2026-06-27 17:59:15 +00:00
lizzie
d3d910e8e4 fix atexit impl 2026-06-27 17:59:15 +00:00
lizzie
bb6005bbef fibers that don't immediately crash?!!?!?!!? 2026-06-27 17:59:15 +00:00
lizzie
bf7494bc66 force running services on host 2026-06-27 17:59:15 +00:00
lizzie
6c83d10add fix alloc failures 2026-06-27 17:59:15 +00:00
lizzie
5e7444f1e3 fix for crashes on TLS due to openorbis being W E I R D 2026-06-27 17:59:14 +00:00
lizzie
32b49e60d9 opengl bullshit 2026-06-27 17:59:14 +00:00
lizzie
b0077d6035 proper memswap mechanism 2026-06-27 17:59:14 +00:00
lizzie
2ed2d64452 more stupid stuff 2026-06-27 17:59:14 +00:00
lizzie
038f3acfbe fixes 4 stuff 2026-06-27 17:59:14 +00:00
lizzie
cf511dd70e swap handling 2026-06-27 17:59:14 +00:00
lizzie
2a5a30d11e license 2026-06-27 17:59:14 +00:00
lizzie
0c715b12db evil haxx 2026-06-27 17:59:14 +00:00
lizzie
f8c9ded3e2 extra ps4 defs 2026-06-27 17:59:14 +00:00
lizzie
fc491e09be force NO fastmem 2026-06-27 17:59:14 +00:00
lizzie
4e5a0572e6 more memory shit 2026-06-27 17:59:14 +00:00
lizzie
ec09b5469a MAP_SYSTEM 2026-06-27 17:59:14 +00:00
lizzie
e5731e987c (likely) fixes for virtual dmem? 2026-06-27 17:59:14 +00:00
lizzie
b7c8ce41ff disable fastmem 2026-06-27 17:59:14 +00:00
lizzie
d74ed3fdd4 try to fix the paths 2026-06-27 17:59:14 +00:00
lizzie
3584ffba6e sysconf stub cuz crash(?) + some stderrp stuff 2026-06-27 17:59:14 +00:00
lizzie
b1cab8f842 the orb 2026-06-27 17:59:14 +00:00
lizzie
dff6b0305f fself + pkg stuffs 2026-06-27 17:59:14 +00:00
lizzie
5919760c23 make .pkg and .self 2026-06-27 17:59:14 +00:00
lizzie
af0bf78deb exclude more stuff from vulkan 2026-06-27 17:59:14 +00:00
lizzie
fab0464e0d exclude from vulkan surface selection 2026-06-27 17:59:14 +00:00
lizzie
5ffee30707 merge 2026-06-27 17:59:14 +00:00
lizzie
94c23e843d merge 2026-06-27 17:59:12 +00:00
maufeat
0c2894eabf
[hle] add: (re)winding application and revert option<Process> back to unique_ptr (#4134)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
This add winding application function. Test this by opening qlaunch -> top left Profile -> edit profile picture -> go back (do not save if you are on fw21+, it corrupts the image)
And reverts in #3908 added `optional<Process>` to `unique_ptr<Process>`

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4134
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-27 16:47:46 +02:00
lizzie
d8a8169eb2
[hle/bsd] do not use rust-result wannabe Expected in functions (#4075)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
rust has Result<T,E> but we don't really need that in c++, also the header just sucks, objectively

Signed-off-by: lizzie lizzie@eden-emu.dev

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4075
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-27 08:50:24 +02:00
lizzie
81c6e56713
[core/am] ban y2k domain to make Civ7 boot web-appletless (#3868)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3868
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-27 08:46:18 +02:00
MaranBr
b4b41ee62c
[buffer_cache] Add option to control GPU buffer readback (#4126)
Added an option to control the GPU buffer readback, as it causes issues if the hardware cannot keep up with the additional workload.

Some games require this to render certain effects properly.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4126
2026-06-27 08:38:04 +02:00
simply0001
0d6a2158f0
[maxwell_3d] append inline index draw streams in bulk (#4083)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
Inline index draws arrive as a batch but were processed one word at a time, so each index ran through the full per-method path and got appended a byte at a time.
Handle the whole batch in one pass instead, updating state once and appending all the indices together. Replay shadow control still goes word by word since it has to reload each one.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4083
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-27 02:52:59 +02:00
xbzk
09b6b3b71e
xbzk/gpu-logging_qt-controls_android-fix (#4018)
5af7771f83-Bugfix: Made gpu_log_level global-only (was per-game switchable). Fixed Android non-determinism where a per-game profile silently overrode the global to Off and trapped GPULogger::Initialize() in a dead state, making shader dumps fail invisibly. Android per-game UI now hides the whole GPU logging block; Qt UI is untouched (global-only anyway).

bf4aabe8ab-Refactor/Cleanup: Removed gpu_logging_enabled master toggle as redundant with gpu_log_level == Off. Introduced GPU::Logging::IsActive() helper, replaced 14 call sites across vk_*.cpp. Refactored LogShaderCompilation() to be text-only and extracted SPIR-V dumping into a standalone GPU::Logging::DumpSpirvShader() free function. No singleton dependency, gated only by gpu_log_shader_dumps. Now gpu_log_level and gpu_log_shader_dumps are fully orthogonal. Cleaned up Android (BooleanSetting, SettingsItem, presenter, 7 locale string files).

865a1c5027-Refactor: Renamed dump_shaders → dump_guest_shaders to disambiguate from gpu_log_shader_dumps. Updated Qt label to "Dump Guest (Maxwell) Shaders" and rewrote the tooltip to mention .ash, the DumpDir/shaders/ location, and nvdisasm.

7cab456fdf-Feature: Added Qt UI control for GPU log level in the Logging session. Added gpu_log_shader_dumps checkbox to the Graphics column right below dump_guest_shaders.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4018
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-27 02:52:13 +02:00
simply0001
629ebf1bde
[video_core/maxwell3d] compute macro param address on demand (#4067)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
GetMacroAddress only reads a couple of indices per macro, but ProcessMacro was
then building a full std::vector GPUVAddr> with one push_back per parameter word
every submission. macro_segments already holds base, count per chunk, so
GetMacroAddress can just walk it instead, drops the per-word loop, a
.clear(), and a vector member.

Also makes it so it returns on the first match in the macro dispatch instead of running every
std::get_if check.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4067
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-06-26 04:15:31 +02:00
lizzie
6bdb03d8ac
[common/virtual_buffer] Fix Windows on Snapdragon 7C realizing virtual pages before they're needed (#4128)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
This should fix Windows devices with low RAM like 4GB, or anything lower than 8GB.

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4128
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-25 00:11:36 +02:00
Eden CI
599ab16288
[dist, android] Update translations from Transifex for Jun 23 (#4121)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
Automatic translation update for Jun 23

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4121
2026-06-24 01:43:13 +02:00
Eden CI
30a42c5a6a
[dist, android] Update translations from Transifex for Jun 20 (#4114)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
Automatic translation update for Jun 20

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4114
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-23 10:48:02 +02:00
lizzie
3aa0d46259
[video_core, hle] remove redundant parent references in system structs (#3908)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
reworked a bit to remove references of parent objects and instead pass as arguments to methods to prevent useless reloads

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Co-authored-by: maufeat <sahyno1996@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3908
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-23 06:31:25 +02:00
lizzie
f8facda35f
[vk] Prevent OOM due to increased staging buffer on *nix (#4116)
*nix drivers for NVIDIA doesn't seem to like the increased size.
Windows is fine with it however.

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4116
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-23 01:48:11 +02:00
crueter
39be450fa3
[desktop] Add basic carousel view (#4112)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
Adds a basic carousel view, or essentially a horizontal list a la Android/Qt Quick.

Lacks a lot of niceties like autoscroll, smooth shifts, etc. Will work on those later

Also fixed a bug introduced recently that capped game icon size to 8 at the low end, breaking the None option

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4112
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-06-22 21:04:47 +02:00
MaranBr
68aaea6085
[buffer_cache] Refactor buffer synchronization to use bounding-box download region (#4094)
Implement bounding-box buffer synchronization to minimize downloads and preserve GPU-modified regions during uploads.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4094
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
2026-06-22 17:05:59 +02:00
MaranBr
ba608d2b57
[video_core] Add in-flight flush throttling to prevent CPU/GPU desync (#4085)
Prevent the CPU from getting too far ahead of the GPU by limiting pending flushes.

This fixes graphical issues in games that rely on better CPU and GPU synchronization in the Scheduler, such as the flickering bug inside shrines in The Legend of Zelda: Tears of the Kingdom.

This is enabled when the GPU is in Accurate mode.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4085
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
2026-06-22 17:05:18 +02:00
MaranBr
c22f57bc4e
[video_core] Improve StagingBufferPool stream allocation (#4101)
This fixes (I really hope so) the random graphical corruption issue that can occur in Mario Kart 8 Deluxe and possibly other games as well.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4101
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
2026-06-22 17:04:52 +02:00