# CEMU detailed changelog for 1.5.4 # Patreon release date: 2016-07-20 # Public release date: 2016-07-27 # New in public release GX2: Fixed a bug that lead to surface copy operations not working or even crashing CEMU GX2: Fixed a crash bug in the streamout handler # Patreon release CPU: Added instructions to recompiler: PS_SUM1, PS_NMADD, PS_NMSUB, PS_CMPO0, RLWNM, LFDX, LFDUX CPU: Made some adjustments to recompiler to improve floating point accuracy CPU: Fixed a bug in interpreter PS_STX instruction coreinit: New API: __ghs_flock_create(), OSCancelAlarm(), IMEnableDim(), IMIsDimEnabled() AX: New API AXComputeLpfCoefs(), AXRegisterAuxBCallback() nfp: New API: Initialize(), GetNfpState() zLib: New API: inflateReset() h264: Various smaller changes to stop games from softlocking h264: New API: H264DECSetBitstream() PAD: New API: VPADGetGyroZeroDriftMode(), VPADSetGyroZeroDriftMode(), KPADRead() GX2: Added VSync option GX2: New API: GX2SetGeometryTexture(), GX2SetGeometrySampler(), GX2GetDepthStencilControlReg() GX2: Added support for XOR_INT shader instruction GX2: Improved support for occlusion queries GX2: Added proper support for geometry shader textures GX2: Added support for scissor box GX2: Added support for binding mip slices of 2D array, 3D or cubemap textures as render targets GX2: Fixed a bug where a surface copy operation would pick the wrong depth texture from the texture cache GX2: Fixed a bug where the offset in SAMPLE_* shader instructions was ignored GX2: GX2WaitTimeStamp() now correctly returns true/false GX2: GX2Init() no longer resets event callbacks GX2: Improvements to Streamout shader emulation GX2: Added debug option to globally disable Streamout shaders