Commit graph

28667 commits

Author SHA1 Message Date
lizzie
f27dd84647 fx2 2026-05-16 18:12:26 +02:00
lizzie
03436d4a50 fx 2026-05-16 18:12:26 +02:00
CamilleLaVey
9927325e11 [vulkan, sgsr] Adjusting vkCmdPushConstant to receive vertex and fragment stages 2026-05-16 18:12:26 +02:00
CamilleLaVey
6e608297c7 [vulkan, sgsr] Added missing stage bit 2026-05-16 18:12:26 +02:00
lizzie
4f94aabd0a fix cmake 2 2026-05-16 18:12:26 +02:00
lizzie
3b330b18e1 allow control sharpness from [0,2.0] 2026-05-16 18:12:26 +02:00
lizzie
b194a11b12 dont multiply shit randomly, just premult the texcoord to scale :) 2026-05-16 18:12:26 +02:00
lizzie
321e9d3e54 force ci 2026-05-16 18:12:26 +02:00
lizzie
667ad7d958 STOP CRASHING ANDROID 2026-05-16 18:12:26 +02:00
lizzie
5374441d35 fuckyou 2026-05-16 18:12:26 +02:00
lizzie
b627c90034 edgedir fix 2026-05-16 18:12:26 +02:00
lizzie
7d06820d6d Add SGSR edge variant 2026-05-16 18:12:26 +02:00
lizzie
f31819439e fix license 2026-05-16 18:12:26 +02:00
lizzie
a9da908e0c fixup sgsr for realsies 2026-05-16 18:12:26 +02:00
lizzie
e7df68f746 fix sgsr 2026-05-16 18:12:26 +02:00
lizzie
51cf03a2fa fix sgsr with new variant shit 2026-05-16 18:12:26 +02:00
CamilleLaVey
70506c6c4d [renderer_vulkan, sgsr] Another try 2026-05-16 18:12:26 +02:00
CamilleLaVey
49681f0e55 [renderer_vulkan, sgsr] Playing a bit with viewports 2026-05-16 18:12:26 +02:00
lizzie
289ca0eae1 fx 2026-05-16 18:12:26 +02:00
lizzie
5c8f312107 new glsl shit 2026-05-16 18:12:26 +02:00
lizzie
32dfadaa8b fix 2 2026-05-16 18:12:26 +02:00
lizzie
86bf21ef94 push new 2026-05-16 18:12:26 +02:00
lizzie
2fd82bf947 fix relaxed errors 2026-05-16 18:12:26 +02:00
lizzie
6ffc2effc0 fix sgsr on android hopefully 2026-05-16 18:12:26 +02:00
lizzie
b0a95c8278 FIX FUCKING BUILD 2026-05-16 18:12:26 +02:00
lizzie
b98f80205c fix oob error 2026-05-16 18:12:26 +02:00
lizzie
7b1723cc45 push constant is inverse 2026-05-16 18:12:26 +02:00
lizzie
1f3dbd8cc7 fix everything 2026-05-16 18:12:26 +02:00
lizzie
403025bbf7 fix deps 2026-05-16 18:12:26 +02:00
lizzie
9800c623d1 fuck this 2026-05-16 18:12:26 +02:00
lizzie
b98d7a25fd fix for push constants 2026-05-16 18:12:26 +02:00
lizzie
15cbf8f240 extra stuffs 2026-05-16 18:12:26 +02:00
lizzie
c52636482f [android] add sgsr to ui 2026-05-16 18:12:26 +02:00
lizzie
75f710752e fix 2026-05-16 18:12:26 +02:00
lizzie
6d13274f9f [video_core/host_shaders] add Snapdragon GSRv1 fragment shaders
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-05-16 18:12:26 +02:00
lizzie
4d49341918
[vk, opengl] recognize and use ETC2 (if available) textures natively (#3237)
Some checks failed
tx-src / sources (push) Has been cancelled
Check Strings / check-strings (push) Has been cancelled
this makes it so VK and OGL backends map the NVIDIA's ETC2 into VK_FORMAT_ETC-whatever and GL_ETC-whatever remaps, instead of using the default fallback for AR8G8B8. in short, just make the ETC2 textures be submitted as ETC2 instead of being submit as A8R8G8B8.

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3237
Reviewed-by: Ghost <>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-15 22:08:09 +02:00
lizzie
2f0f8a979c
[dynarmic, macroHLE] Use faster ankerl for xbyak maps (#3716)
the nominal std::unordered_map<> isn't enough to warrant it's continued usage in xbyak internal structures, thus using ankerl should greatly remove a lot of indirection/stdc++ specific overhead from the usually poorly performant std::unordered_map

Both dynarmic and macroHLE should benefit greatly from a less-stupid unordered_dense

This should speedup both CPU and shader compilation latency (NOT BY A GREAT MARGIN) just enough to make loading zones in ToTK less horrific

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3716
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-15 22:07:45 +02:00
lizzie
413c7543ba
[hle] inline HLE cmif request to not allocate on heap stuff (#3605)
so basically each construction of HLEContext and whatever would result in a heap allocation (atleast 1)

so what if instead of that we did a memset() at ctor time and we avoided heap allocations altogether?

reminder that std::vector<> CAN do small object optimisation but it's not guaranteed

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3605
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-15 22:07:03 +02:00
lizzie
975aa4e2f2
[common] remove ptr indirection on WallClock (#3864)
also devirtualizes manually since compiler doesn't do it with LTO

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3864
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-15 22:06:38 +02:00
lizzie
a1f9e68f46
[hid_core] remove contentious mutex from EmulatedController and just rely on atomic semantics for fields (#3866)
inputs shouldnt be that critical to require a full mutex of them

this relies on CPU guaranteeing u32/u16/u8 atomic load/stores for EmulatedController fields, which works on x86_64 but may not have the same behaviour on other architectures - thats why i wrap them in `std::atomic<>`

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3866
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-15 22:06:23 +02:00
lizzie
02dee4a20b
[file_sys/system_archive] remove uneeded ctor/dtor initializations for std::map<> when creating system archives for nx_tzdb generated files (#3919)
sounds like word salad but let me say:

- std::map<> created a static ctor for EVERY SINGLE ZONEINFO
- fuck that, instead lets just use a raw array and construct things statically
- works the same except with less baggage carried around (+ less heap allocations!!!)

this should help reduce codesize due to the aforementioned global ctor/dtor

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3919
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-15 22:05:32 +02:00
lizzie
bc9b9480fb
[dynarmic] fix 12th-gen Intel CPUs crashing due to UMONITOR (#3954)
see https://github.com/herumi/xbyak/issues/255

> Proof: https://godbolt.org/z/9vseq4Ynj
> Xbyak currently implements it as:
> ```c++
> void umonitor(const Reg& r) {
> int idx = r.getIdx();
> if (idx > 7) XBYAK_THROW(ERR_BAD_PARAMETER) //umonitor DOES accept r8,r9,r10,etc this is NOT correct
> int bit = r.getBit();
> if (BIT != bit) {
>   if ((BIT == 32 && bit == 16) || (BIT == 64 && bit == 32)) {
>     db(0x67);
>   } else {
>     XBYAK_THROW(ERR_BAD_SIZE_OF_REGISTER)
>   }
> }
> db(0xF3); db(0x0F); db(0xAE); setModRM(3, 6, idx);
> }
> ```
> My program was throwing Xbyak::Exception and I tracked it down to this particular umonitor

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3954
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-15 22:01:42 +02:00
lizzie
d1ceeeca22
[cmake] use -mtls-dialect=gnu2 (#3948)
Some checks failed
tx-src / sources (push) Has been cancelled
Check Strings / check-strings (push) Has been cancelled
see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120933

we use TLS very sparingly (which is a good thing), some of our dependencies, in turn, may not
we should be aware of that fact

allegedly, there are minor glibc issues and such, but most distros should be fine
additionally, this is only enabled for FreeBSD and Linux, if it works on FreeBSD, naturally every Linux distro should support it as well

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3948
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
2026-05-14 00:17:13 +02:00
lizzie
ee188168c1
[common] do not crash when don't have permissions to /tmp/eden directory due to unforessen circumstances (FreeBSD) (#3912)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
instead of throwing, use std::error_code and such

due to reasons unberknownst to me, the UID of the /tmp/eden directory was set for another user, this inevitably caused a crash due to wrong permissions (which is a very user unfriendly thing to do generally)

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3912
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-13 19:14:59 +02:00
lizzie
1f558ce9b3
[vk, ogl] bump shader cache version to 17 (#3947)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3947
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-13 19:14:18 +02:00
smiRaphi
28a2ff1b94
[file_sys] fix romfs_ext mods (#3914)
Makes them show up in the menu & also let's them load from SDMC

Note: the android edit is totally untested and I've no clue of Kotlin but I don't see a reason why it shouldn't work

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3914
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-13 19:13:44 +02:00
Eden CI
d8070c74c3
[dist, android] Update translations from Transifex for May 12 (#3949)
Automatic translation update for May 12

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3949
2026-05-13 19:13:16 +02:00
lizzie
b89cd6903c
[jit] fix Super Mario 64 in SM3D: All-Stars (#3950)
jit service had wrong check for module versions
missing handlers for some funcs
the page cache i added interfered with jit (gee who would've tought)

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3950
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-05-13 19:02:33 +02:00
John
7e84f9ef59
[common] Revert back Aync GPU default to true to fix flickering on Linux (#3946)
Some checks failed
tx-src / sources (push) Has been cancelled
Check Strings / check-strings (push) Has been cancelled
The cause of the flickering needs to be investigated but this will set it ON as default for desktop platforms.

Co-authored-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3946
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-05-11 22:03:19 +02:00
John
609756db30
[common] Revert default VIDS setting to true to fix AMD GPU and Windows (#3945)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
Games such as bayonetta 3 or totk need VIDS on for some windows users or it results in broken graphics.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3945
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-05-11 18:52:28 +02:00