Commit Graph

9939 Commits

Author SHA1 Message Date
cf694f2350 video_core: Refactor GPU interface 2023-12-27 23:53:29 +02:00
bd4ec251cd gsp_gpu: Implement TryAcquireRight and stub SetInternalPriorities. (#7285)
* gsp_gpu: Implement TryAcquireRight.

* gsp_gpu: Stub SetInternalPriorities.

* gsp_gpu: Move serialization logic into implementation.

* gsp_gpu: Replace UINT32_MAX with std::numeric_limits<u32>::max().
2023-12-25 08:29:17 -08:00
b6b98af105 cecd: Stub GetCecInfoEventHandleSys (#7278)
This allows usage of the LLE news sysmodule.
2023-12-22 19:52:27 -08:00
60a280af24 feat(android-hotkeys): Introduce hotkey support for Android app and add missing hybrid layout (#7241)
* feat(android-hotkeys): Introduce hotkey support for Android app

* android: Fix settings not saving for layout options - screen swap + layout.

* android: Fix `from` method to default to "DEFAULT" if passed an invalid method (and also not be based on ordering)

* android: PR response - name to togglePause
2023-12-22 19:52:12 -08:00
178e602589 misc: Improve defaults for macOS and handling of missing audio backends. (#7273)
* misc: Improve backend defaults for macOS.

* audio_core: Improve handling of missing audio backends.
2023-12-22 11:38:06 -08:00
dccb8f6b17 gamemode: Fix compile issues (#7276)
The Linux build fails to compile because gamemode will try to link
against `common` when it's not needed.
2023-12-22 19:29:44 +05:30
f177433d41 cfg: Set sound mode to stereo by default. (#7268) 2023-12-21 02:34:22 -08:00
71b88c4c1f android: Disable focus color on input overlay (#7271) 2023-12-21 09:15:08 +01:00
c7e9f8449e Port yuzu-emu/yuzu#11946: "Enable (Feral Interactive) Gamemode on Linux" (#7245) 2023-12-20 06:08:07 -08:00
2e369c03b8 ci: Revert back to unzipped Android artifacts. (#7258) 2023-12-19 18:51:47 -08:00
a47d8a7b4d Fix incorrect service name in SOC_U::GetService (#7261) 2023-12-19 08:04:28 -08:00
02ba5c652b Add circle_pad_old_* to savestates. (#7250)
This is particularly relavant for TASing, not savestating these values will often cause dropped inputs on loading a savestate, due to the previous old circle pad values being used rather than the ones used during the savestate.
For casual usage, this likely doesn't have much effect compared to the previous code, considering a casual user is probably not likely to care if inputs on the first frame of loading a savestate is dropped or not.
2023-12-19 00:43:44 -08:00
762ddfd07b Android UI Overhaul Part 4/4 (#7235)
* android: Rework cheats

Reworks cheats to use the navigation component, kotlin, and a tweaked layout for a better tuned look.

* android: Convert remaining files to kotlin and add overlay home button

* android: Remove Picasso dependency

* android: Fix home option layout centering

* android: Adjust logo size in-app
2023-12-17 17:32:30 -08:00
d680b79725 Implement some missing SOC functionality (#7176)
* Implement some missing SOC functionality

* Add LOG_POLL macro for debugging

* Fix compilation

* Temporary fix for Android

* Temporary fix for Android (for real)

* Apply suggestions

* Add stubbed notice to android sockatmark

* Apply suggestions
2023-12-17 08:50:24 -08:00
2b20082581 common: Miscellaneous cleanups (#7239)
* code: Remove some old msvc workarounds

* android: Upgrade to NDK 26

* Allows access to newer libc++

* common/swap: Make use of std::endian

Allows removing a bunch of defines in favor of a two liner.

* common: Remove misc.cpp

* GetLastErrorMsg has been in error.h for a while and also helps removing a depedency from a hot header like common_funcs

* common: use SetThreadDescription API for thread names

* common: Remove linear disk cache

* Has never been used?

* bit_set: Make constexpr

* ring_buffer: Use feature macro

* bit_set: Use <bit> and concepts

* gsp_gpu: Restore comment

* core: Ignore GCC warning

---------

Co-authored-by: Lioncash <mathew1800@gmail.com>
Co-authored-by: Liam <byteslice@airmail.cc>
2023-12-14 16:26:33 +02:00
15ea0c6336 Port yuzu-emu/yuzu#12100: "translations: Add android translations to transifex config" (#7246)
Port of https://github.com/yuzu-emu/yuzu/pull/12100.

Co-authored-by: Charles Lombardo <clombardo169@gmail.com>
2023-12-14 04:57:08 +01:00
9a6d15ab74 ci: Only use Linux clang for app image build. (#7244)
* ci: Only use Linux clang for app image build.

* build: Re-add -Wno-attributes for GCC 11.
2023-12-12 09:48:06 -08:00
60584e861d fs: Stub ControlArchive. (#7237) 2023-12-08 23:35:01 -08:00
070853b465 apt: Stub ReplySleepQuery and ReplySleepNotificationComplete. (#7236) 2023-12-08 23:34:54 -08:00
24b5ffbfca boss: Implement Spotpass service (part 1) (#7232)
* boss: Implement Spotpass service (part 1)

* boss: Fix save state (de)serialization.

* boss: Fix casing of SpotPass in log messages.

* boss: Minor logging improvements.

* common: Add boost serialization support for std::variant.

---------

Co-authored-by: Rokkubro <lachlanb03@gmail.com>
Co-authored-by: FearlessTobi <thm.frey@gmail.com>
2023-12-08 23:34:44 -08:00
4d9eedd0d8 video_core/vulkan: Add debug object names (#7233)
* vk_platform: Add `SetObjectName`

Creates a name-info struct and automatically deduces the object handle type using vulkan-hpp's handle trait data.
Supports `string_view` and `fmt` arguments.

* vk_texture_runtime: Use `SetObjectName` for surface handles

Names both the image handle and the image-view.

* vk_stream_buffer: Add debug object names

Names the buffer and its device memory based on its size and type.

* vk_swapchain: Set swapchain handle debug names

Identifies the swapchain images themselves as well as the semaphores

* vk_present_window: Set handle debug names

* vk_resource_pool: Set debug handle names

* vk_blit_helper: Set debug handle names

* vk_platform: Use `VulkanHandleType` concept

Use a new `concept`-type rather than `enable_if`-patterns to restrict
this function to Vulkan handle-types only.
2023-12-08 06:58:47 +02:00
59df319f48 kernel: Improve accuracy of KResourceLimit emulation (#7221)
* core: Refactor resource limits

* svc: Implement SetResourceLimitLimitValues

* Also correct existing name and add missing error codes
2023-12-04 13:31:06 +02:00
875f5eaad5 file_sys: Add support for the BOSS ext save data archive. (#7231) 2023-12-03 14:02:23 -08:00
ea9f522c0c shader_jit_a64: Use LDP/STP for address registers (#7225)
Move `address_registers` to be earlier in the `UnitState` structure to allow LDP/STP's 7-bit offset to reach these members.

Follow-up of https://github.com/citra-emu/citra/pull/7002#discussion_r1367270804
2023-12-03 05:07:21 -08:00
55e0b02863 Update translations (2023-12-01) (#7223)
Co-authored-by: The Citra Community <noreply-fake@community.citra-emu.org>
2023-12-03 05:07:13 -08:00
59beeac4c7 Android UI Overhaul Part 3 (#7216)
* android: Rework Emulation Activity's UI

- New in-game menu
- Ability to open games from file manager
- New shader loading UI
- Fixes an issue where the system bars would stay visible during emulation

* android: Port yuzu's foreground service logic

Fixes an issue where the foreground service notification would be stuck with no way to dismiss it
2023-11-30 16:38:25 +01:00
0ed909e782 cfg: Fix auto-region detecting when the launched title has no regions. (#7218) 2023-11-29 12:36:18 -08:00
9da78f6126 qt: Fix loading screen metadata retention when title has no metadata. (#7215) 2023-11-28 14:15:44 -08:00
0842ee6d7b build: Make MSVC builds more deterministic to aid caching. (#7213) 2023-11-28 14:15:36 -08:00
6ec079ede8 core: De-globalize HLE lock (#7212) 2023-11-28 14:15:27 -08:00
83b329f6e1 video_core/shader: Refactor JIT-Engines into JitEngine type (#7210) 2023-11-26 15:15:36 -08:00
db7b929e47 core: Remove special regions (#7211) 2023-11-26 12:07:30 -08:00
dc8425a986 kernel: Fix memory mapping issue introduced in https://github.com/citra-emu/citra/pull/6680 (#7208) 2023-11-26 12:07:10 -08:00
670e9936a4 audio_core: Only perform audio stretching if below full speed. (#7201) 2023-11-26 12:06:59 -08:00
c0ecdb689d cfg: Update preferred region data on-demand. (#7206) 2023-11-24 23:10:58 -08:00
68e6a2185d Fix missing u32 and LOG_TRACE includes (#7207)
This fixes a compile-error with gcc I was getting from
`LOG_TRACE`(`error: ‘LOG_TRACE’ was not declared in this scope`) and
`u32`(`error: ‘u32’ was not declared in this scope`) being used without
their header-files being included.

Not sure how `romfs_reader.cpp` is even compiling when nothing in its
include-tree is refers to those macros.
2023-11-23 15:39:17 -08:00
09b36c589b openal: Enable AL_DIRECT_CHANNELS_SOFT when present. (#7202) 2023-11-22 23:09:22 -08:00
1dc0fa7bb5 vk_pipeline_cache: Make pipeline cache reads more robust (#7194) 2023-11-22 23:09:12 -08:00
85bd1be852 code: Add texture sampling option (#7118)
* This replaces the nearest neighbour filter that shouldn't have existed in the first place
2023-11-23 02:04:47 +02:00
c17ec1d1aa Android UI Overhaul Part 2 (#7147) 2023-11-22 14:31:48 -08:00
33a1f27a99 cfg: Load and save MCU config as binary file. (#7200) 2023-11-21 17:56:08 -08:00
5733c8681e vk_pipeline_cache: Move SPIRV emittion to a worker thread (#7170)
* vk_scheduler: Remove RenderpassCache dependency

* vk_pipeline_cache: Move spirv emittion to worker thread
2023-11-20 20:05:35 -08:00
f8ae41dfe3 Implement cfg UUID Clock Sequence (#7169)
* Implement cfg UUID Clock Sequence

* Remove unneeded variable.

* Apply suggestions

* Apply suggestions
2023-11-20 20:05:16 -08:00
52254537b7 Set macOS minimum version to macOS 11 Big Sur (#7196)
* Add minimum OS version to Info.plist

Add minimum OS version key to info.plist using a MACOSX_MINIMUM_SYSTEM_VERSION var, which can be set in CMakeLists.txt

* Set minumum OS to macOS 11 in CMakeLists.txt

Set the MACOSX_MINIMUM_SYSTEM_VERSION to macOS 11 Big Sur, which I believe is the current minimum version

* Use deployment target value rather than string 

Uses CMAKE_OSX_DEPLOYMENT_TARGET instead of a hardcoded string to set the minimum OS

* Use deployment target global variable in Info.plist.in

Using MACOSX_BUNDLE_MINIMUM_SYSTEM_VERSION does not work, as CMake leaves it blank

* Update Qt CMakeLists.txt

Don't set MACOSX_MINIMUM_SYSTEM_VERSION as CMake leaves this blank
2023-11-20 04:07:46 -08:00
98f17f8f04 externals: fix find Crypto++ (#7189)
Co-authored-by: Martino Fontana <tinozzo123@gmail.com>
2023-11-20 04:07:41 -08:00
ca6dae1744 fs: Fix save data secure value stubs. (#7191) 2023-11-19 10:18:23 -08:00
b6acebcb11 Stub some missing AM Ticket functions (#7172) 2023-11-18 15:55:47 -08:00
ba702043f0 externals: allow user to use system Catch2 (#7190) 2023-11-18 15:54:27 -08:00
2a4c60c1dd externals: fix find OpenAL (#7188) 2023-11-18 15:54:18 -08:00
a1532f813b config: Reorder default hotkeys (#7175) 2023-11-17 03:14:17 -08:00