libnx 1.4.1
- Restored compatibility with C++11.
- Added arm/thread_context.h, containing definitions for the ThreadContext structure.
- Added new syscalls: svcGetDebugThreadContext, svcSetDebugThreadContext, svcGetThreadContext3.
- Fixed signature of svcContinueDebugEvent, which changed in 3.0. The old signature is available as svcLegacyContinueDebugEvent.
- Added threadDumpContext.
- Added ipcCloneSession.
- Added gfxAppendFence.
- psm services: added psmGetChargerType.
- pm:dmnt services: fixed for 5.0+.
- nv services: added nvIoctl2 & handling for a separate cloned session, matching official software.
- Nvidia ioctl wrappers: added nvioctlNvhostAsGpu_UnmapBuffer, nvioctlNvmap_Free, nvioctlChannel_KickoffPb
- Further changes, fixes and improvements to the experimental Nvidia wrapper objects, which are used by the ported mesa/nouveau-based OpenGL stack.
- Further improvements to overall system stability and other minor adjustments to enhance the user experience.
- Updated to latest mesa version (18.2), with some additional optimizations in shader compilation.
- Improvements to EGL context creation support that bring it closer to the standard (involving breaking changes, see section on examples below).
- Improved fencing/dependency tracking.
- Bugs/crashes/glitches related to cache management were fixed
- Adapted to EGL breaking changes related to GL version selection during context creation. Refer to a certain commit for more details.
- Added dynamic_resolution example, showcasing dynamic render resolution (1080p docked, 720p handheld) as well as instanced rendering.
With many thanks to Subv for porting over dependency tracking code over to our version of libdrm_nouveau and analyzing/fixing bugs in our EGL implementation; as well as to the nouveau developers for assisting with their knowledge of mesa/nouveau and helping port our changeset to the latest version of mesa.