⚠️Important Alpha Information⚠️
As an alpha release, this build is not yet considered a stable release. It is an early release of the upcoming 2122 update which isn't yet feature-complete.
This release is intended to help test upcoming features to ensure that they are stable.
Early adopters are encouraged to help test out the changes in this build to catch any issues before they make it into a stable release.
If you are unwilling to tolerate potential issues, you may be better off waiting for the stable release.
This update is notable for having a high number of improvements to game performance and compatibility. Please read the change notes.
Additionally, for x86_64 devices (most desktop computers), this update requires a CPU which has SSE4.2 instructions, and it is likely that all future releases will also have this requirement.
This feature is available in all modern CPUs released in 2011 or later.
The few users who have hardware which doesn't support this instruction set can compile the emulator from source with the ENABLE_SSE42
CMake option disabled.
Azahar 2122-alpha1 Changelog
All
- SIMD operations have been used to optimize a commonly used function, reducing GPU processing time for all applications. | @PabloMK7 #1086
- This change breaks compatibility with x86_64 CPUs which don't have SSE4.2 instructions (primarily CPUs released before 2011).
- The few users who have hardware which doesn't support this instruction set can compile the emulator from source with the
ENABLE_SSE42
CMake option disabled.- Disabling this CMake option also disables the optimization to the commonly used function.
- Improved SVC handling timings by simulating the passage of time more accurately. | @PabloMK7 #1093
- This results in significant performance improvements for several games, including but not limited to Luigi's Mansion 2, Star Fox 64 3D, and The Binding of Isaac: Rebirth.
- Refactored state tracking in the video core, reducing the amount of needed syncs and uploads to the GPU. | @PabloMK7, anonymous contributor #1059
- This improves performance in all applications.
- Allow SPIR-V when using Shadow2D texture mapping. | @PabloMK7, anonymous contributor #1057
- This greatly reduces stuttering in some games. Games known to be affected by this include Luigi's Mansion 2 and Resident Evil: Revelations, but other games may also see improvements.
- GLSL -> SPIRV optimizations have been disabled by default, with a new setting added to re-enable them. | @PabloMK7 #1080, #1084
- Disabling these optimizations has minimal impact on performance while greatly improving stuttering in all applications.
- Fixed the start index parameter for the geometry shader config being set incorrectly. | @PabloMK7, anonymous contributor #1056
- This fixes an issue in Kid Icarus: Uprising where grind rails would appear to be invisible.
- Replaced a problematic assert in AccelerateTextureCopy with a logged error. | @PabloMK7 #1092
- This fixes an issue which caused The Binding of Isaac: Rebirth to immediately crash when starting a run.
Android
- Additional options have been added during shortcut creation, allowing the icon and name of the shortcut to be customized. | Kleidis #824
- The performance overlay has been enhanced with new settings and statistics available to be toggled from the Layout settings. | Kleidis #808
- By default, only the current FPS is shown. Other statistics can be toggled on in the aforementioned settings menu.
- Added an aspect ratio setting which affects the single-screen layout. | @icy-briar #913
- Added an option which allows disabling JIT shader compilation. | @PabloMK7 #1085
- Reorganized the setup process to reduce the unnecessarily high number of pages. | Kleidis, @OpenSauce04 #820
- Added rotate screen upright toggle. | Kleidis #819
Desktop
- Added an option which allows advanced frame time information to be displayed at the bottom of the window. | @PabloMK7 #1083
- Fixed an issue where a custom-set background colour wouldn't be used while using the Vulkan renderer when an application was initially booted. | @icy-briar #896
Room
- Private room hosts are now automatically given moderator privileges. | Kleidis #822
- The
--enable_citra_mods
option has been removed. | Kleidis #822
Technical
- Refactored Android switch setting code to only store values as booleans. | Kleidis #821
- Updated some outdated Vulkan dependencies on Windows (MSVC) and Android to match the Vulkan SDK 1.4.304.1 used elsewhere. | @OpenSauce04 #1094