aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle
AgeCommit message (Collapse)Author
2021-07-03Merge pull request #6498 from Kelebek1/Audiobunnei
[audio_core] Decouple audio update and processing, and process at variable rate
2021-07-01Fix XC2/VOEZ crashing, add audio looping and a few misc fixesKelebek1
2021-06-28filesystem: Open a read-only directory for SDMC modsMorph
This prevents mod files from being locked due to the read-only share flag in Windows.
2021-06-28core: Simplify SDMC mod loadinglat9nq
If someone else wants to support other mod formats in the SDMC directory, that can be added later. For now, just allow RomFS modding here and force people to do other types of mods the old way. Addresses review comments. Co-authored-by: LC <mathew1800@gmail.com>
2021-06-28core: Support LayeredFS mod from SDMC directorylat9nq
Enables loading a mod directly from `[yuzu data directory]/sdmc/atmosphere/contents/[title_id]`. For use with some homebrew mod managers.
2021-06-27Decouple audio processing and run at variable rateKelebek1
Currently, processing of audio samples is called from AudioRenderer's Update method, using a fixed 4 buffers to process the given samples. Games call Update at variable rates, depending on framerate and/or sample count, which causes inconsistency in audio processing. From what I've seen, 60 FPS games update every ~0.004s, but 30 FPS/160 sample games update somewhere between 0.02 and 0.04, 5-10x slower. Not enough samples get fed to the backend, leading to a lot of audio skipping. This PR seeks to address this by de-coupling the audio consumption and the audio update. Update remains the same without calling for buffer queuing, and the consume now schedules itself to run based on the sample rate and count.
2021-06-26Merge pull request #6526 from bunnei/doom-updatebunnei
services: Misc. minor changes for latest SDK update.
2021-06-26hle: service: hwopus: OpenHardwareOpusDecoderEx: Remove unused buffer size.bunnei
2021-06-24Merge pull request #6519 from Wunkolo/mem-size-literalbunnei
common: Replace common_sizes into user-literals
2021-06-24hle: hle_helpers: Skip data payload offset checks on TIPC requests.bunnei
- TIPC does not use this.
2021-06-24hle: service: hwopus: Implement GetWorkBufferSizeEx and ↵bunnei
OpenHardwareOpusDecoderEx. - This is used by the latest update of Doom Eternal.
2021-06-24hle: service: aoc: Stub GetAddOnContentListChangedEventWithProcessId.bunnei
- This is used by the latest update of Doom Eternal.
2021-06-24common: Replace common_sizes into user-literalsWunkolo
Removes common_sizes.h in favor of having `_KiB`, `_MiB`, `_GiB`, etc user-literals within literals.h. To keep the global namespace clean, users will have to use: ``` using namespace Common::Literals; ``` to access these literals.
2021-06-24Merge pull request #6522 from Morph1984/pragmabunnei
general: Add missing #pragma once directives
2021-06-24general: Add missing #pragma once directivesMorph
2021-06-24Add missing includes (#6521)Chloe
* Add missing includes * Add array
2021-06-23Merge pull request #6517 from lioncash/fmtlibbunnei
externals: Update fmt to 8.0.0
2021-06-23Merge pull request #6504 from Kelebek1/samples-playedbunnei
[audout] Implement GetAudioOutPlayedSampleCount
2021-06-23General: Resolve fmt specifiers to adhere to 8.0.0 API where applicableLioncash
Also removes some deprecated API usages.
2021-06-22Merge pull request #6510 from ReinUsesLisp/npad-data-raceMai M
npad: Fix data race when updating devices
2021-06-22Merge pull request #6493 from Morph1984/fs-nodiscardbunnei
common: fs: Miscellaneous changes
2021-06-22Merge pull request #6472 from Morph1984/splbunnei
service: spl: Implement general SPL service
2021-06-22Merge pull request #6483 from Morph1984/get-tz-filebunnei
service: time: Use GetFileRelative to get files within subdirectories
2021-06-22common: fs: Remove [[nodiscard]] attribute on Remove* functionsMorph
There are a lot of scenarios where we don't particularly care whether or not the removal operation and just simply attempt a removal. As such, removing the [[nodiscard]] attribute is best for these functions.
2021-06-22npad: Fix data race when updating devicesRodrigo Locatti
Add a lock to avoid data races. This reduces the number of -fsanitize=thread errors significantly.
2021-06-21Merge pull request #6481 from Morph1984/missing-peak-setbunnei
kernel: Fix missing peak set in KResourceLimit::SetLimitValue
2021-06-22Implement audout GetAudioOutPlayedSampleCountKelebek1
Used in Ninja Gaiden games.
2021-06-18service: time: Use GetFileRelative to get files within subdirectoriesMorph
The timezone info file can be within subdirectories (such as Asia/Tokyo), use GetFileRelative instead of GetFile to get files within subdirectories.
2021-06-18kernel: Fix missing peak set in KResourceLimit::SetLimitValueMorph
2021-06-17nvflinger: Add toggle to disable buffer swap interval limitsameerj
Enabling this setting will allow some titles to present more frames to the screen as they become available in the nvflinger buffer queue.
2021-06-16spl: Mark the other functions as unimplementedMorph
2021-06-16spl: Implement spl::GetConfigMorph
2021-06-16hle: api_version: Add HLE API version constantsMorph
2021-06-16spl: Add the general SPL interfaceMorph
2021-06-16spl: Add SPL typesMorph
2021-06-16spl: Add SPL result codesMorph
2021-06-16fsp_srv: Fix filesystem access loggingMorph
This introduces a new setting Enable FS Access Log which saves the filesystem access log to sdmc:/FsAccessLog.txt If this setting is not enabled, this will indicate to FS to not call OutputAccessLogToSdCard. Fixes softlocks during loading in Xenoblade Chronicles 2 when certain DLC is enabled.
2021-06-14lm: Demote guest logs to LOG_DEBUGameerj
Guest logs are not very useful, as they are intended for use by the game developers during development. As such, they provide little meaning to be logged by yuzu and tend to overwhelm the log output at times.
2021-06-13general: Remove extraneous includesMorph
2021-06-11hid: Stub IsFirmwareUpdateAvailableForSixAxisSensorgerman77
2021-06-11kernel: Unconditionally set thread state when appropriateMorph
2021-06-11kernel: KLightConditionVariable: Update implementation to 12.xMorph
Updates the implementation of KLightConditionVariable to FW 12.x
2021-06-10hle: service: sm: Remove redundant session reservation, etc.bunnei
- We were double-reserving, causing us to run out of sessions in Pokemon Sword & Shield.
2021-06-10hle: service: Increase arbitrary max sessions limit.bunnei
- Pokemon Sword/Shield are still hitting this for some reason, causing an svcBreak.
2021-06-09hle: kernel: KClientPort: Add an assert for session count.bunnei
- Prevents us from over decrementing num_sessions.
2021-06-09hle: service: sm: Fix GetService setup of session & port.bunnei
2021-06-09hle: service: Use correct size for ServerSessionCountMax.bunnei
2021-06-09hle: kernel: KServerSession: Fix client disconnected.bunnei
- Prevents a cloned session's handler from being overwritten by another disconnected session. - Fixes session handler nullptr asserts with Pokemon Sword & Shield.
2021-06-09kernel: svc: Add missing error check to CancelSynchronization.bunnei
- Avoids a potential crash if the handle is invalid, and also makes this code accurate to real kernel behavior.
2021-06-09hle: service: Increase arbitrary max sessions limit.bunnei
- Pokemon Sword/Shield are still hitting this for some reason, causing an svcBreak.