Commit Graph

409 Commits

Author SHA1 Message Date
SamoZ256
26e40a4bce
Add Metal backend (#1287)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-12-06 17:14:25 +01:00
goeiecool9999
5520613dc3 nn_boss: Check for nullptr
Fixes a crash in Super Smash Bros.
2025-12-05 23:57:57 +01:00
Exzap
47b8d911b9 Latte: Instance count minimum is 1
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
Previously we skipped drawcalls when the instance count was set to zero. But the hardware register enforces a minimum of 1.

Fixes black screen in "Cubit The Hardcore Platformer Robot" which does all it's drawcalls with an hardcoded instance count of 0.
2025-11-28 10:34:52 +01:00
Carlos Estrague / Mrc_munir
5bf58c3d20
Vulkan: Added support for implementations which only expose host-visible buffers as device-local (#1737)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-11-27 17:50:03 +01:00
Crementif
51c1e80ba7
Vulkan: Always embed shader source code when RenderDoc, Nsight or other frame debuggers are attached (#1733) 2025-11-27 17:46:42 +01:00
Joshua de Reeper
bb3fb81fb6
nsyshid/libusb: Don't attempt kernel driver detach on MacOS (#1736) 2025-11-27 17:42:00 +01:00
oltolm
1382ee0381
build/cmake: Clean up target_link_libraries (#1726)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-11-21 01:50:52 +01:00
goeiecool9999
5390f9338c
GX2: Implement GX2SetTVGamma and GX2SetDRCGamma (#1682)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-11-14 13:51:58 +01:00
Exzap
4fa0df6dcf nn_boss: Reimplementation
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
This is a full rewrite of our nn_boss (SpotPass) implementation. The previous code was based on a lot of incorrect guesswork so rather than updating that it made more sense to redo it all.

In short what changed:
- More API implemented than before, but nn_boss is very complex so we are still missing stuff (e.g. PlayReports and Task scheduling)
- Avoids redownloading nbdl files if they are already present locally (matches IOSU behavior)
- The API should be more robust in general and file hashes are now verified
- Emulated IOSU interface is compatible with nn_boss.rpl
- Added an UI option to clear the SpotPass cache
2025-10-30 16:24:09 +01:00
SamoZ256
d54fb0ba78
arm: flush denormals to zero (#1696)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-09-27 00:41:17 +02:00
goeiecool9999
492116a6ba VPAD: report gamepad volume slider position even when audio playback is disabled or failed to init
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-09-11 13:15:40 +02:00
oltolm
9267e72ef9
refactor: Fix pugixml deprecation warnings (#1677)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-08-30 20:39:48 +02:00
oltolm
6013ac1823
refactor: Fix trivial compiler warnings (#1675)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-08-30 13:01:52 +02:00
oltolm
de4bf7c2c1
refactor: use concepts instead of SFINAE (#1652)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-08-25 01:33:46 +02:00
Crementif
493b11e23a
UI: Refresh debugger when graphic packs are loaded or unloaded (#1653)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-07-26 22:45:44 +02:00
Kevin Reinholz
4efa40c51c
Make it easy to build Cemu on BSD (#1632)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-07-23 08:59:09 +02:00
SSimco
67de63bed6
UI+build: Isolate wxWidgets code from non-GUI code (#1633) 2025-07-15 04:28:41 +02:00
Exzap
5f3c2816ec AX: Fix voice dropping 2025-07-08 19:01:20 +02:00
qurious-pixel
35ecfa3f54
build: Fix glslang dependency for Fedora 42 (#1622) 2025-07-01 05:00:11 +02:00
Exzap
13ccf9a160 MMU: Fix bit width for 32bit MMIO reads
This resolves the ghost input issue in N64 virtual console
2025-06-28 21:43:40 +02:00
Exzap
7db2b77983 CPU: Implement more instructions in interpreter + various fixes
All of the changes are verified against real hardware, except for the byte string instructions
2025-06-28 14:54:31 +02:00
Exzap
e91740cf29 coreinit: Make sure thread deallocation runs before join returns
Fixes crash in Coaster Crazy Deluxe
2025-06-22 23:34:41 +02:00
Exzap
4f4c9594ac GX2: Fix command buffer padding writing out of bounds 2025-06-22 22:17:29 +02:00
Exzap
5a4731f919 HLE: Make HLE table access thread-safe
Previous code could sometimes resize the vector while a read access was happening
2025-06-22 20:56:47 +02:00
Joshua de Reeper
4f4412b334
nsyshid: Play Emulated Portal Audio via Mono Audio (#1478) 2025-06-19 23:30:19 +02:00
Exverge
00ff5549d9
General aarch64 improvements & Apple Silicon support (#1255) 2025-06-18 10:36:05 +02:00
oltolm
c8ffff8f41
Replace basic_string<> of betype with std::vector (#1601) 2025-06-18 10:34:06 +02:00
goeiecool9999
f3fe6f3455
GameList: Allow sorting by more columns (#1571)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-06-13 12:47:46 +02:00
Luminyx
3eff2d4a60
GraphicPack: Allow overlay for code folder (#1574) 2025-06-10 08:03:18 +02:00
Wiichele
d427b59019
boss: Use HTTP/1.1 instead of default (#1593)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-06-08 07:16:09 +02:00
Exzap
7168d20cde FST: Refactor IV handling
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-05-27 16:51:46 +02:00
Exzap
783d88a892 coreinit: Fix race condition in __FSAIoctlResponseCallback
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-05-17 21:35:42 +02:00
Exzap
28ea70b6d8 GX2+TCL: Reimplement command buffer submission
- GX2 utilizes TCL(.rpl) API for command submission instead of directly writing to an internal GPU fifo
- Submission & retire timestamps are correctly implemented as incremental counters
- Command buffering behaviour matches console
- Fixes race conditions on aarch64
2025-05-17 21:35:42 +02:00
Exzap
96765e4ac6 Latte: Refactor clear code 2025-05-17 20:47:01 +02:00
gamerbross
111637a9fd
nsyshid: Skylander 360 Portal small optimization and code formatting (#1568)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-05-15 19:58:43 +02:00
Mefiresu
05617a332b
dmae: Implement 16bit endian swap for DMAECopyMem (#1564) 2025-05-12 18:16:14 +02:00
Joshua de Reeper
caef34f2ff
nsyshid: Add Kamen Rider USB Device to Whitelist (#1560)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-05-12 09:28:01 +02:00
Exzap
61484598fc Vulkan: Use per-pipeline buffer robustness
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
And if the extension is not supported then fallback to enabling robust buffer access for all shaders.
2025-05-10 09:49:21 +02:00
SSimco
081ebead5f
Add AArch64 recompiler backend (#1556)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-05-09 12:47:22 +02:00
Exzap
d13dab0fd8 Vulkan: During shutdown submit buffer before deleting resources 2025-05-09 10:00:38 +02:00
Exzap
ba09daf328 PPCRec: Reenable float copy optimization
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-05-09 02:06:08 +02:00
Exzap
557aff4024 PPCRec: Implement PSQ scaling 2025-05-08 08:29:47 +02:00
Exzap
de542410c2
PPCRec: Rework floating point instructions (#1554)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-05-08 03:48:22 +02:00
gamerbross
33d5c6d490
nsyshid: Add Skylander Xbox 360 Portal support (#1550)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-05-04 21:44:46 +02:00
Crementif
352a918494
debug: add CLI option to have multi-core interpreter (#1553)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
This option still allows you to have proper stack traces for crashes or for the PPC debugger, but is a lot faster then the really slow interpreter (especially when loading into large games like BotW where there has to be a lot of asset decompressing). It makes memory access breakpoints much more brittle though, so it's not a perfect option.

Normal users should of course stick with using the recompiler.
2025-05-04 18:04:26 +02:00
Crementif
d083fc0470 Reorder PPCInterpreter memory layout to keep plugin compatibility
Commit b089ae5b32 changed the PPCInterpreter struct that external plugins rely on to hook Cemu through e.g. the exported "osLib_registerHLEFunction". This commit moves some unused values down so that it keeps the same memory layout as before the PPC recompiler rework.
2025-05-04 17:19:56 +02:00
goeiecool9999
e6a64aadda undo revert of style improvement
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-04-27 17:03:00 +02:00
goeiecool9999
a5f3558b79 Revert "fix building with fmt11 and GCC"
This reverts commit 372c314f06.
It broke formatting in an attempt to fix GCC builds.
Some other change (perhaps dependency updates) has resolved the issue.
2025-04-27 16:57:22 +02:00
Exzap
b089ae5b32
PowerPC recompiler rework (#641)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-04-26 17:59:32 +02:00
Exzap
4972381edc Vulkan: Fix imgui validation error when sRGB framebuffer is used 2025-04-15 22:46:19 +02:00