10573 Commits

Author SHA1 Message Date
OpenSauce04
5937e0bf12 externals: Upgraded Vulkan dependencies to vulkan-sdk-1.4.313.0 2025-07-13 11:20:12 +01:00
OpenSauce04
c1761f87f9 gitmodules: Use tabs for indentation
This is the preferred indentation style of git, and it will use tabs by default when performing git operations which modify submodules
2025-07-12 13:07:08 +01:00
OpenSauce
7c278f9701
android: Implement play time tracking (#813)
* android: Implement play time tacking

Co-Authored-By: Reg Tiangha <rtiangha@users.noreply.github.com>

* Moved playtime manager from `citra_qt` to `common`

* Reimplemented Android play time to use existing logic from desktop

* Updated license headers

* When getting current game ID fails, silently error rather than crashing

* playTimeManagerStart: Check that `play_time_manager` is initialized before using it

---------

Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>
Co-authored-by: Reg Tiangha <rtiangha@users.noreply.github.com>
2025-07-12 13:01:46 +01:00
RedBlackAka
06ed6f3b6d Installer: cleanup NSIS, remove unused code, correct minimum version 2025-07-10 23:57:32 +01:00
Nikki
0453e4463a
GSP: correct MemoryFill interrupt signaling (#1218)
* GSP: correct MemoryFill interrupt signaling

---------

Co-authored-by: PabloMK7 <hackyglitch2@gmail.com>
2025-07-10 23:22:10 +01:00
PabloMK7
d8bef418a7
pica: Fix irq request register behaviour (#1216) 2025-07-10 23:01:53 +01:00
OpenSauce04
df134acefe math_util.cpp: Don't set GCC novector pragma when using GCC <14 2025-07-09 20:02:48 +01:00
Eric Warmenhoven
70314b9465 android: when cross-compiling from macos, don't include objcxx 2025-07-06 17:48:35 +01:00
PabloMK7
de7b457ee4
video_core: Remove assert in OpenGL LoadProgram and better logging (#1200) 2025-06-30 13:34:16 +02:00
OpenSauce04
f00d498f11 citra_sdl: Fixed compile failure due to use of removed function 2025-06-30 10:12:31 +01:00
OpenSauce
df3c0c18e4
renderer_vulkan: Disable FIFO when refresh rate is lower than ~60hz or Apple low power mode is enabled (#1193)
* renderer_vulkan: Disable FIFO when refresh rate is lower than ~60hz

Also disables FIFO when Apple low power mode is enabled, as it can limit the application framerate to 30fps

* renderer_vulkan.cpp: Put `IsLowRefreshRate` into anon namespace + make static
2025-06-29 21:06:44 +01:00
PabloMK7
a15af9b550
video_core: Fix LCD color fill (#1198) 2025-06-29 13:51:29 +02:00
Nikki
4447a5c9f2
[GSP] Set correct stop flag (#1199) 2025-06-29 13:09:03 +02:00
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 2122-rc1 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 2122-alpha1 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