Exzap
58c25d5303
Latte: Clean up LatteBufferCache.cpp
2026-04-30 02:37:31 +02:00
Exzap
d92edefafb
PPCAsm: Reloc modifiers should behave more like LLVM/gnu assembler
2026-04-29 19:52:33 +02:00
Exzap
c080b7385e
Latte: Rework interval tree for vertex/uniform cache
2026-04-29 18:24:29 +02:00
Exzap
1baf219cb2
Vulkan: Add tilemode to texture debug name
2026-04-29 18:24:29 +02:00
Exzap
414aa9d6b3
GX2+Latte: Rework GX2CopySurface
2026-04-29 18:24:29 +02:00
Exzap
e2a69becf1
debugger: Rework PPC debugger
...
This is a first pass for now, more work is needed mostly for UI polish.
Changes in this commit:
- Debugger now exposes a thread-safe API. Previously everything would just access internal debugger state directly without regard for race conditions
- Reworked stepping logic to be more reliable. For example previously Cemu could get forever stuck in the middle of stepping to the next instruction
- Support for debugging while using multi-threaded CPU emulation. Originally the debugger was added when only single core support existed in Cemu. It was possible to debug multi-threaded before but it was very very prone to state corruptions.
- Debugger should now remember breakpoints correctly across sessions
2026-04-29 18:24:29 +02:00
Emma
02383542b2
mac: Allow running without logicOp and update macOS build instructions ( #1880 )
2026-04-18 22:57:27 +02:00
goeiecool9999
5ee74b5a6a
GL: clean up shader object after compilation
...
On Linux/mesa, when compiling a big shader cache like BOTW this saves about 8.2 GiB of RAM usage
(only when ~/.cache/mesa_shader_cache and precompiled/_gl.bin cache is also fresh)
2026-04-18 18:48:54 +02:00
Sapphire
7e5516f94d
Vulkan: Fix compile error on glibc 2.43 ( #1870 )
2026-04-12 05:16:07 +02:00
goeiecool9999
391478b307
vulkan: Improve the Breath of the Wild RADV/LLVM workaround ( #1862 )
2026-04-10 22:46:51 +02:00
Exzap
8065520583
PPCRec: Fix eflags optimization
2026-03-24 04:15:28 +01:00
Exzap
a5ae41fdbe
build: Remove unnecessary includes to improve compile times
...
Also revert PCH reuse for everything but MSVC. Other compilers/platforms have limitations that make reused PCH a bit too fragile. I got it to work but only after forcing certain flags globally (like -pthread) and I dont think its a good idea to do that
2026-03-24 04:15:28 +01:00
Exzap
ceb9771a5c
Vulkan: Fixes for object refcounting
2026-02-23 03:21:43 +01:00
Exzap
18dd75c1f5
Latte: Force height of 1D textures to 1
2026-02-23 03:21:43 +01:00
Exzap
8cd5ce102f
Vulkan: Properly shutdown pipeline compile threads + code cleanup
...
This fixes an issue where the Vulkan renderer would hang up on shutdown due to resources still being in use
2026-02-09 04:11:10 +01:00
goeiecool9999
ba82dc57d6
OpenGL+Vulkan: Use unified uniform block layout for output shaders ( #1785 )
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-02-01 02:06:05 +01:00
Crementif
07bdb3454a
debugger: Various QoL improvements ( #1777 )
...
* Ignore keyboard inputs when debugger is focused
* Add workaround for slightly improved multi-thread debugging
* debugger: Add interpreter mode switch and log-only memory breakpoints
2026-02-01 01:53:02 +01:00
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 )
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2026-01-21 04:46:06 +01:00
SamoZ256
d9cc8f81c2
metal: Create temporary autorelease pools ( #1783 )
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
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
e3260daea2
Fix dump directory creation
...
Thanks to Switch-9867 on GH for pointing out the issue
2026-01-09 11:04:43 +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
goeiecool9999
13c6d497a0
Vulkan: Refactor HandleScreenshotRequest
2025-12-24 21:25:34 +01:00
rcaridade145
0ddcba4ff1
Update MoltenVK to 1.4.1 with private api support. ( #1743 )
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 )
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-12-06 17:14:25 +01:00
Exzap
47b8d911b9
Latte: Instance count minimum is 1
...
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 )
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
goeiecool9999
5390f9338c
GX2: Implement GX2SetTVGamma and GX2SetDRCGamma ( #1682 )
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-11-14 13:51:58 +01:00
oltolm
6013ac1823
refactor: Fix trivial compiler warnings ( #1675 )
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 )
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 )
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 )
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
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
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
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
61484598fc
Vulkan: Use per-pipeline buffer robustness
...
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 )
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
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 )
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-05-08 03:48:22 +02:00