Commit graph

28675 commits

Author SHA1 Message Date
xbzk
5439158544 xbzk/sgsr-slider-show-hide-2 (#3963)
same as before but for settings fragment (general/per-user)

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3963
2026-05-16 18:12:26 +02:00
xbzk
69a85b3bc1 added SGSRs to sharpness slider resolve list (#3959)
both SGSRs were not in the resolve *SRs list. just inserted them there.
also renamed the fsr* vars to sharpness* for semantics.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3959
2026-05-16 18:12:26 +02:00
lizzie
caeb315a57 ok no comment 2026-05-16 18:12:26 +02:00
lizzie
22b8523a0b fix shader? 2026-05-16 18:12:26 +02:00
lizzie
516551e943 simplify sgsr1 shader 2026-05-16 18:12:26 +02:00
lizzie
153fe0425b use VK_FORMAT_B8G8R8A8_UNORM 2026-05-16 18:12:26 +02:00
lizzie
6958b10be5 move in tree, remove sgsr dep 2026-05-16 18:12:26 +02:00
lizzie
849f3c70d4 remove highp 2026-05-16 18:12:26 +02:00
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