Commit Graph

78 Commits

Author SHA1 Message Date
NovaChild 8a6d597dec android: Secondary Layout and Menu Improvements (#1385)
* Add a new Secondary Display Layout option on android that makes the secondary display honor swap button

* add quick menu option for secondary layout

* fix icon

* added other secondary layouts

* Add a new Secondary Display Layout option on android that makes the secondary display honor swap button

# Conflicts:
#	src/core/frontend/framebuffer_layout.cpp

* add quick menu option for secondary layout

* fix icon

* added other secondary layouts

* updated secondary menu with functionality to switch external displays

 Conflicts:
	src/android/app/src/main/java/org/citra/citra_emu/display/SecondaryDisplay.kt

* safety checks for crash prevention

* make secondary menu only appear if a secondary display is available

* update default displayid behavior to exclude "Built"

* update odin 2 bugfix to handle other languages

* Apply clang-format

* Rename "Opposite of Primary Display" option for brevity

* Rename menu_secondary_layout_reverse_primary for consistency

* Rename SecondaryDisplayLayout::ReversePrimary for consistency

* first round of code fixes based on review

* Added android-side enable_secondary_display boolean setting, replacing secondary_display_layout = none on the android side. Exposed it in Layout settings, and secondary display layout is now only selectable if it is enabled.  Support for the old option is still in the code, but should no longer be selectable.

Also renamed opposite to reverse_primary in a few other places.

* Update framebuffer layout and renderers to correctly render hybrid mode on both primary and secondary displays

* Apply clang format

* Re-apply terminology changes which were undone by a recent commit

* Removed unused string emulation_secondary_display_default

---------

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2026-06-14 17:37:32 +01:00
crueter 379649dbce cmake: Fix MoltenVK fetch order/library conflicts (#2183)
* [cmake] Fix MoltenVK fetch order/library conflicts

Rather than dealing with `find_library` shenanigans, just set the
library path directly (when using bundled MoltenVK). System MoltenVK
solely uses `find_library`.

Avoids cache nonsense that can cause system/bundled versions to get
mixed up, and overall makes the system/bundled mvk handling a lot more
consistent

```
cmake -S . -B build -DUSE_SYSTEM_MOLTENVK=ON
-- Using MoltenVK at /opt/homebrew/lib/libMoltenVK.dylib.
cmake -S . -B build -DUSE_SYSTEM_MOLTENVK=OFF
-- Using MoltenVK at /Users/crueter/code/azahar/build/externals/MoltenVK/MoltenVK/dynamic/dylib/macOS/libMoltenVK.dylib.
cmake -S . -B build -DUSE_SYSTEM_MOLTENVK=ON
-- Using MoltenVK at /opt/homebrew/lib/libMoltenVK.dylib.
```

Signed-off-by: crueter <crueter@eden-emu.dev>

* remove old comment

Signed-off-by: crueter <crueter@eden-emu.dev>

* Cleanup

---------

Signed-off-by: crueter <crueter@eden-emu.dev>
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2026-06-05 16:36:48 +01:00
OpenSauce04 854e198196 cmake: Implemented bundle target for MXE builds
Just copies the content of bin/<type>/ to bundle/
2026-05-09 10:32:52 +01:00
PabloMK7 929a51afc6 audio: Add option to simulate headphones plugged in (#2099) 2026-05-08 15:19:53 +02:00
PabloMK7 260f08c497 core: Add async filesystem operations (#2098) 2026-05-08 11:35:47 +02:00
PabloMK7 b540725090 Revamp GDB implemenation and add a some minor debug features (#2086) 2026-05-07 13:48:35 +02:00
PabloMK7 5ddbaeae23 gsp: Fix GPU interrupt queue and add GPU timing emulation (#2095) 2026-05-07 01:36:21 +02:00
OpenSauce04 118579adb3 Fixed launch failures on NetBSD due to PaX MPROTECT restrictions 2026-04-05 13:11:40 +01:00
OpenSauce04 9b045bf837 libretro: Replace render_touchscreen setting with enable_touch_pointer_timeout
Touch pointer rendering is now always enabled, but unless a controller is being used to move the touchscreen cursor, it will be hidden due to the timeout which is also enabled by default.
2026-03-23 13:07:39 +00:00
David Griswold 1febb83942 qt: Add controller touchpad support (#777) 2026-03-12 00:21:17 +01:00
PabloMK7 2207be30a9 core: Add "toggle unique data console type" option (#1826) 2026-03-06 01:23:35 +01:00
OpenSauce04 efccedbbd2 cmake: Version info generation improvements
- Allow GIT-COMMIT and GIT-TAG files to override real git info (useful for testing version-related functionality such as update checks)
- Always re-configure scm_rev.cpp when configuring with CMake (fixes an issue where the version number would just not update in incremental builds)
2026-03-04 11:45:55 +00:00
OpenSauce 068d6598bc Configuration backend improvements Pt. 1 (#1762)
* Convert all setting keys in settings.h into hana strings

* Derive libretro setting keys from common/settings.h hana strings

* settings.h: Reduce code repetition in key definitions via macro

* Implemented mechanism to pass our C++ setting keys to Android/Kotlin

None of the Android keys have been moved over as of this commit, this is just prep work

* jni_settings_keys.cpp.in: Removed redundant code

* Migrate (almost) all Android setting string keys over to SettingKeys

Also some slight cleanup

* Updated license headers

* Fixed top custom width erroneously being used in place of top custom height

* Migrate (probably) all setting string keys to Settings::QKeys

* Migrated several previously missed string keys to generated keys

* SettingKeys.kt: Visually seperate shared and Android-exclusive keys, similar to GenerateSettingKeys.cmake

* android: sdl2_config --> android_config

Not sure why these values are named this way. Hold-over from SDL2 frontend?

* android: Generate and validate default config.ini dynamically

* Settings: Assume C-style string keys by default

Relative to the previous commit, the following names have changed:
- Settings::Keys --> Settings::HKeys
- Settings::CKeys --> Settings::Keys

* default_ini.h: Fixed formatting warning

* Comment cleanup

* android: Fixed compilation failure due to incorrect namespace

* config.cpp: Use ASSERT_MSG instead of LOG_ERROR and ASSERT(false)
2026-03-02 23:26:43 +00:00
PabloMK7 304db9173b video_core: vulkan: Add disk shader cache (#1725) 2026-02-16 15:59:22 +01:00
OpenSauce04 54f2221ec6 cmake: Fix build info sometimes not generating correctly 2026-01-19 21:13:18 +00:00
OpenSauce04 64516e6420 cmake: Removed redundant BuildInstaller.cmake 2026-01-19 18:48:13 +00:00
OpenSauce04 e0b8e8440a cmake: Fixed AppImage build failure caused by upstream changes to linuxdeploy
Also improved error message when linuxdeploy run fails
2025-11-30 18:17:42 +00:00
OpenSauce04 bf03cac9e1 cmake: On Windows, download MSVC 2022 Qt versions instead of MSVC 2019 2025-09-03 03:15:14 +01:00
OpenSauce04 b6be443069 cmake: Bump downloaded Qt version to 6.9.2
Also bumps aqtinstall to 3.3.0
2025-09-03 03:15:14 +01:00
RedBlackAka f20e5be513 Update MoltenVK to 1.2.9 2025-05-26 19:33:27 +01:00
OpenSauce04 1e8cc02d56 cmake: Reduce files copied to bundle directory by create_base_bundle_target 2025-04-26 22:19:16 +01:00
OpenSauce04 a53ce91852 Fix CMake CMP0175 warnings
Closes #981
2025-04-26 16:42:37 +01:00
OpenSauce04 dee576bfeb Use reverse TLD filenames for installed Linux files where appropriate 2025-03-28 00:02:10 +00:00
OpenSauce04 16dac366cf Install 512x512 icon to CMAKE_INSTALL_PREFIX 2025-03-22 16:22:51 +00:00
OpenSauce04 b225e856df Updated all files under dist to refer to Azahar instead of Citra
This resolves some icon theming issues on Linux

Co-authored-by: HurricanePootis <53066639+HurricanePootis@users.noreply.github.com>
2025-03-21 16:37:10 +00:00
OpenSauce04 c399783266 Merged the SDL and Qt frontends together into a single unified executable 2024-11-10 19:28:04 +00:00
Reg Tiangha 7142e4f0e5 cmake: Update aqtinstall to v3.1.18 2024-11-10 19:01:21 +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 b148393c09 Fixed release version numbers not being displayed in-app 2024-11-10 18:16:49 +00:00
Steveice10 19784355f9 build: Improve support for Windows cross-compilation. (#7389)
* build: Improve support for Windows cross-compilation.

* build: Move linuxdeploy download to bundle target execution time.
2024-02-05 10:09:50 -08:00
Steveice10 37f0a7484f renderer_vulkan: Revert vkGetInstanceProcAddr symbol change for MoltenVK. (#7341) 2024-01-12 09:16:04 -08:00
Steveice10 2ce0a9e899 renderer_vulkan: Update to support MoltenVK 1.2.7 (#7335) 2024-01-09 11:33:47 -08:00
GPUCode 2bb7f89c30 video_core: Refactor GPU interface (#7272)
* video_core: Refactor GPU interface

* citra_qt: Better debug widget lifetime
2023-12-28 11:46:57 +01:00
Steveice10 1c75d895fc build: Block qt.mirror.constant.com as a Qt download mirror. (#7148) 2023-11-11 11:52:11 -08:00
Steveice10 5193a5d222 build: Remove need for system Python to download Qt on macOS. (#7125) 2023-11-06 12:26:50 -08:00
GPUCode 1f6393e7d5 video_core: Refactor GLSL fragment emitter (#7093)
* video_core: Refactor GLSL fragment emitter

* shader: Add back custom normal maps
2023-11-06 12:26:28 -08:00
Steveice10 50f22d1f59 video_core: Abstract shader generators. (#6990)
* video_core: Abstract shader generators.

* shader: Extract common generator structures and move generators to specific namespaces.

* shader: Minor fixes and clean-up.
2023-09-30 02:06:06 -07:00
Steveice10 9e898bca06 build: Fix Qt installer build script. (#6938) 2023-09-01 15:18:47 -07:00
TGP17 894c1c85a5 Include Citra Icon in release (#6905) 2023-08-21 22:34:54 +02:00
Steveice10 6ddf4b241f renderer/vulkan: Emulate custom border colors in shaders when unavailable. (#6878) 2023-08-17 22:22:25 +02:00
Steveice10 af78268dd5 qt: Update Qt to 6.5.1 (#6863) 2023-08-10 14:32:51 -07:00
Vitor K 19107cec4b citra-qt: update the separate window titles to use full_name and show Primary/Secondary identifier (#6712)
* citra-qt: update the separate window titles to use full_name and Primary/Secondary window identifier

* build_fullname: remove trailing space
2023-07-25 05:51:46 -07:00
Steveice10 9d4609e29a build: Bundle libraries in-place as well on MSVC. (#6665) 2023-07-06 02:37:06 +02:00
Steveice10 2d6aca4563 build: Rework CI and move all bundling into new build target. (#6556)
* build: Rework CI and move all bundling into new build target.

* ci: Use "mingw" in msys2 release names for compatibility.

* ci: Use "osx" in macOS release names for compatibility.

* ci: Disable macOS upload.

Will be moved to a separate PR for canary merge.
2023-06-26 17:42:00 -07:00
Steveice10 89663e0db8 build: Fix generating build info using unified source archive. (#6628) 2023-06-20 09:44:20 -07:00
Steveice10 38435e9b3e Dynamically load FFmpeg and libfdk-aac if available. (#6570) 2023-06-17 02:06:18 +03:00
Steveice10 238a574645 qt: Add support for building for iOS. (#6594) 2023-06-07 20:40:53 -07:00
Steveice10 54c499ed5b Prepare for Vulkan backend (#6595)
* externals: Add libraries required for vulkan

* build: Add support for downloading bundled MoltenVK.

* ci: Install tools needed for Vulkan.

* citra_qt: Add API status indicator

---------

Co-authored-by: GPUCode <geoster3d@gmail.com>
2023-06-05 07:29:05 -07:00
Steveice10 0f5ff64ae6 build: Fix Qt download commands working directory. (#6579) 2023-05-31 15:42:13 -07:00
Steveice10 b89f5278ac Revive: dumping/ffmpeg_backend: Various fixes (#6528)
* dumping/ffmpeg_backend: Add FPS filter

So that the recorded video can be at 60FPS (which is supported by most encoders) while still maintaining correct speed.

* dumping/ffmpeg_backend: Add HW context support

Required for some HW acceled encoders. Not tested as my devices don't seem to require this.

* CMake: Copy avfilter dll for MSVC

* CMakeLists: Require FFmpeg 4.0

* ffmpeg: Fix dumper compile error on MSVC.

* ffmpeg: Address review comments.

---------

Co-authored-by: zhupengfei <zhupf321@gmail.com>
2023-05-16 02:28:21 -07:00