Commit Graph
1115 Commits
Author SHA1 Message Date
Exzap 511a4dfd8f docs: Remove Matrix
Removing due to lack of interest by anyone in the dev team
2026-11-04 22:46:31 +01:00
Exzap 8e4eb1e5e5 ih264d: Cap display reordering to 5 frames
This mirrors Wii U's H264 behavior which isn't accurate to the spec.

Fixes video playback in CoD: Ghosts
2026-11-04 22:46:31 +01:00
Exzap 3f8dd913cf PPCRec: Code cleanup and refactoring 2026-11-01 17:04:40 +01:00
¥IGA 8699409c24 linux: Fix various compiler warnings (#2105) 2026-11-01 16:23:42 +01:00
Exzap 2065d6ae66 windows: Exclude crash handler from stack trace 2026-11-01 02:41:45 +01:00
Exzap 43d8640a3f CI: Ship windows builds with debug symbols 2026-11-01 02:41:45 +01:00
Exzap 67955f47e4 ui: Move image handler initialization
Avoids wx assert during getting started dialog
2026-11-01 02:41:45 +01:00
Exzap feb7c7b07b Vulkan: Fix async pipeline compile race condition 2026-11-01 02:41:45 +01:00
Exzap 0df18ba8cc coreinit: Avoid crash on title exit in OSFreeToSystem 2026-10-31 22:35:16 +01:00
Exzap 34b5908591 Latte: Refine heuristic in GetActiveColorBufferMask
Fixes black screen on GamePad display in Minecraft and TANK! TANK! TANK!
2026-10-31 22:35:16 +01:00
Exzap b6121dc36a debugging: Also use local and weak symbols 2026-10-31 22:35:15 +01:00
Exzap 4716b53cd9 Latte+Vulkan+Metal: Improve support for little-endian indices 2026-10-31 22:35:15 +01:00
Exzap 182b0bc799 Latte: Special case memcpy-style texture copies
Seen in Lego games, where GX2CopySurface is used to transfer non-texture data
2026-10-31 22:35:15 +01:00
Exzap 077592d418 Vulkan: Add support for instance attribute divisor
Used by Lego games. Requires driver support for VK_KHR_vertex_attribute_divisor
2026-10-31 22:35:15 +01:00
Exzap 04453d7157 GX2: Implement GX2RSetPixelUniformBlock 2026-10-31 22:35:15 +01:00
Exzap 2e0d11ca4c Latte: Zero out remapped uniforms of the opposite mode 2026-10-31 22:35:15 +01:00
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