1099 Commits
Author SHA1 Message Date
Bshar Esfky e710761278 discord-rpc: Show game name as activity status (#2107) 2026-10-29 22:41:15 +01:00
Crementif 42876aa86d Latte: Fix texture readback for Color Splash and Xenoblade Chronicles X (#2104) 2026-10-26 22:13:14 +01:00
Nintendocustom 5f10237e6f coreinit: Add FSTimeToCalendarTime (#1592) 2026-10-26 12:44:25 +01:00
Exzap 52881127a5 input: Only start wiimote workers if Wii Remotes are actually used 2026-10-25 09:31:24 +01:00
Exzap c78fafa404 ui: Fix issue where ChecksumTool would ignore missing files 2026-10-25 08:08:07 +01:00
Exzap 2d60076206 util: Clean up PPCConcurrentQueue and guard against push during shutdown 2026-10-25 08:08:07 +01:00
Exzap 1f29e85306 nsysnet: Implement blocking accept + smaller fixes 2026-10-25 08:08:07 +01:00
Exzap 83904818c0 nlibcurl: Rework for better accuracy
- Define more of the PPC structs
- Use custom enums instead of recycling libcurl's which aren't guaranteed to match.
- Move host curl state out of the PPC structs
- Use cafeExportRegister instead of deprecated osLib_addFunction
2026-10-25 08:08:07 +01:00
Exzap 9bfdf8163d HLE: Reset more state correctly + related tweaks 2026-10-25 08:08:07 +01:00
Exzap 02b5f211a2 H264: Properly reset state and fix session cleanup 2026-10-25 08:08:07 +01:00
Exzap fe5ef4bf65 mic+nn_aoc+nn_fp: Reset more state on title start 2026-10-25 08:08:07 +01:00
Exzap bfb154520e GX2: Reset more state on title start 2026-10-25 08:08:07 +01:00
Exzap 0fa6cd023a dmae+tcl+ntag+nfc: Reset state on title start 2026-10-25 08:08:07 +01:00
Exzap 5b430d6553 coreinit: Clean up more state on title shutdown 2026-10-25 08:08:07 +01:00
Exzap a3c4d359d4 nn_fp: Remove double constinit 2026-10-25 08:08:07 +01:00
Exzap c15df109a2 HLE: Fix missing registration of nn_sl 2026-10-25 08:08:07 +01:00
Exzap f3f85d9e29 coreinit: Close open IPC handles on title shutdown 2026-10-25 08:08:07 +01:00
Exzap bb28394ce1 HLE: Bind guest PPC/IOSU variables to lifetime of their module
SysAllocator<> would allocate at Cemu boot and then never release memory.
Now we have CafeStaticVar<owner, type, count> which is explicitly allocated/deallocated via the owner and can be tied to COS/IOSU module lifetime. This also works as an automatic reset when relaunching emulation.
2026-10-25 08:08:07 +01:00
Exzap d46466cd51 UI: Fix incorrect path encoding in some error messages 2026-10-25 08:08:07 +01:00
Exzap 5b8d513383 general: Small refactor and robustness improvements 2026-10-25 08:08:06 +01:00
Crementif 29f2f1fae4 deps: Remove the unused Boost.Asio Bluetooth header 2026-10-22 23:36:57 +02:00
Crementif 934329f93a GX2: Fix flush not starting a bigger cmd buffer when empty
If the command buffer was still empty, it wasn't replaced with a bigger one when a command didn't fit since it checked if it was smaller then the entire command pool, not the command buffer size itself.
2026-10-22 20:35:25 +02:00
Crementif d1ca2e987f PPCRec: Fix function scanning reading unmapped memory
Scanning code near the start or end of a codecave could read past its memory region and crash.
2026-10-22 20:16:25 +02:00
Therand90 0e4fc41f20 sndcore: Fix DRC device mix mask indexing
See https://github.com/cemu-project/Cemu/pull/2099
2026-10-22 17:58:09 +02:00
Crementif a53cf0ece7 h264: Clean-up debug H264 log statement
Was getting force logged so it was kind of spammy, but we might even want to just remove it entirely.
2026-10-15 02:08:33 +02:00
Crementif babd6906ae GraphicPack: Resolve patch groups in linear time 2026-10-15 01:22:27 +02:00
Crementif b044641111 GraphicPack: Allocate the full code cave of a patch group
The address relocator was basically fine with addresses up to 8MB within a code cave, but the size was capped to 1MB. So you could overwrite the next group's code cave if it was too big.
2026-10-15 01:22:27 +02:00
domitakes 4a26a3e7ea Metal: Fix ring allocator corruptions due to skipping sync points
Fixes #2068
2026-10-15 00:50:51 +02:00
Crementif 2c212b524b coreinit: Add the alarm queue functions 2026-10-13 17:24:28 +02:00
Crementif ae937e7885 coreinit: Add OSSetAlarmTag and OSCancelAlarms 2026-10-13 17:19:56 +02:00
Crementif f38c013b18 coreinit: Fix reading past the end of the host alarm list 2026-10-13 17:19:42 +02:00
Crementif b93335be5d coreinit: Fix periodic alarms with a start time in the future 2026-10-13 17:19:42 +02:00
Crementif c8a5e25d54 coreinit: Ignore OSSetAlarm calls with a non-positive delay
Cemu fired the alarm right away instead, so a handler which sets its alarm again with a delay of zero looped forever. nsyskbd does this with a key repeat rate of zero.

OSSetPeriodicAlarm likewise ignores a period of zero or below.
2026-10-13 17:19:42 +02:00
Crementif 540487bf17 PPCRec: Speed up x64 recompiler entry
Leaving recompiled code now jumps straight to the exit code, instead of faking a call on entry that we can "ret" to later.The old solution basically never branch predicted the path (if I measured it correctly) on my AMD CPU.

It also removes the _controlfp calls with an MXCSR instrinsic that would additionally set the (potentially unnecessary?) x87 FP state, which we don't need.

Entering and leaving recompiled code used to cost ~32 ns (though it was a benchmark, so take it with a grain of salt). The jump change saves ~4 ns and the MXCSR lowers it by ~22 ns, bringing it down to ~6.5 ns total.
2026-10-13 02:54:35 +02:00
Crementif 8303fedeca PPCRec: Save XMM6-XMM15 on x64 recompiler entry
Noticed this when Cemu releases started including loud audio buzzing after I did a Visual Studio update. Seemingly it messed with some of the AX mixer code across PPC callbacks, though quite likely that some other places were affected too.
2026-10-13 02:37:44 +02:00
Fancy2209 21878f1442 OpenGL: Fix wrong variable used for polygon offset invalidation tracking (#2093) 2026-10-12 20:59:47 +02:00
capitalistspz aa20e2f86e debugging: Fix the MEMPTR pretty printer and add a CafeString pretty printer (#2089) 2026-10-10 00:35:26 +02:00
Crementif fced55a9de Latte: Fix texture readback heuristics for more games
This was found to be a fix for Cars 3's showing a black screen. Might be applicable to similar games made with the engine, such as Disney Infinite, though it has yet to be tested. At least Cars 3 uses the texture readback in some kind of dynamic exposure system.

I think its decently niche enough to not really cause a huge performance bottleneck.
2026-10-06 21:58:19 +02:00
Crementif cc6fea125a PPCRec: Lower optimized single-precision stores to SINGLE_FTZ 2026-10-04 03:08:42 +02:00
Crementif aa5032cc22 PPCRec: Optimize single-precision stores on AArch64 2026-10-04 03:08:42 +02:00
Crementif 091a711fd7 coreinit: Disable default NaN mode on ARM 2026-10-04 03:08:42 +02:00
Crementif c9c4373768 PPCRec: Use a single 64-bit store for x64 stfd 2026-10-04 03:08:42 +02:00
Crementif 7326b8f285 PPCRec: Speed up stfs for values already rounded to single precision 2026-10-04 03:08:42 +02:00
Crementif 9cbb00a274 PPCRec: Fix division by zero and signed overflow 2026-10-04 03:08:42 +02:00
Crementif fe6720c5c4 PPCRec: Fix x64 memory accesses using R12
The address was incorrectly encoded as base + base + offset
2026-10-04 03:08:42 +02:00
Crementif 278500f557 PPCRec: Fix stfs conversion on ARM64 2026-10-04 03:08:42 +02:00
Crementif 22a2a3ee26 PPCRec: Fix stfs conversion on x64 2026-10-04 03:08:42 +02:00
Crementif 908f10cc93 PPCRec: Add x64 helpers for stfs conversion 2026-10-04 03:08:42 +02:00
Crementif c174b2ddcc PPCRec: Allow cold code after the main code 2026-10-04 03:08:42 +02:00
Crementif c78e776626 Common: Check whether PEXT is fast on the current CPU 2026-10-04 03:08:42 +02:00