Cemu v1.15.3d is released. Cemu is a Nintendo Wii U emulator that runs commercial games. Highly experimental software to emulate Wii U applications on PC.

Cemu v1.15.3d Changelog:
# New in 1.15.3b:

CPU/JIT: Fixed potential instability and crashes caused by recompiler optimizations
debug: Fixed WUD filesystem dump feature
debug: Frame profiler now displays 9 different stats. From bottom to top:
gray -> Idle (waiting for more commands from CPU)
pink -> Wait for async (waiting for texture readback, occlusion queries. Explicit or by GX2DrawDone)
dark red -> Texture creation, texture upload, texture cache management, sampler settings
dark green -> Attribute/vertex buffer management, attribute data upload
blue -> Shader management, shader compilation, uniform buffer management, uniform data upload
purple -> Index cache management, index data upload
green -> Render target management, FBO creation, texture creation
yellow -> OpenGL glDraw calls
light gray -> Everything else

# New in 1.15.3:

general: Display meta/bootTvTex.tga when booting a game and while compiling shaders (ref: http://bugs.cemu.info/issues/1)
general: Reworked shader cache loading screen to scale better on higher resolutions
general: Changed settings.xml to be more portable (use relative paths where possible)

CPU/JIT: JIT recompilation of functions is now multi-threaded if multi-core recompiler is enabled (slightly reduces micro-stutter caused by recompilation)

debug: Added debug option which dumps the WUD filesystem of the currently running game to dump/ folder (WUD/WUX extractor)
debug: Fixed a bug where the RAM dump feature would silently fail because it would not create the dump folder

GX2: Added frame profiler (can be toggeled via debug menu)
GX2: Optimized texture loader
GX2: Minor optimizations in various GX2 API functions
GX2: Fixed random crash due to out-of-bounds access in texture code
GX2: Fixed crash that could occur when GPU buffer cache accuracy was set to high
GX2: Increased time before restorable textures are dropped from texture cache (from 15 seconds to 2 minutes)

coreinit: Fixed incorrect timeout calculation in spinlock AcquireSpinLockWithTimeout API

padscore: WPADGetInfoAsync no longer crashes when no callback is provided

input: DirectInput rumble will only be initialized if the rumble value is set to non-zero (workaround for a crash bug in a common DirectInput driver)