It's time for another Cemu update! Version 1.15.11 has just been publicly released which improves the handling of updates & DLC in several ways (better content type detection, automatic backup & restore in case of a failed install and other under the hood enhancements), shader changes in preparation of the upcoming Vulkan renderer (if you are a developer, you may want to check those in better detail by reading the changelog, otherwise your shaders may only be compatible with the OpenGL backend in the future), more functions for the built-in debugger and your usual dose of bug fixes.

Here is the full official changelog:

# # Cemu detailed changelog for 1.15.11c
# Patreon release date: 2019-07-26
# Public release date: 2019-08-02

# New in 1.15.11c:

GX2: Fixed emulation of gl_PointSize when geometry shaders are used

# New in 1.15.11b:

general: Fixed a bug where DLC would be installed into the wrong location
GX2: Fixed broken transform feedback on OpenGL (#157, #159)

# New in 1.15.11:

general: Better update/dlc handling
Updated mlc01 folder locations for updates and dlc to match those of an actual Wii U
Newly installed updates and dlc will be stored at the new locations, while previously installed ones are still detected properly
Improved detection of type of content (affects installation and gamelist)
Installing updates/dlc will now backup previously installed content and restore it on failure/cancelation

debugger: Implemented more instructions for assembler and disassembler
debugger: Assembler now supports basic expressions in place of constants
debugger: Fixed a crash when stepping into imports

coreinit: Fixed OSUninterruptibleSpinLock_Acquire() not restoring interrupts before switching to the scheduler



nn_erreula: Fixed a bug where the same message would keep poping up

padscore: Opening the input configuration window no longer temporarily disconnects the emulated controllers
padscore: Fixed PPC stack corruption caused by KPADSamplingCallback (#140)

nn_fp: IsOnline() now only returns true if there is an established friend server session. This should fix crashes or softlocks in games that only worked in online mode


GX2: Shader tweaks to bridge the gap between OpenGL and the upcoming Vulkan renderer
If you are a graphic pack developer, be aware of these changes:
- All shaders are now generated with a Vulkan and OpenGL compatible header using #ifdef / #endif preprocessor directives
- gl_Position should always be set via the new SET_POSITION() macro
- Shaders used in combination with point primitives always have to write gl_PointSize
- Point shaders that get their point size from renderstate have a new uniform variable (uf_pointSize)
- Primitive points will modify the vertex shader base hash (+0x71)
Existing custom shaders remain compatible with the OpenGL backend, except for vertex/geometry shaders used in combination with GL_POINTS which need to be updated


Note:
(#xx) refers to bug tracker issues resolved by this change. See http://bugs.cemu.info/projects/cemu/
http://cemu.info/index.html#download