bunnei
7569d6774d
core: hle: kernel: k_process: DisableDispatch on main thread.
2021-08-07 12:18:47 -07:00
bunnei
f2b0d28983
core: hle: kernel: k_handle_table: Use KScopedDisableDispatch as necessary.
2021-08-07 12:18:47 -07:00
bunnei
01af2f4162
core: hle: kernel: k_thread: Add KScopedDisableDispatch.
2021-08-07 12:18:47 -07:00
bunnei
2b9560428b
core: hle: kernel: Ensure idle threads are closed before destroying scheduler.
2021-08-07 12:18:47 -07:00
bunnei
68eee94875
core: hle: kernel: Reflect non-emulated threads as core 3.
2021-08-07 12:18:47 -07:00
spholz
33ebe471e8
Merge branch 'yuzu-emu:master' into fix-lan-play
2021-08-07 02:55:19 +02:00
bunnei
f183668a87
Merge pull request #6799 from ameerj/vp9-fixes
...
nvdec: Fix VP9 reference frame refreshes
2021-08-06 17:46:46 -07:00
Sönke Holz
dd5c41b5a6
network: GetCurrentIpConfigInfo: return host IP address
...
Service::NIFM::IGeneralService::GetCurrentIpConfigInfo currently hardcodes 192.168.1.100 as the IP address, which prevents LAN play from working correctly.
2021-08-07 02:17:02 +02:00
ameerj
156ea746a3
nvhost_nvdec_common: Remove BufferMap
...
This was mainly used to keep track of mapped buffers for later unmapping. Since unmap is no longer implemented, this no longer seves a valuable purpose.
2021-08-06 20:11:12 -04:00
ameerj
cc8ac112fc
nvhost_nvdec_common: Stub UnmapBuffer Ioctl
...
Skip unmapping nvdec buffers to avoid breaking the continuity of the VP9 reference frame addresses, and the risk of invalidating data before the async GPU thread is done with it.
2021-08-06 20:06:30 -04:00
Morph
f10dc35dd0
applet_swkbd: Include the null terminator in the buffer size calculation
...
Some games may interpret the read string as a null-terminated string instead of just reading the string up to buffer_size.
2021-08-04 22:32:09 -04:00
Morph
3b4d427993
service: set: Correct copy amount in GetAvailableLanguageCodes
2021-08-01 11:59:52 -04:00
Morph
9143fe5d3a
hle: api_version: Update HOS version to 12.1.0
...
Keeps us up to date with reporting the system version.
2021-07-31 14:39:49 -04:00
bunnei
47f13a9df4
Merge pull request #6752 from Morph1984/pt-br
...
service: ns, set: Add PT_BR (Brazilian Portuguese)
2021-07-30 14:42:11 -07:00
Morph
ba3d230421
applet_swkbd: Correct string buffer size calculation
...
The buffer size here does not include the initial 8 bytes.
2021-07-30 02:19:04 -04:00
Morph
6ca8ed9e58
service: set: Correct 4.0.0 max_entries to 0x40 (64) instead of 17
2021-07-30 02:15:53 -04:00
Morph
21ff0a3d6e
service: ns, set: Add PT_BR (Brazilian Portuguese)
2021-07-30 02:15:53 -04:00
Ameer J
23b3333f72
Merge pull request #6751 from Morph1984/languagecode
...
service: ns: Map ZH_TW and ZH_CN to Traditional/Simplified Chinese
2021-07-29 14:41:03 -04:00
bunnei
5acf020389
Merge pull request #6742 from Morph1984/uuid
...
common: uuid: Return a lower-case hex string in Format
2021-07-29 09:37:15 -07:00
Morph
a6359fe9ae
service: ns: Remove unused ns_language header
2021-07-27 08:59:26 -04:00
Morph
d7cd316a6c
service: ns: Map ZH_TW and ZH_CN to Traditional/Simplified Chinese
2021-07-27 08:54:41 -04:00
Morph
b9b48aee7d
common: uuid: Return a lower-case hex string in Format
2021-07-26 23:54:59 -04:00
bunnei
d6c799494c
Merge pull request #6696 from ameerj/speed-limit-rename
...
general: Rename "Frame Limit" references to "Speed Limit"
2021-07-26 18:51:00 -07:00
bunnei
c09557acd8
Merge pull request #6697 from ameerj/fps-cap
...
config, nvflinger: Add FPS cap setting
2021-07-25 16:23:44 -07:00
ameerj
9dfbc9bdce
general: Rename "Frame Limit" references to "Speed Limit"
...
This setting is best referred to as a speed limit, as it involves the limits of all timing based aspects of the emulator, not only framerate.
This allows us to differentiate it from the fps unlocker setting.
2021-07-23 22:10:01 -04:00
ameerj
2c6e274b39
config, nvflinger: Add FPS cap setting
...
Allows finer tuning of the FPS limit.
2021-07-23 22:04:36 -04:00
bunnei
2656020608
Merge pull request #6551 from bunnei/improve-kernel-obj
...
Improve management of kernel objects
2021-07-23 21:23:56 -04:00
bunnei
346bfb6c47
hle: service: kernel_helpers: Remove unnecessary pragma once.
2021-07-20 18:54:56 -07:00
bunnei
f3db3dcc8d
hle: kernel: svc: Remove part of ExitProcess.
...
- ExitProcess is not actually implemented either way, and this needs more work before we implement.
2021-07-20 18:54:56 -07:00
bunnei
185b19fd5b
hle: service: nvdrv: Remove unused kernel reference.
2021-07-20 18:54:56 -07:00
bunnei
6c6e730e9a
hle: service: hid: npad: Remove unused kernel reference.
2021-07-20 18:54:56 -07:00
bunnei
52caa52cc2
hle: kernel: Track and release server sessions, and protect methods with locks.
2021-07-20 18:54:56 -07:00
bunnei
8d755147d8
hle: kernel: KProcess: Change process termination assert to a warning.
...
- Since we do not implement multiprocess right now, this should not be a crashing assert.
2021-07-20 18:54:56 -07:00
bunnei
854c7a3c28
hle: kernel: Ensure current running process is closed.
2021-07-20 18:54:56 -07:00
bunnei
ecf3653444
hle: kernel: Ensure global handle table is finalized before closing.
2021-07-20 18:54:56 -07:00
bunnei
24540e0ad9
kernel: svc: ConnectToNamedPort: Close extra reference to port.
2021-07-20 18:54:56 -07:00
bunnei
7bd020e030
hle: service: sm: Refactor to better manage ports.
2021-07-20 18:54:55 -07:00
bunnei
b119363fc2
hle: kernel: k_process: Close the handle table on shutdown.
2021-07-20 18:54:55 -07:00
bunnei
6020723e77
hle: kernel: k_process: Close main thread reference after it is inserted into handle table.
2021-07-20 18:54:55 -07:00
bunnei
fe402d3506
hle: kernel: Ensure global handle table is initialized.
2021-07-20 18:54:55 -07:00
bunnei
015058fadf
hle: service: Add a helper module for managing kernel objects.
2021-07-20 18:54:55 -07:00
bunnei
929994132a
hle: kernel: Provide methods for tracking dangling kernel objects.
2021-07-20 18:54:55 -07:00
Morph
9b7e57f3f4
applet_controller: Add preliminary support for version 8
...
Version 8 adds support for key remapping introduced in FW 11.0, we will not be implementing this for now.
2021-07-20 01:45:19 -04:00
Fernando S
da4ca4f2f9
Merge pull request #6525 from ameerj/nvdec-fixes
...
nvdec: Fix Submit Ioctl data source, vic frame dimension computations
2021-07-15 15:17:50 +02:00
Morph
0d88a2bc05
applets/web: Resolve Nintendo CDN URLs
...
This fixes the hint videos in New Super Mario Bros. U Deluxe
2021-07-15 00:31:46 -04:00
ameerj
8943f2158d
nvhost_nvdec_common: Read Submit ioctl data from object addr
...
Fixes Mario Golf intro video decoding.
2021-07-14 23:56:24 -04:00
ameerj
3f601ed8bc
nvhost_nvdec_common: Fix {Slice/Write}Vectors return
...
Plus some minor cleanup for consistency.
2021-07-14 22:30:58 -04:00
Morph
c6d7da88c7
service: Append service name prefix to common filenames
2021-07-14 02:09:14 -04:00
Morph
79824d7d1b
applets: Append applet_ prefix to backend applets
2021-07-14 01:07:09 -04:00
Ameer J
f2599534f8
Merge pull request #6599 from german77/disable_rumble
...
npad: Disable vibration check if disabled
2021-07-13 16:11:59 -04:00
ReinUsesLisp
69214ef678
boxcat: Silence -Wmaybe-uninitialized in httplib.h
2021-07-12 03:30:45 -03:00
german77
ed5f1a45b7
npad: Disable vibration check if disabled
2021-07-10 20:06:07 -05:00
Ameer J
5edc96f4a4
Merge pull request #6539 from lat9nq/default-setting
...
general: Move most settings' defaults and labels into their definition
2021-07-08 14:46:31 -04:00
Kelebek1
b9f915e07a
Report 2 channels active. Fixes Tales of Vesperia's mono channel audio.
2021-07-06 18:52:49 +01:00
Morph
5dfa313d2c
service: mii: Retrieve the correct default miis.
...
We were including the first 2 default miis which are not meant to be shown in games. With this change, we properly retrieve the 6 default miis shown in games, with 3 of each gender.
2021-07-04 05:38:34 -04:00
bunnei
2fc0a760f0
Merge pull request #6498 from Kelebek1/Audio
...
[audio_core] Decouple audio update and processing, and process at variable rate
2021-07-03 00:24:33 -07:00
Kelebek1
b455043e45
Fix XC2/VOEZ crashing, add audio looping and a few misc fixes
2021-07-01 06:01:01 +01:00
lat9nq
0e5c74bc9e
core, input_common: Miscellaneous fixes
...
bcat: Fix settings access
telemetry_session: Fix settings accesses
So this is what I get for testing with the web service disabled.
touch_from_button: Fix settings access for clang
2021-06-28 20:56:17 -04:00
lat9nq
b91b76df4f
general: Make most settings a BasicSetting
...
Creates a new BasicSettings class in common/settings, and forces setting
a default and label for each setting that uses it in common/settings.
Moves defaults and labels from both frontends into common settings.
Creates a helper function in each frontend to facillitate reading the
settings now with the new default and label properties.
Settings::Setting is also now a subclass of Settings::BasicSetting. Also
adds documentation for both Setting and BasicSetting.
2021-06-28 17:32:17 -04:00
Morph
6ac978426c
filesystem: Open a read-only directory for SDMC mods
...
This prevents mod files from being locked due to the read-only share flag in Windows.
2021-06-28 10:08:08 -04:00
lat9nq
844e0114b0
core: Simplify SDMC mod loading
...
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-28 10:08:08 -04:00
lat9nq
1664c74a6c
core: Support LayeredFS mod from SDMC directory
...
Enables loading a mod directly from `[yuzu data
directory]/sdmc/atmosphere/contents/[title_id]`. For use with some
homebrew mod managers.
2021-06-28 10:08:07 -04:00
Kelebek1
0857d6a3db
Decouple audio processing and run at variable rate
...
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-27 15:58:07 +01:00
bunnei
432fab7c4f
Merge pull request #6526 from bunnei/doom-update
...
services: Misc. minor changes for latest SDK update.
2021-06-26 01:21:55 -07:00
bunnei
36d581ec73
hle: service: hwopus: OpenHardwareOpusDecoderEx: Remove unused buffer size.
2021-06-26 00:38:08 -07:00
bunnei
b9c2732121
Merge pull request #6519 from Wunkolo/mem-size-literal
...
common: Replace common_sizes into user-literals
2021-06-24 19:09:12 -07:00
bunnei
982be246ab
hle: hle_helpers: Skip data payload offset checks on TIPC requests.
...
- TIPC does not use this.
2021-06-24 18:39:43 -07:00
bunnei
3565e32f4d
hle: service: hwopus: Implement GetWorkBufferSizeEx and OpenHardwareOpusDecoderEx.
...
- This is used by the latest update of Doom Eternal.
2021-06-24 18:25:37 -07:00
bunnei
d1ba4a2db2
hle: service: aoc: Stub GetAddOnContentListChangedEventWithProcessId.
...
- This is used by the latest update of Doom Eternal.
2021-06-24 18:22:53 -07:00
Wunkolo
4569f39c7c
common: Replace common_sizes into user-literals
...
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-24 09:27:40 -07:00
bunnei
4dc2f5a341
Merge pull request #6522 from Morph1984/pragma
...
general: Add missing #pragma once directives
2021-06-24 08:53:27 -07:00
Morph
eed0d1f33b
general: Add missing #pragma once directives
2021-06-24 07:20:57 -04:00
Chloe
f216a9432b
Add missing includes ( #6521 )
...
* Add missing includes
* Add array
2021-06-24 03:24:17 -04:00
bunnei
1b09d6628b
Merge pull request #6517 from lioncash/fmtlib
...
externals: Update fmt to 8.0.0
2021-06-23 15:31:04 -07:00
bunnei
809e5fd523
Merge pull request #6504 from Kelebek1/samples-played
...
[audout] Implement GetAudioOutPlayedSampleCount
2021-06-23 11:31:12 -07:00
Lioncash
d0b1f2bd05
General: Resolve fmt specifiers to adhere to 8.0.0 API where applicable
...
Also removes some deprecated API usages.
2021-06-23 13:48:21 -04:00
Mai M
4ec7d79174
Merge pull request #6510 from ReinUsesLisp/npad-data-race
...
npad: Fix data race when updating devices
2021-06-22 22:17:57 -04:00
bunnei
0308a2679e
Merge pull request #6493 from Morph1984/fs-nodiscard
...
common: fs: Miscellaneous changes
2021-06-22 17:21:59 -07:00
bunnei
255f8d22d7
Merge pull request #6472 from Morph1984/spl
...
service: spl: Implement general SPL service
2021-06-22 15:43:10 -07:00
bunnei
791d3d1bea
Merge pull request #6483 from Morph1984/get-tz-file
...
service: time: Use GetFileRelative to get files within subdirectories
2021-06-22 14:25:41 -07:00
Morph
81b1b71993
common: fs: Remove [[nodiscard]] attribute on Remove* functions
...
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-22 13:36:24 -04:00
Rodrigo Locatti
15cc561d12
npad: Fix data race when updating devices
...
Add a lock to avoid data races.
This reduces the number of -fsanitize=thread errors significantly.
2021-06-22 03:16:21 -03:00
bunnei
2a7a65c944
Merge pull request #6481 from Morph1984/missing-peak-set
...
kernel: Fix missing peak set in KResourceLimit::SetLimitValue
2021-06-21 22:16:48 -07:00
Kelebek1
ba3af04da1
Implement audout GetAudioOutPlayedSampleCount
...
Used in Ninja Gaiden games.
2021-06-22 04:39:17 +01:00
Morph
fd5ef1970c
service: time: Use GetFileRelative to get files within subdirectories
...
The timezone info file can be within subdirectories (such as Asia/Tokyo), use GetFileRelative instead of GetFile to get files within subdirectories.
2021-06-18 11:25:26 -04:00
Morph
1a5eceeb9c
kernel: Fix missing peak set in KResourceLimit::SetLimitValue
2021-06-18 07:27:48 -04:00
ameerj
3522fc019c
nvflinger: Add toggle to disable buffer swap interval limits
...
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-17 01:41:56 -04:00
Morph
4a4e304319
spl: Mark the other functions as unimplemented
2021-06-16 01:46:45 -04:00
Morph
8ba83c4c2a
spl: Implement spl::GetConfig
2021-06-16 01:46:45 -04:00
Morph
e4318a1914
hle: api_version: Add HLE API version constants
2021-06-16 01:46:45 -04:00
Morph
ded36b8688
spl: Add the general SPL interface
2021-06-16 01:46:45 -04:00
Morph
faf11fe46d
spl: Add SPL types
2021-06-16 01:46:45 -04:00
Morph
95f203b7c7
spl: Add SPL result codes
2021-06-16 01:07:58 -04:00
Morph
0f48292de1
fsp_srv: Fix filesystem access logging
...
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-16 00:06:02 -04:00
ameerj
422a15ee75
lm: Demote guest logs to LOG_DEBUG
...
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-14 22:23:27 -04:00
Morph
a4454329c1
general: Remove extraneous includes
2021-06-13 11:32:43 -04:00
german77
827483409b
hid: Stub IsFirmwareUpdateAvailableForSixAxisSensor
2021-06-11 14:44:46 -05:00
Morph
ebd38d66db
kernel: Unconditionally set thread state when appropriate
2021-06-11 00:58:04 -04:00
Morph
aa79ca7a7a
kernel: KLightConditionVariable: Update implementation to 12.x
...
Updates the implementation of KLightConditionVariable to FW 12.x
2021-06-11 00:58:04 -04:00
bunnei
781c85b951
hle: service: sm: Remove redundant session reservation, etc.
...
- We were double-reserving, causing us to run out of sessions in Pokemon Sword & Shield.
2021-06-10 11:34:41 -07:00