Commit graph

10560 commits

Author SHA1 Message Date
jbm11208
e24f8da113
Add per-title vulkan pipeline cache (#1118) 2025-06-23 20:51:25 +02:00
Qidi
680cbb559d
Fix aac_decoder memory leak (#1167)
* Fix aac_decoder memory leak

Only call NeAACDecInit on the first AAC frame and create new NeAACDecoder on DecoderCommand::Init request

* update license headers

* fix oversight

* reorganized code

-put open new FAAD2 AAC decoder code into a separate function
-removed LOG_INFO for open/close FAAD2 AAC decoder
-added LOG_ERROR when no decoder is created to handle decode request, either decoder creation failed or DecoderCommand::Init command not received

* Update aac_decoder.cpp

fix clang coding style check

* fix load savestate

Loading a savestate creates a situation where decode requests aren't preceded by an init request, so we open a new decoder by default in the constructor. A new AACDecoder instance is always constructed on load savestate.
2025-06-21 11:50:39 +01:00
OpenSauce04
9dc9bf3baf Updated language translations via Transifex 2025-06-20 23:24:51 +01:00
PabloMK7
5f81ac40c8
rasterizer: Increase uniform buffer size (#1174) 2025-06-20 22:10:04 +02:00
PabloMK7
0deb0f50b8
Add "SWP" frame time information (#1173) 2025-06-20 19:26:12 +02:00
kleidis
2b51691d57
android: Fix hotkey presses opening nav drawer even after being bound (#1122)
* android: Fix hotkey presses opening nav drawer even after being bound

* Removed unnecessary return

---------

Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-06-19 23:48:18 +01:00
marsia
11687fe32b android: Add landscape layout for setup pages 2025-06-19 21:14:26 +00:00
OpenSauce04
9d4d6c5fdc externals: Update libyuv to latest commit
Fixes an Android build failure while using CMake >=4.0
2025-06-19 21:06:10 +00:00
PabloMK7
f26b9b174a
cmake: Bump min version to 3.25 globally and to 3.30.3 for android (#1151)
* cmake: Bump min version to 3.25 and update android to 3.30.3

* app/build.gradle.kts: Set minimum CMake version rather than exact version

---------

Co-authored-by: OpenSauce <opensauce04@gmail.com>
2025-06-18 21:44:42 +02:00
qr243vbi
ce8798fffe
Replace deprecated and removed in boost 1.88 io_service to io_context (#1126)
* Replace deprecated and removed in boost 1.88 io_service for io_context

* More thoroughly replaced references to io_service with io_context

* Updated license header

---------

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-06-17 18:41:22 +00:00
PabloMK7
3c3dd2bd86
am: Improve cia encrypted content detection (#1152) 2025-06-17 14:17:01 +02:00
OpenSauce04
eec1466b7b Updated language translations via Transifex 2025-06-16 16:08:56 +01:00
OpenSauce04
5910edb9fa android: Fixed accurate multiplication setting using async shader value 2025-06-13 11:16:42 +01:00
OpenSauce04
63f52580ca qt: Renamed toggle console setting name to be more accurate 2025-06-09 20:19:40 +01:00
OpenSauce04
d1b80788f6 ci: Corrected Windows Vulkan SDK URL which was taken down by upstream 2025-06-09 19:29:08 +01:00
OpenSauce04
7eff38ed10 Updated language translations via Transifex 2025-06-08 18:16:44 +01:00
PabloMK7
995538fa3e
vulkan: Report error code on Vulkan::CreateSurface (#1130) 2025-06-08 17:23:17 +02:00
PabloMK7
57105076a0
frontend: Save RPC setting to config file (#1129) 2025-06-08 12:10:39 +02:00
OpenSauce04
868e946dee app/build.gradle.kts: Fixed incorrect usage of layout.buildDirectory 2025-06-06 12:37:54 +01:00
PabloMK7
fe7fe3ed24
android: Fix crash when user directory permissions are lost (#1110)
* android: Fix crash when user directory permissions are lost

---------

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-06-03 23:06:46 +02:00
OpenSauce04
2acbcd333c app/build.gradle.kts: Removed now-obsolete isMinifyEnabled value from relWithDebInfo build variant 2025-06-03 21:48:33 +01:00
OpenSauce04
7853bacddd app/build.gradle.kts: Replaced deprecated buildDir value with layout.buildDirectory 2025-06-03 21:48:33 +01:00
OpenSauce04
d827b63044 Migrate deprecated buildconfig value in gradle.properties to build.gradle.kts 2025-06-03 21:48:33 +01:00
OpenSauce04
14e8ee7fe3 cmake: Suppress -Wpsabi warnings when building with GCC 2025-06-03 20:58:30 +01:00
RedBlackAka
bc1edd1f1a
Fix and restore macOS native menu (#1111)
* Fix and restore macOS native menu

* Handle menu more elegantly by making norole default

Handle menu roles more universally by making norole default and manually define previously automatically assigned roles
2025-06-03 18:12:24 +01:00
OpenSauce04
cfe767e301 Updated translations via Transifex 2025-05-31 18:54:12 +01:00
OpenSauce04
063a80695c Updated outdated Vulkan dependencies to SDK 1.4.304.1 2025-05-31 16:37:04 +01:00
PabloMK7
a974fc4ac8 kernel: Improve SVC handling timings 2025-05-31 15:23:14 +00:00
PabloMK7
ad97506867
video_core: Remove assert in AccelerateTextureCopy (#1092) 2025-05-31 14:25:57 +02:00
PabloMK7
cf87efa3c0 video_core: Vectorize RasterizerAccelerated::AnalyzeVertexArray
Uses SIMD operations on the RasterizerAccelerated::AnalyzeVertexArray
function, which is hot code. Slightly reduces GPU processing time
on all games.

This idea was suggested by an anonymous contributor.

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-05-31 11:12:28 +00:00
PabloMK7
88b3dff278 citra_common: Enable SSE4.2 on x86_64 builds
Enables the use of SSE4.2 instructions on x86_64 CPUs, allowing
compilers to automatically vectorize some loops on citra_common.
A CMake toggle ENABLE_SSE42 (ON by default) has been added
to enable this behaviour.

This change breaks compatibility with CPUs that do not have
SSE4.2 instructions. All modern CPUs (from 2011 onwards) should
always have these instructions. Manual compilation will be
needed for older CPUs.

A message has been added to report if the CPU is incompatible
when starting the emulator.

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-05-31 11:12:28 +00:00
OpenSauce
9ecd26d2ce
android: Enhance shortcut customization with a custom dialog (#824)
* android: Enhance shortcut customization with a custom dialog

Adds ability to customize game shortcuts with:
- Custom name input
- Editable icon via image picker
- Ability to stretch to fit or zoom to fit the shortcut icon

* Code cleanup

* SearchFragment.kt: Updated license header

---------

Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>
2025-05-29 19:17:01 +01:00
PabloMK7
4cfb5c9d55
android: Add missing shader JIT option (#1085) 2025-05-29 19:10:26 +02:00
OpenSauce04
a6c72531b4 strings.xml: Removed stray quotation mark from advanced string 2025-05-29 17:15:52 +01:00
PabloMK7
ae43740690
Fix disable spirv optimizer option not saving (#1084) 2025-05-29 18:11:33 +02:00
PabloMK7
ec964c8610
Add more advanced frame time information (#1083) 2025-05-29 17:38:10 +02:00
PabloMK7
fd2ce82b6e
Add toggle to disable SPIRV optimization pass (#1080)
* Add toggle to disable SPIRV optimization pass

* vk_shader_util.cpp: Nitpicky comment tweak

* Consistently refer to "optimizer" instead of "optimization"

---------

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-05-28 21:22:59 +01:00
OpenSauce
fd2551439e
android: Add rotate screen upright toggle to UI (#819)
* Add upright boolean for portrait mode

* Add the `upright_screen` boolean to the UI as a switch & in-game

* ScreenAdjustmentUtil.kt: Updated license header

---------

Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>
2025-05-28 18:50:57 +00:00
OpenSauce
f3c63abd30
android: Only use Boolean value type for SwitchSettings (#821)
* android: Only use `Boolean` value type for `SwitchSetting`s

* SwitchSetting.kt: Updated license header
2025-05-28 19:00:48 +01:00
OpenSauce
f771952e62
android: Reorganize setup process to use multiple buttons per-page (#820)
* Refactor SetupFragment to support multiple buttons in one page

* Add new `PageButton` data class

* Programmatic button creation && button disabling in setUpAdapter

* Refactor SetupWarningDialogFragment to support multiple titles, descriptions, and help links

* Rework CitraDirectoryHelper to support button step state

* Update warning message for user folder selection step

* Updated license headers

* Code cleanup

* "skip setting the user folder" --> "skip setting up the user folder"

* Fixed typos in string names

* Break `select_emulator_data_folder_description` string over two lines

* `select_emulator_data_folder` --> `select_emulator_data_folders`

* Code cleanup #2

* Removed seemingly accidentally duplicated block of code

* Removed stray newlines

---------

Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>
2025-05-27 18:41:27 +01:00
OpenSauce04
6df92285e1 update_checker.cpp: Use fmt::format instead of std::format
It seems that certain environments still don't have access to `std::format` yet, and I missed this because it built fine on my machine and CI passed because the code using `std::format` wasn't included in non-tagged builds.
2025-05-27 14:00:08 +01:00
OpenSauce04
2c8a3b17b4 Updated language translations via Transifex 2025-05-27 13:03:07 +01:00
OpenSauce04
0ca46dc05f update_checker.cpp: Use GitHub's tags API to get latest tag for prereleases
The `releases` API can sometimes return releases out of order if they were uploaded too close to eachother, for whatever reason.
2025-05-27 13:00:32 +01:00
OpenSauce04
95eb701e12 update_checker.cpp: Add alpha and beta substrings to prerelease detection logic 2025-05-27 11:39:00 +01:00
OpenSauce04
2aa29a62cc android: Enable android:windowOptOutEdgeToEdgeEnforcement for Android 15+ 2025-05-26 21:28:09 +01:00
RedBlackAka
f20e5be513 Update MoltenVK to 1.2.9 2025-05-26 19:33:27 +01:00
PabloMK7
5e2161d90b
video_core: Refactor state tracking (#1059) 2025-05-26 14:37:03 +02:00
PabloMK7
bf587885cb
Allow SPIR-V when using Shadow2D texture mapping (#1057) 2025-05-24 00:05:16 +02:00
PabloMK7
ee63706887
Fix incorrect geo shader config start index parameter bit length (#1056) 2025-05-22 18:20:13 +02:00
PabloMK7
e83b81ec98
Add setting to toggle RPC server (disabled by default) (#1047) 2025-05-18 17:27:37 +02:00