Commit graph

28546 commits

Author SHA1 Message Date
lizzie
dfbe69be19 the abi sucks
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
cc6580dc5c fix stdu/ldu
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
d265620825 save more regs
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
c1fc1b459e Use ctr like gcc does
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
7aa677c114 more ppc fixes
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
a55fea2d6c chained calls for ppc64
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
61fb9a9dba inline a32core/a64core
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
crueter
fd8620fe31 build fixes + gentoo cross docs
Signed-off-by: crueter <crueter@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
b3ee1d35aa fix invalidations, use stack for checkbit
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
16a80b9f32 A64checkbit
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
170a9e0a29 A64: addition fixes extra
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
f10c180eb0 even more stupid fixes i feel angry
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
4d3b6030db fix xs stuffs
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
ed4b417e61 more bclr fixes
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
53a72f099a fixes for cmpld(i) encodings
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
2e3020c274 C -> O for ppc64; impl NZCV?
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
c1b028dca4 more fixes
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
40fbf86fd3 i forgot jit pointer, again
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
1ccf1e3331 just use STD() + offset, reorder stuff
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
0505fc4e50 let type deduction do its thing
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
091a6aa232 reglock draft 1
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
b23166c603 A64: ADD now passes
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
adeb5a6037 terminal draft1
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
0c808bae0d "A64: ADD" passes (except on PC check)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
30dbb7dcf2 polish up A64 to be ready to accept stuff (but NO-op)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
9176312491 remove args, directly ref inst stuff
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
7e757f27b6 fix license
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
aa1e5c161d exclude powah from non-ppc64
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
c254885d13 generation of add and extraction of flags
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
2a7043de26 first emitted block
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
851f03d4d7 backwards relocs
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
94f1c94fb8 relocations
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
abd7477350 cross compile instructions; ignore toolchain files
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:56 +00:00
lizzie
c2e046b275 spinlocks, annoyances with organistaion
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:55 +00:00
lizzie
47c8ecf450 cross compile instructions
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:55 +00:00
lizzie
2521f24c52 a64+a32 stubs (+some impls)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 20:09:55 +00:00
lizzie
bde265c6d5 fix stuff? 2026-03-29 20:09:55 +00:00
lizzie
59254cd1e7
[dynarmic] restore proper backtraces for A64 (#3794)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
trivial changes, fixes hard crashes

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3794
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 13:57:49 +02:00
lizzie
9a3af3a6a3
[shader_recompiler] fix CBuf get/set VUUID due to using composite for U32[1], F32[1] (#3790)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3790
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-03-29 01:59:45 +01:00
PavelBARABANOV
b473c18d6e
[android] Remove unused framepacing strings (#3795)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3795
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
Co-committed-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
2026-03-28 20:44:19 +01:00
maufeat
c984c387d7
[hid] shared memory crashes (#3784)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3784
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Co-authored-by: maufeat <sahyno1996@gmail.com>
Co-committed-by: maufeat <sahyno1996@gmail.com>
2026-03-27 23:32:51 +01:00
xbzk
5856beac54
[android,addons] per-game screen ext content unmount upon rotation hotfix (#3788)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
Fix the bug reported by Pavel in which when per-game settings screen is rotated a reloadGames() call causes external content reference to be missing.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3788
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Co-authored-by: xbzk <xbzk@eden-emu.dev>
Co-committed-by: xbzk <xbzk@eden-emu.dev>
2026-03-27 20:55:31 +01:00
lizzie
16e7e034d7
[ports, freebsd] remove fastmem ban (#3786)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
whatever issue there was, is now fixed on FBSD 15

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3786
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-03-27 13:49:10 +01:00
lizzie
47c6a73971
[dynarmic] nuke mcl dependency (#3777)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
crueter will love this one

mcl nuked off externals, i did however copy some important headers (notably intrusive list and bit.hpp); because grand part of dynarmic still uses them
but i made the appropriate adjustments anyways

solves mcl for #3373

depends on #3718

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3777
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-03-27 01:11:49 +01:00
PavelBARABANOV
813a35abca
[vi] Restore high Z-index for shared buffer layer to fix keyboard overlay display (#3787)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3787
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
Co-committed-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
2026-03-26 22:23:21 +01:00
crueter
93472023e2
[cmake] Fix macOS frameworks, and icon set usage (#3782)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
- The Xcode generator /mandates/ that you pass in the `.icon` directory
  into the build system, where it can then compose the asset itself.
- Assets.car and eden.icns were improperly handled; they are now
  automatically generated and should properly be applied as needed. I
  will need someone on Tahoe to confirm, however, as I am on Sequoia.
- Added some missing frameworks, ported from the KosmicKrisp branch.

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3782
2026-03-26 07:59:53 +01:00
lizzie
9cb7001656
[cmake] fixes for XCode when having languages other than C/C++ (#3772)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3772
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-03-26 04:46:43 +01:00
xbzk
f0d77e86e3
[android,ui] driver management: fixed driver add/removal unsync (#3757)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
Complementary for 3750.
User found a way to get same driver doubled and deleting one would lead to a crash.
Reason: manual driver install was still adding drivers directly to adapter, instead of thru drivermodel. fixed.
Also added guards against crash upon driver removal.
Thoroughly tested.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3757
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: xbzk <xbzk@eden-emu.dev>
Co-committed-by: xbzk <xbzk@eden-emu.dev>
2026-03-25 12:13:04 +01:00
lizzie
24fe223692
[dynarmic] Remove last FPT LUT table, removing around 30kb worth of unused functions (#3718)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
Lets do the quick math
There was 1 LUT for every fsize() instancing

Now... the number of functions on each lut was (fsize + 1), multiplied by 5 (number of rounding modes)

8 = 9 * 5 = 45
16 = 17 * 5 = 85
32 = 33 * 5 = 165
64 = 65 * 5 = 325

this is just pure insanity - look at what fucking nm reported:

```
0000000003dc39b8 0000000000000008 V guard variable for void Dynarmic::Backend::X64::EmitFPVectorToFixed<16ul, false>(Dynarmic::Backend::X64::BlockOfCode&, Dynarmic::Backend::X64::EmitContext&, Dynarmic::IR::Inst*)::lut
0000000003dc3a18 0000000000000008 V guard variable for void Dynarmic::Backend::X64::EmitFPVectorToFixed<16ul, true>(Dynarmic::Backend::X64::BlockOfCode&, Dynarmic::Backend::X64::EmitContext&, Dynarmic::IR::Inst*)::lut
0000000003dc39d8 0000000000000008 V guard variable for void Dynarmic::Backend::X64::EmitFPVectorToFixed<32ul, false>(Dynarmic::Backend::X64::BlockOfCode&, Dynarmic::Backend::X64::EmitContext&, Dynarmic::IR::Inst*)::lut
0000000003dc3a38 0000000000000008 V guard variable for void Dynarmic::Backend::X64::EmitFPVectorToFixed<32ul, true>(Dynarmic::Backend::X64::BlockOfCode&, Dynarmic::Backend::X64::EmitContext&, Dynarmic::IR::Inst*)::lut
0000000003dc39f8 0000000000000008 V guard variable for void Dynarmic::Backend::X64::EmitFPVectorToFixed<64ul, false>(Dynarmic::Backend::X64::BlockOfCode&, Dynarmic::Backend::X64::EmitContext&, Dynarmic::IR::Inst*)::lut
0000000003dc3a58 0000000000000008 V guard variable for void Dynarmic::Backend::X64::EmitFPVectorToFixed<64ul, true>(Dynarmic::Backend::X64::BlockOfCode&, Dynarmic::Backend::X64::EmitContext&, Dynarmic::IR::Inst*)::lut
```

"ah its not bad" - OH MATE ITS JUST THE GUARD VARIABLES - i attached a file with just the functions generated for each case...

now with this PR only 6 * 6 functions are made (still not ideal, but way better), 36 is way better than 1156 FUCKING FUNCTIONS

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3718
Reviewed-by: DraVee <chimera@dravee.dev>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-03-25 10:48:53 +01:00
PavelBARABANOV
8f770618d2
[android] Rework of frame pacing mode + Surface mode detection per API level. (#3735)
Some checks failed
tx-src / sources (push) Has been cancelled
Check Strings / check-strings (push) Has been cancelled
This Pr is a reply to certain issues found on Android due to the new artificial waits inside Vulkan (Frame Pacing Mode); which caused GPU/CPU desync's even if TimelineSemaphore (Adreno's drivers) does a constant check to retain synchronization with each frame-data, removes the yield() for all platforms (remains the same on PC) and aligns a new way to handle the output of video by using native Android tools, such as AGP, which makes a bridge inside Vulkan to Android's Surface (screen) and reduces not only the latency, but also improves the smoothness of each frame processed; currently we quantize the amount of frame processed by hinting the surface on Android space and adjust the heuristics of the old handling (yuzu) and we link it to screen refresh rate; this way we ensure that even if the game moves below the screen's HZ, we can always pick up the cadence by clamping the duration of each frame and using a chrono function to work as internal fernce if performance goes below the game speed requirment or game's frame rate requirements.

Co-authored-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3735
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
Co-committed-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
2026-03-24 01:25:44 +01:00