- Refactored logic operation handling for AMD drivers to reduce unnecessary object creation.
- Inlined lambda for float type checking in vertex attribute format to improve performance.
- Updated dynamic state management with support for extended dynamic state and primitive restart enable.
- Added checks for various extended dynamic state support features (v1, v2, v3).
- Implemented frame skipping logic to skip every 4th frame in the Vulkan renderer.
- Added basic frame interpolation using a fragment shader to blend the previous and current frames.
- The interpolation shader performs a 50% blend between the two frames to smooth out skipped frames.
- Frame buffers are captured and used for interpolation in case a frame is skipped.
- Implemented logic to determine memory limit based on available memory.
- The system now sets a memory limit of 8 GiB, 6 GiB, or 4 GiB based on the available memory, using the total available memory if it's less than 4 GiB.
- Added multi-core, shader backend, NVDEC emulation, ASTC decode method, and ASTC recompression settings to the Phoenix Hacks submenu.
- This enhances the customization of rendering settings in the Phoenix Hacks section.
- Added ResolutionSetup enum to represent different resolution scaling levels.
- Integrated dynamic resolution adjustment based on FPS into the FPS overlay.
- Fixed type mismatch by safely handling nullable 'perfStatsUpdater' with null-safe operators.
- Ensured proper null safety handling when posting and removing callbacks.
- Resolved smart cast issue by preventing potential state changes of 'perfStatsUpdater'.
- Fixed argument order in String.format for FPS and memory usage.
- Improved null safety checks for binding and perfStatsUpdater.
- Ensured proper removal of callbacks to avoid memory leaks.
- Introduced a new 'Phoenix Hacks' submenu in the settings UI.
- Added options for Phoenix-specific hack toggles and adjustments.
- Prepared the settings infrastructure for upcoming Phoenix cherry-picked optimizations.
- Implemented `uninstallFirmware` method to remove installed firmware files from the system.
- Added confirmation and error handling for firmware uninstallation.
- Updated UI strings with messages for firmware uninstallation process.
- Linked the uninstallation option in the installable list of actions.
- Added battery temperature tracking through a broadcast receiver to update thermal overlay.
- Integrated memory usage display in the performance overlay.
- Updated lifecycle management to handle battery receiver registration and unregistration.
- Refined thermal overlay visibility and removed extra handling for foldable layouts.
- Improved overall performance tracking, memory statistics, and UI adjustments.
- Removed `CheckKgslPresent()` from `SupportsCustomDriver()` function.
- Updated API level requirement to 30 for custom driver support.
- Simplified the `supportsCustomDriverLoading` JNI function to rely solely on API level check.
- Introduced a Python-based tool for processing log files.
- The tool removes unnecessary `<Info>` lines, focusing on device information, warnings, and errors.
- Designed for easy integration into development workflows with drag-and-drop file selection.
- Output is formatted for Discord, making it easy to share logs with relevant details.
- Updated `nvn_bias` structure to extend the offset range.
- Adjusted `offset_begin` from 0x110 to 0x100 and `offset_end` from 0x610 to 0x700.
- These changes provide a broader range for better memory alignment and handling.
- Commented out the section in `CMakeLists.txt` responsible for downloading and extracting Vulkan Validation Layers (VVL).
- As VVL is now provided manually, the automated download and extraction process is no longer required.
- The script block responsible for copying the VVL binaries to `jniLibs` has also been commented out.
- Replaced outdated branding references with the new brand name.
- Updated URLs to point to the correct and current addresses.
- Ensured all references in `strings.xml` reflect the latest company or product updates.
- Upgraded Gradle to version 8.10 for enhanced build performance and compatibility.
- Updated Android Studio `build.gradle.kts` with new dependencies, NDK, and JDK versions.
- Improved obfuscation settings for better security and minimized APK size.
- Ensured all dependencies are compatible with the latest tooling for smoother development workflow.
- Implemented stubs for `SR_WScaleFactorXY` and `SR_WScaleFactorZ` to handle scaling factors for X, Y, and Z dimensions in the shader recompiler.
- Placeholder logic for scaling factor fetching, allowing future extension for proper uniform or buffer access.
- Ensures compatibility with the GLSL backend by providing stubbed implementations for scaling factors.
- Implemented necessary fixes for handling `std::optional`, ensuring proper assignment and value checks.
- Corrected all assignments and comparisons with pointers and `nullptr` to avoid potential runtime issues.
- Improved code reliability by addressing cases where optional values were improperly accessed or compared with null pointers.
- Replaced the old logo colors with vibrant cyan (#00FFFF) and bright purple (#BF40BF)
- Adjusted all relevant branding assets to reflect the new color scheme
- Updated documentation and references to the logo
- Merged two versions of EmitInvocationInfo into a single function handling multiple stages.
- Replaced repeated shift values with a constant `SHIFT_AMOUNT` for improved readability and maintainability.
- Ensured consistent use of comments and improved code organization.
- Replaced hardcoded shift value of 16 with a named constant `SHIFT_AMOUNT` for better readability and maintainability.
- Standardized the formatting and operation of all stages for consistency.
- Added comments to clarify the purpose of each case.
- Improved logging in the default case to include the shader stage for better debugging.
- Fixed path formatting issues for Windows batch script by using backslashes (`\`) in `rmdir` commands.
- Added `--force` option to `git submodule add` commands to handle existing local directories.
- Addressed warnings related to line-ending conversion (LF to CRLF).
- Improved error handling during submodule cleanup, removal, and reinitialization.
Added a batch script that automates the following tasks:
- Removes old Git remote and adds a new one.
- Pushes all branches with force.
- Provides an option to push tags with user confirmation.
Added the following missing submodules:
- Vulkan-Headers
- opus
- tzdb_to_nx
- VulkanMemoryAllocator
- oaknut
- Vulkan-Utility-Libraries
This ensures that all dependencies are properly tracked and initialized for project build.
- Updated branch references from 'master' to 'main' in CMakeList.txt and DownloadExternals.cmake.
- Ensured consistency with the new branch naming convention.
- Replaced all occurrences of 'YUZU' with 'UZUY' in file and directory names across the project.
- Updated to ensure consistency with the new project naming convention.
- Replaced all occurrences of 'yuzu' with 'uzuy' in file and directory names across the project.
- Updated the naming to ensure consistency with the new project identity."
- Recursively replaced 'Yuzu' with 'Uzuy' in all file and directory names under the specified path.
- Ensured consistency across the project by updating naming conventions."
- Recursively replaced 'yuzu' with 'uzuy' in all file and directory names under the specified path.
- Ensured consistency across the project by updating naming conventions.
- Updated 16 submodules to valid commits as some previous references were no longer available.
- Ensured all submodules are correctly synchronized with their respective repositories.