# CEMU detailed changelog for 1.3.3 # Patreon release date: 2016-03-02 # Public release date: 2016-03-09 --- New in public build --- GX2: Fixed a bug where textures were sometimes wrongly decoded due to invalid bank/pipe swizzle values. --- Changelog of Patreon build --- general: Can now hold TAB to show GamePad screen (Note: We will add customizable methods to display the GamePad screen in a future release) swkbd: Added preliminary support for Software Keyboard (only alphanumeric input is allowed for now, unicode support is still being worked on) coreinit: Added implementation for some functions of the block heap API (New API: MEMInitBlockHeap, MEMAddBlockHeapTracking, MEMGetTrackingLeftInBlockHeap, MEMAllocFromBlockHeapEx) coreinit: Fixed a bug where PPC thread priority would sometimes not update correctly save: Fixed a crash that could happen in SAVEOpenDir() vpad: Improved implementation of VPADRead() fixing an issue where games incorrectly detected touch on/off. vpad: Fixed touch offset calculation in fullscreen mode GX2: Added initial support for Streamout Streamout is also known as 'Transform Feedback' in OpenGL. This is a rather complex feature and our implementation is far from complete. More improvements to Streamout will come in later CEMU releases. In order to correctly replicate the low latency between CPU<->GPU enabled by the unified memory model of the Wii U we have to emulate Streamout shaders on the CPU rather than using OpenGL's transform feedback. Despite this we expect that there is no performance penalty. GX2: Implemented GX2RCreateSurface API GX2: Proper support for texture format R32_G32_B32_A32_FLOAT and R32_G32_B32_A32_UINT GX2: Fixed a crash in GX2CopySurface which could occur when the caller supplied a wrong surface->pitch value. GX2: GX2CopySurface can now copy dynamically created textures that only reside in the GPU texture cache.