Highlights
- The PS4 system menu (VSH) now boots, but it is not functional yet
- Compute shaders: DispatchDirect PM4 packet is now handled as well as async compute queues
- Structured shader control flow: the shader decompiler can now recover if/else and loop constructs from shader branches
- Significant GPU performance improvements: GPU-heavy scenes are now up to 2 or 3 times as fast
- Basic networking: TCP and UDP sockets are now implemented. libSceHttp also works. Initial work for a PSN replacement ("ChonkyNet") has been done
Shader Decompiler
- Compute shaders are now handled
- Branch instructions are translated to if/else and loop blocks
- Some data store (GDS/LDS) instructions are now handled
- Several other instructions have been implemented
- Vertex shaders without fetch shaders are handled properly
Vulkan Backend
- Allow up to 3 frames in flight
- Buffer/texture cache performance improvements (buffers are now tracked with page granularity)
- Compute correct image size for tiled images
- Fix stencil
- Fix some validation errors
- Other performance improvements
- Integrate the NVIDIA Nsight Aftermath SDK to generate GPU crash dumps (enable via the ENABLE_NVIDIA_AFTERMATH CMake option)
- Implement a basic texture garbage collector and fix other memory leaks
- Basic handling of bindless descriptors
- You can know select what GPU device to use through a CLI command (--gpu)
OS HLE
- Several more HLE functions have been implemented for all libraries
- TLS fixes
- Implement/stub necessary system libraries required for VSH to boot
- sceKernelDlsym and other functions for runtime loading and usage of sprx libraries now work correctly
- sceNet TCP and UDP sockets are now implemented, allowing LLE libSceHttp to work
- Implement sceZlib
Misc
- New command line interface added - run "ChonkyStation4 --help" for more info
- User management
- Begin implementing a replacement PSN server ("ChonkyNet"), not public yet
- Add an experimental red-zone fix patch (currently only used for CUSA00107)
Full Changelog: alpha-1...alpha-2