Commit graph

28627 commits

Author SHA1 Message Date
lizzie
7b7b50f37c emission focused on branch/bctr 2026-04-30 15:48:12 +00:00
lizzie
1e123f2b4f move docs inline, add data.txt + altivec_data.txt 2026-04-30 15:48:12 +00:00
lizzie
20de5184f1 the abi sucks
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
ab3c408804 fix stdu/ldu
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
78cde5696c save more regs
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
34c18d2807 Use ctr like gcc does
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
13122495ab more ppc fixes
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
e402b973f4 chained calls for ppc64
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
d4aced9a7c inline a32core/a64core
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
crueter
af617cef09 build fixes + gentoo cross docs
Signed-off-by: crueter <crueter@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
a568424f63 fix invalidations, use stack for checkbit
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
280f027349 A64checkbit
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
dc8a0dbe88 A64: addition fixes extra
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
604c9220c7 even more stupid fixes i feel angry
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
084f0261af fix xs stuffs
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
e6f445622b more bclr fixes
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
a9077ad027 fixes for cmpld(i) encodings
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
f22407e1b3 C -> O for ppc64; impl NZCV?
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
5cf8510cef more fixes
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
391c29fdf5 i forgot jit pointer, again
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
43aac10fe9 just use STD() + offset, reorder stuff
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
e053bbbf6f let type deduction do its thing
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
cdbc19e6e3 reglock draft 1
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
4470c7637f A64: ADD now passes
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
cbfe8176e0 terminal draft1
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
e69dec8779 "A64: ADD" passes (except on PC check)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
28a50d54f0 polish up A64 to be ready to accept stuff (but NO-op)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
43ebf9784c remove args, directly ref inst stuff
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
c450f5bc53 fix license
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
04c6b26178 exclude powah from non-ppc64
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
9f96d4f8e4 generation of add and extraction of flags
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
6ed669f685 first emitted block
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
4efcad3ddd backwards relocs
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
8cfcfaa44c relocations
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
3701fb67a2 cross compile instructions; ignore toolchain files
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
1dc982c441 spinlocks, annoyances with organistaion
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
cce2005716 cross compile instructions
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:12 +00:00
lizzie
0aa81ac7c4 a64+a32 stubs (+some impls)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-04-30 15:48:11 +00:00
lizzie
5088ca2be8 fix stuff? 2026-04-30 15:48:11 +00:00
lizzie
8765b49512
[video_core] fix H264 and jthread() causing spurious errors (#3907)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
fixes regression by #3878

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3907
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-04-29 19:23:20 +02:00
lizzie
a587b7dc3a
[hle/nvdrv] drop redundant shared_ptr<> in internal nvhost_as_gpu mappings (#3858)
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/3858
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-04-29 16:44:28 +02:00
lizzie
90515bc6a2
[host1x] fix ffmpeg not having va-api on freebsd, inline nvenc (#3878)
- fix va-api not being used on freebsd

small thingies dont affect a lot:
- removes some pointer indirection (why save pointer to GMMU if its accesible via host1x)
- use std::variant<> for decoder
- miscelly vp9/v8/h264 opts
Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3878
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-04-29 16:41:25 +02:00
crueter
676b1aabfc
[frontend] Built-in auto updater (#3845)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
Checks latest release and opens a dialog containing the changelog, and
allow the user to select a specific build to download. After
downloading, it prompts the user to open it.

On Windows, this just opens up the zip in File Explorer. In the future setup files will be available. On macOS this opens up the DMG in Finder so the user can drag it to the Applications folder. Android retains the auto-update functionality from before, but updated to the new scheme. Body/View on Forgejo are not implemented, that should be in a future PR.

Additionally, moved some common httplib incantations to `Common::Net`. This will serve as the common network accessor and JSON parser from here on out.

TODO:
- [x] android :(
- [x] Search for builds based on keywords, with weights towards certain builds (e.g. macOS will search for dmg then tar.gz, windows msvc then mingw/exe then zip, etc.)
- [x] remove linux leftovers
- [x] don't allow asset selection on platforms w/o assets
- [x] nightly changelog should be in the real

FUTURE IMPLEMENTATION:
- [ ] Body/View on Forgejo for Android
- [ ] Setup files for Windows (Eden/nightly are separate) -- maybe portable/setup selector?
- [ ] Something else I'm forgetting

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3845
2026-04-28 20:42:23 +02:00
lizzie
77decca678
[video_core/engines/maxwell3d] memory inline DrawState to reduce indirection on hot paths (#3758)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
usual indirection removal
helps very slightly to codegen

the idea is basically to reduce the amount of pointer deference overall in the code, and use idiomatic std::variant<>-isms to not rely on vtables/unique_ptr overhead
this should allow the compiler to emit better code
of course it's a tiny optimisation and only CPU side, but allows us to reduce indirection which is almost always a good thing

"but youre passing more parameters to the function!!!" its literally memoized into a register my friend

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3758
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-04-28 17:44:51 +02:00
Eden CI
ed225f8a8b
[dist, android] Update translations from Transifex for Apr 28 (#3902)
Automatic translation update for Apr 28

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3902
2026-04-28 16:11:44 +02:00
lizzie
d69bd86183
[memory] coalesce redundant remappings of MultiPageLevel (#3857)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
there is no need to call mmap() over the mapped region as the OS will automatically map it via lazy paging

basically the mmap() and virtualAlloc on a region already allocated is a no-op (FOR THIS SPECIFIC USECASE)

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3857
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-04-28 01:17:56 +02:00
lizzie
c172abfb53
[hle] reuse previous pagetable when initializing new processes on the same KProcessPageTable (#3891)
VirtualBuffer<> would be recreated each time due to the `operator=()` from the unique_ptr<> when initializing a new process, this change makes it so said thing doesn't happen (instead it resizes the existing buffer)

this means that consecutive launches of the same process that happen to have the same process page table (or reuse it) will no longer incur a ctor/dtor path for VirtualBuffer and instead just resize the existing one

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3891
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-04-28 01:15:21 +02:00
lizzie
d33dc16820
[dynarmic] set BL terminal as FastLinkBlock (#3811)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3811
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-04-28 01:12:35 +02:00
lizzie
8cdaf19a83
[video_core] simplify InvalidationAccumulator (#3890)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
various redundant fields aren't required, so just redo it for good measure

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3890
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-04-28 00:24:54 +02:00
lizzie
f088f5bd45
[loader] change ASLR algo to be more uniform (#3869)
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/3869
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-04-27 05:09:55 +02:00