10310 Commits

Author SHA1 Message Date
OpenSauce04
20918b5a44 Android drawer is now locked by default 2024-11-10 18:16:49 +00:00
OpenSauce04
647a234e03 Builds created from unified sources will now display the correct version number in-app 2024-11-10 18:16:49 +00:00
OpenSauce04
d832350993 Updated default mobile portrait touch layout to be more ergonomic 2024-11-10 18:16:49 +00:00
OpenSauce04
1e777f425d Discord presence is now greyed out instead of invisble when unavailable to avoid the tab being potentially empty 2024-11-10 18:16:49 +00:00
OpenSauce04
b148393c09 Fixed release version numbers not being displayed in-app 2024-11-10 18:16:49 +00:00
OpenSauce04
df791a8d37 "setup" --> "set up" in Android welcome message 2024-11-10 18:16:49 +00:00
OpenSauce04
e79e8ab186 Removed old Citra funding links 2024-11-10 18:16:49 +00:00
PabloMK7
9d2d669066 Make plugins only load for apps and not applets (#265) 2024-11-07 14:47:32 +01:00
PabloMK7
a37d5727f5 Match changes to svcMapProcessMemoryEx from latest Luma3DS (#264) 2024-11-07 14:47:32 +01:00
David Griswold
12ff3e5fb0 Reenable dpad axes option (#262)
* Reenable dpad axes option

* Update Header Setting to allow for a description under tht title

* Add header descriptions for dpad axis and buttons
2024-11-07 14:47:31 +01:00
Reg Tiangha
c76a305ffc citra_qt: Build fixes for QT 6.8 (#258)
Replace deprecated `stateChanged` function with `checkStateChanged` that was first introduced in QT 6.7 but keep the old code to maintain compatibility with older versions of QT.
2024-11-07 14:47:31 +01:00
kleidis
6f86fc8dc4 android: Make Asynchronous shader compilation non runtime editable (#260)
I'm sure this was an oversight by the original devs and not intended to actually be runtime editable guessing by Qt's behavior

See https://github.com/Lime3DS/Lime3DS/issues/442
2024-11-07 14:47:31 +01:00
Reg Tiangha
37c169ca05 Update citra(6) man page (#257) 2024-11-07 14:47:30 +01:00
Wunk
bb1301b98e shader_jit_a64: Compact host executable memory (#230)
* common/aarch64: Allow generic code generator types

Use the templated `BasicCodeGenerator` type rather than the specialized
`CodeGenerator` type.
Allows `VectorCodeGenerator` to work with these functions.

* common/aarch64: Add `VectorCodeGenerator` to `CallFarFunction`

`VectorCodeGenerator` will always do far-calls since we cannot resolve any absolute addresses here.

* shader_jit_a64: Implement position-independent VectorCodeGenerator

Generates more position-independent assembly to allow for code to be
generated within a resizable vector before copying into executable
memory, allowing for more compact memory allocations and usage rather
than a statically defined worst-case for all-cases.

`VectorCodeGenerator` will need to generate position-independent code
rather than use absolute addresses. Assumes all far function calls in the
case of `VectorCodeGenerator` to use absolute addresses rather than
potentially use a relative `BL` branch after memory relocation.
2024-11-07 14:47:30 +01:00
Reg Tiangha
1ef86db597 Android: Add Pedometer Steps per Hour settings UI (#242) 2024-11-07 14:47:30 +01:00
Jugurta
e4b8c7d4df Refactor Vulkan stream buffer memory type selection (#238)
* Refactor Vulkan stream buffer memory type selection

This is a fix for GPUs with Vulkan V1.1 and V1.2

* add requested refactoring

* clang format

* fix typo
2024-11-07 14:47:29 +01:00
kleidis
1eb6e840d4 android: Fix pause emulator button crashing the emulator (#239) 2024-11-07 14:47:29 +01:00
Daniel López Guimaraes
0d40b13828 act: Add more command names and implement GetErrorCode (#237)
* act: Add more command names and implement GetErrorCode

The command names have been extracted from 3dbrew and the JavaScript
bindings that the NNID settings uses internally.

The error names have been extracted from the Wii U implementation
(102-XXXX), which are compatible with the 3DS ones except for 022-5XXX,
which are error codes specific to the 3DS.

* act: Split error codes into separate file
2024-11-07 14:47:29 +01:00
kleidis
eb956fc5ce qt: Fix default language not being set to the main one the system uses (#236)
* qt: Fix default language not being set to the main one the system uses

* cleanup code
2024-11-07 14:47:29 +01:00
szdarkhack
891479fe4b Add "Steps per hour" system setting (#211)
* Implements a steps per hour (global) setting that gets returned by PTM GetStepHistory

* Make setting label text clearer

* Add setting to SDL frontend

* Add setting to Android (no UI)

* Remove IntSetting enum value

* Follow convension in android default ini
2024-11-07 14:47:28 +01:00
PabloMK7
2c349668f3 Update submodules and build environments (#232)
* Update Vulkan and QT submodules

* Undefine FORTIFY_SOURCE before defining again

* Update discord-rpc submodule
2024-11-07 14:47:28 +01:00
David Griswold
af015fd9b9 Use buttons instead of axes for the d-pad, enabling mapping from gamepads with only digital dpad outputs (#203) 2024-11-07 14:47:28 +01:00
kongfl888 K
1288c23612 Android: add the titleId to the game card. (#227)
* Android: replace company in the game card with titleId.

TitleId is more useful for users than companies
because it can help them find game saves and the cheat file.

* Android: restore the company name on the game card.
2024-11-07 14:47:27 +01:00
Wunk
0ea9f23f0c shader_jit: Fix/optimize conditional evaluation (#234)
* shader_jit: Add conditional unit-tests

Tests all permutations of X, Y, AND, OR with each possible input value.

* video_core: Fix shader-interpreter conditional-code initialization

Rather than reserving the incoming state of the conditional codes, the
shader-interpreter was setting them both to false. In pretty much all
cases, the initial state of a shaderunit can be zero-initialized
statically. Just running the interpreter shouldn't necessarily reset the
conditional codes though.  The JIT loads incoming conditional codes
while the shader-interpreter resets them to false. This makes the
interpreter match the behavior of the shader-jit.

* shader_jit_a64: Fix/optimize conditional evaluation

Fix some of the regressions introduced by the previous optimization.
EOR does not support a constant of `0` in its immediate. In these cases
the COND{0,1} registers can be utilized immediately.

* shader_jit_x64: Fix conditional evaluation extended-bit hazard

The unit test seems to have identified a bug in the x64 jit too. The x64
jit was doing 32-bit comparisons despite the condition flags being 8-bit
values and is sensitive to garbage being in the upper 24 bits of the
register. This is fixed by using the proper 8-bit register types rather
than the 32-bit ones(`eax,`ebx` -> `al`, `bl`).

* shader_jit_x64: Zero-extend conditional-code bytes

`mov` was doing a partial update of bits within the register, allowing
garbage to be introduced in the upper bits of the register.
2024-11-07 14:47:27 +01:00
Wunk
cfc74d2d08 shader_jit_a64: Optimize conditional tests (#229)
These conditional tests are a 1:1 translation from the x64 code but do
not have to be. Reference-values are known at emit-time and can be
embedded as an immediate into an `EOR` instruction rather than moved
into a register. The `TST` instruction can be utilized to more optimally
test and update the `EQ`/`NE` status flags.
2024-11-07 14:47:27 +01:00
Miguel
3a956f3ade bundle qt wayland into appimage by rtiangha (#212) 2024-11-07 14:47:27 +01:00
PabloMK7
407bff43e5 pica: Move mutex lock below tracing check on register write (#210)
Co-authored-by: IndecisiveTurtle <47210458+raphaelthegreat@users.noreply.github.com>
2024-11-07 14:47:27 +01:00
PabloMK7
efe2ee6a43 Add instant log flush option (#209) 2024-11-07 14:47:26 +01:00
PabloMK7
60c29ede5e Artic Base: Fix issue when 0 bytes are read from file (#199) 2024-11-07 14:47:25 +01:00
PabloMK7
70221780ef renderer_vulkan: Address vulkan surface recreation issues (#198) 2024-11-07 14:47:25 +01:00
PabloMK7
59ca96da97 Artic Base: Add Artic Controller support (#195) 2024-11-07 14:47:25 +01:00
PabloMK7
ba30bfa737 Revert "android: implement device rotation options (#182)" (#194)
This reverts commit 93025c95f2ce4baed37a7b587236f12ef667c540.
2024-11-07 14:47:24 +01:00
Felix Nüsse
9bdb6d9879 allow remapping of unknown keycodes (#189) 2024-11-07 14:47:23 +01:00
Felix Nüsse
0d16dd2ae1 android: implement device rotation options (#182)
* android: implement device rotation options

* fix naming

* move orientation-setting to different section
2024-11-07 14:47:23 +01:00
Felix Nüsse
874f10ef74 android: add quicksave hotkeys (#181) 2024-11-07 14:47:22 +01:00
PabloMK7
e74cee245e renderer_vulkan: Reduce wait semaphores and wait for present before destroying 2024-11-07 14:44:08 +01:00
PabloMK7
63cbd90049 Workaround a performance bug in older Mali GPUs (#185) 2024-11-07 14:44:07 +01:00
PabloMK7
9e9f63bc67 Implement game render thread delay (#180)
More details: https://www.reddit.com/r/Citra/comments/1e1v4e1/fixing_luigis_mansion_2_performance_issues_once/
2024-11-07 14:44:07 +01:00
PabloMK7
3b2f8cfcd7 Fixup logic for GSP_GPU::TriggerCmdReqQueue (#177) 2024-11-07 14:44:06 +01:00
PabloMK7
a19a4fad7e Artic Base: Implement DLC support and other fixes (#173)
* Artic Base: Implement DLC support and other fixes

* Fix per game settings not working with artic loader

* Fix compilation error
2024-11-07 14:44:06 +01:00
PabloMK7
ccabbaf2ac Artic Base: Fix fallback read/write not being chunked (#171) 2024-11-07 14:44:05 +01:00
PabloMK7
9a6a2d879d Update dynarmic to the latest version. (#170) 2024-11-07 14:44:04 +01:00
Wunk
7ff7fc88c0 shader_jit/tests: Test both the shader interpreter and jit (#72)
* shader_jit/tests: Test both the shader interpreter and jit

Uses Catch2's `TEMPLATE_TEST_CASE`-feature to test both the JIT and the
interpreter.

* shader_jit/tests: Use generator-expressions for nested-loop test cases

Tests more permutations of inputs than just the two it had before

* shader/tests: Refactor `shader_jit` tests to just `shader` tests

Since these tests will test both the interpreter and the jit, they are no longer jit-specific tests and are more general shader-tests.

* shaders/tests: Disable Nested-Loop `ShaderInterpreterTest` test

Restoring loop-state on nested loops is bugged on the ShaderInterpreter.

* shader/tests: Fix Nested Loop generator expressions
2024-11-07 14:44:04 +01:00
wheremyfoodat
e20c8d9771 Y2R: Set is_busy_conversion to false when stopping conversion (#165) 2024-11-07 14:44:04 +01:00
PabloMK7
3eb5754cfe Fix crash when cubemap face id is invalid (#154)
* Fix crash when cubemap face id is invalid

* make variable const
2024-11-07 14:44:04 +01:00
kongfl888 K
8e1c0e3c13 Fix gcc 13+ compilation and update fmt. (#142)
* Soc and artic_bass: gcc 13+ compatibility fix.

* externals/fmt: update to HEAD fcd3e1e19.
It will fix error.
  integer_sequence<bool, (Is == Is)...>  [-Werror=tautological-compare]
The updating is helpful and needed.
Fmt has gone through two public versions since its last update
and has fixed many bugs, including new compiler optimizations.
But neither of these two public versions can fix the errors encountered above.
We need to switch to a working version.
It can be fixed after fmt/8e62172.There are still many optimizations,
Such as this one:
  Std. h c++23 build fix (# 3856)
And these:
  C++23 compatibility: basicstring_view cannot be constructed from nullptr (# 3846)
  Fix warning C4702 emitted from format.h (MSVC) (#3866)
Of course, there are other functional improvements as well.
Very helpful.
The selected version is the one that has been checked and works well.

And synchronously updating local code.

* citra_qt/ui: clean up duplicate naming warnings.
2024-11-07 14:44:03 +01:00
PabloMK7
23ed261fba Fix HTTP RequestState values (fixes Pretendo Network support with HLE http) (#143)
* Fix http RequestState values

* Fix formatting
2024-11-07 14:44:02 +01:00
RocketRobz
5bd2775cd4 Run screenshot capture function in paused state by capturing next frame (#116)
* Allow screenshot capture in paused state by unpausing to capture next frame

* Change `QMessageBox::No` to `QMessageBox::Yes`

* Fix formatting

* Fix formatting
2024-11-07 14:44:02 +01:00
Reg Tiangha
e918de8907 citra_qt: Add scroll bar to System tab (#135) 2024-11-07 14:44:02 +01:00
PabloMK7
404130ce78 Do not use the cache if the read would result in OOB (#130) 2024-11-07 14:44:01 +01:00