Commit graph

9953 commits

Author SHA1 Message Date
Steveice10 8b6a9b0dd8
dsp: Fix mask sizes in LoadComponent. (#7319) 2024-01-06 08:46:19 -08:00
GPUCode 62409f8139
kernel: Release thread resource limit in Thread::Stop (#7318)
* core: Config plg_ldr after its creation

* Also use service manager to retrieve the service

* thread: Release resource limit in Thread::Stop

* service: Undo plgldr change
2024-01-05 16:12:00 -08:00
Steveice10 0df72f3873
ir: Set ir:rst max sessions to 2. (#7317) 2024-01-05 14:21:30 -08:00
Steveice10 f2ee9baec7
core: Eliminate more uses of Core::System::GetInstance(). (#7313) 2024-01-05 12:07:28 -08:00
Steveice10 8e2037b3ff
audio_core: Clean up AAC decoder infrastructure. (#7310) 2024-01-04 11:00:03 -08:00
Steveice10 c6bcbc02de
frontend: Fix missing persistence for texture sampling setting. (#7305) 2024-01-02 12:05:22 -08:00
Steveice10 36db566428
qt: Add support for opening files directly on macOS. (#7304)
* Associate 3ds files with Citra in Info.plist

* qt: Add support for opening files directly on macOS.

---------

Co-authored-by: shinra-electric <50119606+shinra-electric@users.noreply.github.com>
2024-01-02 12:05:12 -08:00
SachinVin 9b147d3f9c
framebuffer_layout.cpp mini refactor (#7300)
* framebuffer_layout.cpp: simplify FrameLayoutFromResolutionScale

- upright_screen seems to only be swapped width and height calculation, so it is replaced with std::swap
- Get rid of call to GetCardboardSettings, The FrameLayoutFromResolutionScale function is used for Screenshots and Video Dumping where we dont need 3D effects

* framebuffer_layout.cpp: Combine SideFrameLayout and MobileLandscapeFrameLayout into variants of LargeFrameLayout

* framebuffer_layout.{cpp,h}: rename maxRectangle to MaxRectangle, plus

minor documentation update

* clang-format
2024-01-02 00:52:03 -08:00
Steveice10 7dd9174d31
cheats: Use global cheat engine (#7291)
* cheats: Use global cheat engine

* cheats: Prevent wasted double-load of cheat file.

* android: Fix for cheat engine updates.

---------

Co-authored-by: GPUCode <geoster3d@gmail.com>
2024-01-01 12:49:08 -08:00
GPUCode 5a7f615da1
kernel: Update to use atmosphere macros and correct Result (#7242)
* kernel: Switch to atmosphere style macros

* code: Rename ResultCode to Result

* code: Result constants are lower case

* Address review comments

* core: Remove CASCADE_CODE

* R_TRY replaces completely

* core: Run clang format
2023-12-31 09:01:40 -08:00
Steveice10 811303ea54
kernel: Fix freeing shared memory with wrong region. (#7301) 2023-12-30 15:36:12 -08:00
Steveice10 5bcdcffd96
kernel: Add some missing state to process serialization. (#7295) 2023-12-28 08:25:46 -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 602f4f60d8
boss: Implement some NsData header and read commands. (#7283)
* boss: Implement some NsData header and read commands.

Co-authored-by: Rokkubro <lachlanb03@gmail.com>

* boss: Move opening ext data to common function and improve logging.

---------

Co-authored-by: Rokkubro <lachlanb03@gmail.com>
2023-12-26 09:01:32 -08:00
Steveice10 3113ae6616
cfg: Only select preferred region once per instance. (#7284) 2023-12-26 09:01:16 -08:00
Steveice10 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
Daniel López Guimaraes b6b98af105
cecd: Stub GetCecInfoEventHandleSys (#7278)
This allows usage of the LLE news sysmodule.
2023-12-22 19:52:27 -08:00
James Forward 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
Steveice10 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
Daniel López Guimaraes 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
Steveice10 f177433d41
cfg: Set sound mode to stereo by default. (#7268) 2023-12-21 02:34:22 -08:00
Charles Lombardo 71b88c4c1f
android: Disable focus color on input overlay (#7271) 2023-12-21 09:15:08 +01:00
Tobias c7e9f8449e
Port yuzu-emu/yuzu#11946: "Enable (Feral Interactive) Gamemode on Linux" (#7245) 2023-12-20 06:08:07 -08:00
Steveice10 2e369c03b8
ci: Revert back to unzipped Android artifacts. (#7258) 2023-12-19 18:51:47 -08:00
PabloMK7 a47d8a7b4d
Fix incorrect service name in SOC_U::GetService (#7261) 2023-12-19 08:04:28 -08:00
CasualPokePlayer 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
Charles Lombardo 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
PabloMK7 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
GPUCode 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
Tobias 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
Steveice10 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
Steveice10 60584e861d
fs: Stub ControlArchive. (#7237) 2023-12-08 23:35:01 -08:00
Steveice10 070853b465
apt: Stub ReplySleepQuery and ReplySleepNotificationComplete. (#7236) 2023-12-08 23:34:54 -08:00
Steveice10 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
Wunk 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
GPUCode 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
Steveice10 875f5eaad5
file_sys: Add support for the BOSS ext save data archive. (#7231) 2023-12-03 14:02:23 -08:00
Wunk 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
zhaobot 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
Charles Lombardo 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
Steveice10 0ed909e782
cfg: Fix auto-region detecting when the launched title has no regions. (#7218) 2023-11-29 12:36:18 -08:00
Steveice10 9da78f6126
qt: Fix loading screen metadata retention when title has no metadata. (#7215) 2023-11-28 14:15:44 -08:00
Steveice10 0842ee6d7b
build: Make MSVC builds more deterministic to aid caching. (#7213) 2023-11-28 14:15:36 -08:00
GPUCode 6ec079ede8
core: De-globalize HLE lock (#7212) 2023-11-28 14:15:27 -08:00
Wunk 83b329f6e1
video_core/shader: Refactor JIT-Engines into JitEngine type (#7210) 2023-11-26 15:15:36 -08:00
GPUCode db7b929e47
core: Remove special regions (#7211) 2023-11-26 12:07:30 -08:00
Steveice10 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
Steveice10 670e9936a4
audio_core: Only perform audio stretching if below full speed. (#7201) 2023-11-26 12:06:59 -08:00
Steveice10 c0ecdb689d
cfg: Update preferred region data on-demand. (#7206) 2023-11-24 23:10:58 -08:00
Wunk 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