Commit Graph

735 Commits

Author SHA1 Message Date
Exzap
f45623523d CPU: Fix PSQ_L/PSQ_ST scaler calculation 2026-01-21 06:31:10 +01:00
RedBlackAka
a20032ffb5
Latte/Metal: Exclude more Metal only logic on non-Apple platforms and cleanups (#1781)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-01-21 04:46:06 +01:00
oltolm
7db733b337
UI: more cleanup (#1769) 2026-01-21 04:38:38 +01:00
SamoZ256
d9cc8f81c2
metal: Create temporary autorelease pools (#1783)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-01-16 04:23:12 +01:00
goeiecool9999
3d26998975
UI: Update graphics settings immediately when possible (#1782) 2026-01-16 04:21:44 +01:00
goeiecool9999
42262b5823 UI: Fix crash on exit hotkey button press 2026-01-16 00:55:00 +01:00
goeiecool9999
8af510b9e3 Vulkan: Move command buffer setup to more sensible location 2026-01-15 22:54:01 +01:00
goeiecool9999
e376b15075 Vulkan: Fix validation error on Spir-V Execution Mode intrinsic 2026-01-12 22:44:56 +01:00
goeiecool9999
ca73549717
nim: Fix memory leak (#1775)
Store NIMPackage structs in vector instead of pointers on the heap
2026-01-09 16:47:59 +01:00
goeiecool9999
e3260daea2 Fix dump directory creation
Thanks to Switch-9867 on GH for pointing out the issue
2026-01-09 11:04:43 +01:00
Exzap
bc0ebfc106 rpl: Fix sysapp name + fix logging order 2026-01-09 02:15:01 +01:00
Exzap
c5913fe8cb refactor/rpl: Treat HLE libs more like RPL modules
HLE modules now have a unified interface via which they can get notified when mapped into the process or when loaded/unloaded.

We also always call the unload functions when stopping emulation to give the module implementations a chance to reset all state (although many of them are still missing proper cleanup code for now)
2026-01-07 02:46:49 +01:00
oltolm
59a5118472
UI: misc. code cleanups (#1762) 2026-01-03 11:23:41 +01:00
qurious-pixel
c7ac9900a9
build: Search for MVK when not bundling (#1765) 2026-01-02 23:48:02 +01:00
goeiecool9999
7330cdf3a9 Vulkan: Reuse pipeline layout for DRC to fix layout object leak 2025-12-29 13:38:19 +01:00
goeiecool9999
422b5b3a1d Vulkan: force barriers on Gerudo Town water shader 2025-12-28 23:18:31 +01:00
oltolm
08aa28468b
Latte: Fix ASAN error (#1760) 2025-12-28 13:20:54 +01:00
Exzap
232ff2257a Fix compile error in debug builds 2025-12-27 14:01:43 +01:00
kevinmmccormick
07371327f5
UI: Implement hotkey for "Exit application" (#1756) 2025-12-26 23:38:50 +01:00
oltolm
d86dc5e5f5
UI: fix crash in DumpCtrl (#1755) 2025-12-26 23:01:50 +01:00
RedBlackAka
13683d417c
UI: Small adjustments and cleanup, end emulation hotkey for debug builds (#1754) 2025-12-26 23:00:40 +01:00
goeiecool9999
13c6d497a0 Vulkan: Refactor HandleScreenshotRequest 2025-12-24 21:25:34 +01:00
RedBlackAka
aaf6d5d677
UI: Hide Metal only options on non-Apple builds (#1753) 2025-12-23 20:43:28 +01:00
oltolm
1c7fe5673f
UI: Replace to_wxString and wxHelper::FromUtf8 with wxString::FromUTF8 (#1752) 2025-12-23 15:37:01 +01:00
oltolm
5cfebb4373
UI: Replace sprintf with wxString::Format (#1749)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-12-19 20:54:34 +01:00
rcaridade145
7ab5c5e267
h264: Clear display buffer before allocation (#1750) 2025-12-19 20:53:35 +01:00
Arian K.
7dd0b90f53
olv/hle: Functioning Miiverse applet (#1747) 2025-12-19 20:53:09 +01:00
goeiecool9999
42da9712a9 AX: Don't exit when initializing audio backend fails
just continue running without audio
2025-12-19 16:57:43 +01:00
SSimco
3746f018c3 TCL: make tclRingBufferA_writeIndex atomic & refactor 2025-12-19 04:17:48 +02:00
goeiecool9999
a87bded17d UI: Make File menu exit option use OnClose for cleaner shutdown 2025-12-18 15:26:39 +01:00
goeiecool9999
6cee127852 Move clipboard flush to OnExit
Fixes occasional hang on exit
2025-12-18 15:19:23 +01:00
rcaridade145
0ddcba4ff1
Update MoltenVK to 1.4.1 with private api support. (#1743)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-12-11 21:53:50 +01:00
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
mazes-80
85c8f95b69
build: Fixes to how ENABLE_BLUEZ=OFF is handled (#1731) 2025-11-27 17:41:06 +01:00
mazes-80
921e91ed75
build: Add missing includes required for gcc 14 (#1730) 2025-11-27 17:39:54 +01:00
Crementif
ad89b5ef37 ppc: Add fabs instruction to assembler
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-11-23 16:52:47 +01:00
oltolm
eb95e63d94
UI: Fix warnings (#1729)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-11-23 11:51:44 +01:00
Crementif
934cc3eb9d
UI: Improvements and fixes for Windows dark mode (#1728)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-11-22 23:26:27 +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
oltolm
f5b19278d1
UI: fix Curl deprecation warnings (#1724)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-11-18 05:14:59 +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
RedBlackAka
ef1c836290
UI: Move recent files into a submenu (#1707)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-10-15 23:09:03 +02: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
oltolm
84f12eea65
UI: fix sorting after style switch (#1693)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-09-22 01:25:57 +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
Michael Schroder
158c4e17a2
input: Add support for Wii Remote Plus by handling the inactive MotionPlus extension events (#1683)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-09-09 21:05:06 +02:00
RedBlackAka
5a3809be16
windows: Add NSIS Windows installer (#1645)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
License, user-install only and cleanups, mention in README
2025-09-05 12:40:51 +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
Exzap
aeb3154257 debugger: Fix clipboard related crash
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
When copying an address from Cemu's debugger and pasting it into Cemu (anywhere) it would crash because the memory was released prematurely
2025-08-17 17:58:30 +02:00
Crementif
57fe7a53f1 UI: Disable alpha for game list icons
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-07-29 19:26:47 +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
Crementif
191357c518
UI: Fix minor dark mode issues (#1654)
* Fix black text after graphic pack is disabled in dark mode
* Fix background colour of audio debugger in dark mode
* Make placeholder game list icons black when using dark mode
* Some tweaks to the HotkeySettings window:
  - Make strings translatable
  - Makes the column headers bold for clarity
  - Makes the border darker on Linux, fixed by @goeiecool9999
  - Make the column headers have some padding to make it look nicer.
2025-07-26 22:45:28 +02:00
oltolm
55a735dcfa
Windows: Use modern API to set thread name if available (#1634)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-07-25 06:10:14 +02:00
Crementif
08609591ae
UI: Upgrade to wxWidgets 3.3.1 and add dark mode support for Windows (#1647)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-07-23 11:07:24 +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
oltolm
955ce9b973
UI: Fix static initialization in regards to hotkey map (#1643)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-07-23 01:05:56 +02:00
Exzap
73b1dc1663 UI: Add architecture to auto-updater check 2025-07-20 23:10:13 +02:00
Exzap
c1c2962b66 Switch to a different Discord RPC implementation
discord-rpc has been unmaintained for years
2025-07-20 00:53:10 +02:00
Crementif
42ff3ad468 Fix debug assert that'd occur when closing the debug menu
Closing the settings window will immediately flush a temporary 0, 0 value it writes for the size which gets overwritten by the MainWindow a few seconds later.

In the code, -1 is considered the "off" state, and 0 is considered a "it should be saved, but only whenever the value is available". The save gamepad size/pos option already worked like this new behavior, since you might enable the option but not (previously) have it open yet. When encountering a 0 as the size, it'll just use the default window size of Cemu.
2025-07-16 16:14:55 +02:00
Crementif
2d74bcfbfa Fix regression with saving/loading child configs
Seems like a minor thing slipped under the radar in commit 67de63bed6
2025-07-16 16:08: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
AnimeGIF
cdca5eaf78
UI: Add configurable hotkeys + a new fast forward hotkey (#1519) 2025-07-07 23:55:57 +02:00
goeiecool9999
e68c31e5fb Fix path text encoding creating shortcuts on windows
also fix a memory leak
(hopefully)
fixes: #1627
2025-07-02 13:31:21 +02:00
qurious-pixel
35ecfa3f54
build: Fix glslang dependency for Fedora 42 (#1622) 2025-07-01 05:00:11 +02:00
oltolm
6c392d5a22
UI: Fix assertions (#1623) 2025-06-30 00:15:23 +02:00
Colin Kinloch
9fb3c76b76
UI: Include wx button header for wxWidgets 3.3 compatibility (#1621) 2025-06-29 19:36:22 +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
capitalistspz
0a121c97c7
Input: Detect Classic Controller Pro as Classic Controller (#1614) 2025-06-26 17:25:34 +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
Exzap
522b5ef260 UI: Correctly interpret supporter names as UTF8 2025-06-21 18:58:58 +02:00
capitalistspz
057ef4598e
cmake: Respect ENABLE_HIDAPI option (#1604) 2025-06-20 13:32:41 +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
oltolm
2f02fda9ea
Refactor to use Microsoft::WRL::ComPtr (#1599) 2025-06-16 23:25:06 +02:00
oltolm
da98aa4176
UI: Make code compatible with wxWidgets 3.3 (#1598) 2025-06-14 20:38:53 +02:00
oltolm
95dc590d2c
UI: Improve wxListView sorting and add sort order indicators (#1597)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-06-14 10:25:56 +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
oltolm
2eec6b44c3
UI: Use wxListView instead of wxListCtrl (#1584)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-06-10 08:15:25 +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
neebyA
a184a04e56
macOS: Minor UI improvements (#1575)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-06-07 22:42:49 +02:00
Nintendocustom
c99ae0f833 Add FSTimeToCalendarTime function 2025-06-07 19:51:58 +02:00
Colin Kinloch
162fdabb9d
debug: "verbose" command line argument to log to stdout (#1587)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-06-02 01:38:21 +02:00
Colin Kinloch
c8045f7f04
UI: wxCAPTION flag on input API dialog to fix kwin (#1586)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-06-01 03:57:33 +02:00
oltolm
6df3e1742e
UI: Fix wxWidgets assert in InfinityPage (#1582)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-05-31 16:29:07 +02:00
oltolm
152b790242
UI: Use wxID_ANY and wxNOT_FOUND instead of hardcoding -1 (#1581)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-05-30 01:39:02 +02:00
capitalistspz
02616bf6be
build: Allow Linux builds to be made without Bluez (#1579)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-05-28 15:18:01 +02:00