Mai M
b931457542
Merge pull request #8419 from liamwhite/library-list
...
gdbstub: add missing library list query
2022-06-05 18:23:29 -04:00
Liam
8f979d453d
common: consolidate ELF structure definitions
2022-06-05 09:42:05 -04:00
bunnei
b9a145a459
Merge pull request #8395 from german77/ir_stub
...
service: hid: Improve stub of IRS
2022-06-04 01:26:08 -07:00
Liam
67d1c62135
gdbstub: add missing library list command
2022-06-03 20:42:13 -04:00
Mai M
19114dbd3a
Merge pull request #8410 from liamwhite/thread-names
...
gdbstub: Support reading guest thread names
2022-06-02 16:34:41 -04:00
Liam
b3dce90004
core/debugger: Support reading guest thread names
2022-06-01 21:25:32 -04:00
Mai M
c4d0f9d4df
Merge pull request #8409 from liamwhite/tdesc-fix
...
gdbstub: fix target descriptions
2022-06-01 21:16:33 -04:00
Morph
a08c0ca9c3
Merge pull request #8402 from liamwhite/better-step
...
core/debugger: Improved stepping mechanism and misc fixes
2022-06-01 20:46:10 -04:00
Liam
89993f89cf
gdbstub: fix target descriptions
2022-06-01 20:31:24 -04:00
liamwhite
c4ee8ced98
Merge pull request #8404 from Morph1984/virtual
...
core/debugger: Define defaulted virtual destructors
2022-06-01 12:30:47 -04:00
Morph
e1d7a3b33a
core/debugger: Define defaulted virtual destructors
...
Resolves an MSVC warning where a virtual destructor is not defined in the base class with virtual functions.
2022-06-01 02:28:34 -04:00
Liam
da50e98e3a
core/debugger: Improved stepping mechanism and misc fixes
2022-06-01 02:15:15 -04:00
Morph
0767bdd486
gdbstub: Explicitly cast return type to u8
...
Otherwise, the addition promotes the returned value to an int instead of keeping it as a u8.
2022-06-01 01:40:18 -04:00
Liam
2ee161a0bf
core/debugger: Implement new GDB stub debugger
2022-06-01 00:01:25 -04:00
Narr the Reg
92efa9ddbb
service: hid: Improve stub of IRS
2022-05-31 10:26:13 -05:00
bunnei
7f1bf5c7a7
Merge pull request #8368 from german77/seventimes
...
Service: hid: Several improvements and implementations
2022-05-30 10:44:36 -07:00
bunnei
9f7b9ffc9f
Merge pull request #8332 from Morph1984/reduce_exec_size
...
general: Use smaller array types where applicable
2022-05-29 02:33:24 -07:00
bunnei
e135944c4d
Merge pull request #8374 from german77/asnycvibrations
...
input_common: Make vibration request async
2022-05-28 00:55:53 -07:00
german77
7d3544bf8d
service: hid: Implement ResetIsSixAxisSensorDeviceNewlyAssigned
...
Needed by Nintendo Switch Sports
2022-05-27 10:22:37 -05:00
german77
b644fc33fb
service: hid: Implement LoadSixAxisSensorCalibrationParameter and GetSixAxisSensorIcInformation
...
Needed by Nintendo Switch Sports
2022-05-27 10:22:36 -05:00
german77
0687a3b8c6
service: hid: Implement EnableSixAxisSensorUnalteredPassthrough and IsSixAxisSensorUnalteredPassthroughEnabled
...
Needed by Nintendo Switch Sports
2022-05-27 10:21:10 -05:00
german77
3909772840
service: hid: Add error handling to sixaxis functions
2022-05-27 10:21:10 -05:00
german77
2f5cb49476
service: hid: Refractor sixaxis functions
2022-05-27 10:21:10 -05:00
german77
7d1d9c8a6b
service: hid: Implement MergeSingleJoyAsDualJoy according to RE
2022-05-27 10:21:09 -05:00
german77
2b5c5a3817
service: hid: Add error handling to setNpadAssignment and variants
2022-05-27 10:21:09 -05:00
german77
0741919697
service: hid: Quick RE fixes and comments
2022-05-27 10:21:08 -05:00
Narr the Reg
3cd7b067e0
input_common: Make vibration request async
2022-05-23 12:25:02 -05:00
german77
b6d3a7d8cf
input_common: touch: Rewrite touch driver to support multiple touch points
2022-05-23 11:01:14 -05:00
Lioncash
9272114d86
general: Avoid ambiguous format_to compilation errors
...
Ensures that we're using the fmt version of format_to.
These are also the only three outliers. All of the other formatters we
have are properly qualified.
2022-05-14 16:48:34 -04:00
Morph
be2fb77675
time_zone_manager: Use s8 for month length tables
...
Using this smaller type saves 512 bytes in the compiled executable.
2022-05-13 00:51:11 -04:00
german77
5740fc0f91
service: notifa: Implement most part of this service
...
Implements partially RegisterAlarmSetting, UpdateAlarmSetting, LoadApplicationParameter, DeleteAlarmSetting.
Needed for Fitness `Boxing 2: Rhythm & Exercise` and `Ring Fit Adventure`.
2022-05-09 10:28:04 -05:00
Narr the Reg
f9315745f8
service: hid: Fix motion refresh rate
2022-05-06 11:13:49 -05:00
german77
b229605f32
service: hid: Disable correctly motion input
2022-05-06 11:13:48 -05:00
Morph
dfb800c76b
hle/result: Update std::expected replacement message
...
std::expected is included in C++23
2022-05-03 17:44:30 -04:00
Morph
67accc405f
hle/result: Add ResultRange overload in ResultVal
...
Also marks the implicit conversion operator as constexpr instead of consteval as the constructor is not constant evaluated.
2022-05-03 17:44:30 -04:00
bunnei
08fc849458
Merge pull request #8272 from german77/stick_range
...
yuzu: config: Improve analog stick mapping
2022-05-03 14:36:39 -07:00
Morph
5631c95c10
hle/result: Implement ResultRange
...
A ResultRange defines an inclusive range of error descriptions within an error module.
This can be used to check whether the description of a given ResultCode falls within the range.
The conversion function returns a ResultCode with its description set to description_start.
2022-05-02 18:17:39 -04:00
Morph
e8d4250bb7
Merge pull request #8274 from german77/firmware
...
service: hid: Stub IsFirmwareUpdateNeededForNotification
2022-04-29 04:08:34 -04:00
Andrea Pappacoda
b2eb103829
chore: add missing SPDX tags
...
Follow-up to 2b87305d31
2022-04-28 18:24:11 +02:00
bunnei
2b77a9fd0c
Merge pull request #8229 from german77/reinterpret2
...
service: hid: Access shared memory directly
2022-04-27 12:31:27 -07:00
german77
bcaf1a7bb2
service: hid: Stub IsFirmwareUpdateNeededForNotification
...
Used in Fitness Boxing 2: Rhythm & Exercise (0100073011382000)
2022-04-27 00:06:30 -05:00
Narr the Reg
ec8fa22768
yuzu: Config allow to delete single axis directions when buttons are mapped to a stick
2022-04-26 19:03:54 -05:00
Mai M
d2c22fcc96
Merge pull request #8261 from liamwhite/jit-cleanup
...
service: jit: document and clean up
2022-04-24 22:03:39 -04:00
Liam
1d0ae7c257
service: jit: document and clean up
2022-04-24 20:25:42 -04:00
Mai M
5e44c82cb7
Merge pull request #8260 from Morph1984/c4146
...
kernel: svc: Replace -1ULL with 0xFFFFFFFFFFFFFFFF
2022-04-24 18:25:00 -04:00
Morph
88052d8c09
kernel: svc: Replace -1ULL with 0xFFFFFFFFFFFFFFFF
...
Resolves the C4146 compiler warning on MSVC.
2022-04-24 17:40:47 -04:00
Merry
71b0b6274e
Remove unused PrepareReschedule function
2022-04-24 12:10:16 +01:00
Narr the Reg
db349d78c3
service: hid: Ensure all structs are initialized
2022-04-23 17:11:43 -05:00
Narr the Reg
879f936920
service: hid: Access shared memory directly
2022-04-23 15:41:42 -05:00
Morph
2b87305d31
general: Convert source file copyright comments over to SPDX
...
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
bunnei
401095f021
Merge pull request #7976 from BytesGalore/master
...
loader: log the type of mismatching file-extension
2022-04-22 23:55:07 -07:00
bunnei
c0f328e7d4
Merge pull request #8222 from german77/sixaxis_test
...
service: hid: Improve accuracy of sixaxis functions
2022-04-21 21:25:47 -07:00
Liam
80afee83ba
core/arm: separate backtrace collection
2022-04-20 21:39:42 -04:00
Narr the Reg
d64fe5a63a
service: hid: Improve accuracy of sixaxis functions
2022-04-18 15:02:47 -05:00
Fernando S
dbb137d0a0
Merge pull request #6558 from german77/ringcon2
...
hidbus: Implement hidbus and ringcon
2022-04-16 15:51:14 +02:00
bunnei
cc53f4b48d
Merge pull request #8188 from merryhime/jit-race-page-table-changed
...
dynarmic: Fix race when switching page tables
2022-04-16 00:24:53 -07:00
german77
25c46f82c5
yuzu: Add custom ringcon configuration
2022-04-16 00:49:26 -05:00
german77
0a05a333e2
hidbus: Implement hidbus and ringcon
2022-04-16 00:49:21 -05:00
Fernando S
4e0c4e9929
Merge pull request #8172 from bunnei/kernel-mutex
...
hle: kernel: Use std::mutex instead of spin locks for most kernel locking.
2022-04-16 00:05:04 +02:00
Fernando S
1491acfc53
Merge pull request #8202 from merryhime/fix-single-core
...
dynarmic: Fix single core mode
2022-04-13 23:21:11 +02:00
merry
0b947e0341
dynarmic: Fix single core mode
...
Regression introduced in ac87509300 . Closes #8201 .
2022-04-13 20:40:12 +01:00
Liam
751903c633
service: jit: Implement the JIT service
2022-04-13 08:41:27 -04:00
bunnei
cd12d87e5b
Merge pull request #8165 from bunnei/ensure-session-port-cleanup
...
Kernel: Track open references to KServerPort and KServerSession.
2022-04-12 14:01:40 -07:00
bunnei
4d4a17ef6f
Merge pull request #8178 from tech-ticks/skyline-icache-fix
...
hle: kernel: Invalidate entire icache in UnmapProcessMemory and UnmapCodeMemory (fixes #8174 )
2022-04-12 11:23:20 -07:00
bunnei
03f8a16869
core: hle: kernel: k_thread: Rework dummy thread waiting.
2022-04-11 21:15:38 -07:00
bunnei
74c36ad85f
core: hle: service: Allocate a service thread.
2022-04-11 21:13:40 -07:00
bunnei
13b1ee7679
hle: kernel: k_spin_lock: Remove unused ThreadPause.
2022-04-11 21:13:40 -07:00
bunnei
e1b3368c18
hle: kernel: Use std::mutex instead of spin locks for most kernel locking.
2022-04-11 21:13:40 -07:00
bunnei
203b812a83
Merge pull request #8157 from lat9nq/kernel-races
...
kernel: Fix some data races
2022-04-11 21:13:01 -07:00
Jan Beich
a17a828115
service: sfdnsres: add missing includes for some BSDs after 5becdcea0b
...
src/core/hle/service/sockets/sfdnsres.cpp: In function 'Service::Sockets::NetDbError Service::Sockets::AddrInfoErrorToNetDbError(s32)':
src/core/hle/service/sockets/sfdnsres.cpp:66:10: error: 'EAI_NODATA' was not declared in this scope; did you mean 'EAI_NONAME'?
66 | case EAI_NODATA:
| ^~~~~~~~~~
| EAI_NONAME
src/core/hle/service/sockets/sfdnsres.cpp: In function 'std::vector<unsigned char> Service::Sockets::SerializeAddrInfo(const addrinfo*, s32, std::string_view)':
src/core/hle/service/sockets/sfdnsres.cpp:127:53: error: 'sockaddr_in' does not name a type; did you mean 'SockAddrIn'?
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^~~~~~~~~~~
| SockAddrIn
src/core/hle/service/sockets/sfdnsres.cpp:127:64: error: expected '>' before '*' token
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^
src/core/hle/service/sockets/sfdnsres.cpp:127:64: error: expected '(' before '*' token
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^
| (
src/core/hle/service/sockets/sfdnsres.cpp:127:65: error: expected primary-expression before '>' token
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^
src/core/hle/service/sockets/sfdnsres.cpp:127:84: error: expected ')' before ';' token
127 | const auto addr = *reinterpret_cast<sockaddr_in*>(current->ai_addr);
| ^
| )
src/core/hle/service/sockets/sfdnsres.cpp:148:53: error: 'sockaddr_in6' does not name a type; did you mean 'SockAddrIn6'?
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^~~~~~~~~~~~
| SockAddrIn6
src/core/hle/service/sockets/sfdnsres.cpp:148:65: error: expected '>' before '*' token
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^
src/core/hle/service/sockets/sfdnsres.cpp:148:65: error: expected '(' before '*' token
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^
| (
src/core/hle/service/sockets/sfdnsres.cpp:148:66: error: expected primary-expression before '>' token
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^
src/core/hle/service/sockets/sfdnsres.cpp:148:85: error: expected ')' before ';' token
148 | const auto addr = *reinterpret_cast<sockaddr_in6*>(current->ai_addr);
| ^
| )
2022-04-11 22:26:37 +00:00
Fernando S
e4e9181566
Merge pull request #8180 from liamwhite/symbols
...
core: extract symbol reading
2022-04-11 18:40:34 +02:00
Fernando S
5c7b2870ce
Merge pull request #8171 from tech-ticks/skyline-improvements
...
Improvements for game modding with Skyline, DNS resolution
2022-04-10 23:40:54 +02:00
merry
396a1dc9b0
dynarmic: Fix race when switching page tables
2022-04-10 15:46:29 +01:00
tech-ticks
53f7a78e9e
hle: kernel: Invalidate entire icache in UnmapProcessMemory and UnmapCodeMemory ( fixes #8174 )
2022-04-09 13:29:19 +02:00
Liam
28fb3e8240
core: extract symbol reading
2022-04-09 02:16:34 -04:00
bunnei
2588188273
Merge pull request #8138 from german77/data-no-race
...
core: hid: Reduce the amount of data races
2022-04-08 14:14:53 -07:00
bunnei
11febb02d6
hle: kernel: Unify and integrate reference tracking for KServerPort/KServerSession.
...
- These are not managed elsewhere, and need to be tracked and closed on emulation shutdown.
2022-04-08 14:13:22 -07:00
bunnei
5a3c38e133
hle: kernel: k_server_port: Release ref-counted host emulation members on Destroy.
2022-04-08 14:11:40 -07:00
bunnei
45da07576f
hle: kernel: k_auto_object: Move unregister with kernel to after Destroy.
...
- Destructor is no longer invoked, so our object counting was off.
2022-04-08 14:11:40 -07:00
bunnei
2ffc21449d
hle: service: sm: Remove manual tracking of KServerPorts.
2022-04-08 14:11:39 -07:00
bunnei
2878df391c
hle: kernel: hle_ipc: HasSessionRequestHandler: Check if domain handler is expired rather than locking.
2022-04-08 14:11:39 -07:00
bunnei
27e7b14429
Merge pull request #8169 from merryhime/scoped_lock
...
Replace lock_guard with scoped_lock
2022-04-08 14:01:42 -07:00
tech-ticks
5becdcea0b
service: sfdnsres: Implement DNS address resolution
2022-04-08 21:28:03 +02:00
Narr the Reg
b12a44a5ea
core: hid: Fix double lock on softlock and forced updates
2022-04-07 17:08:01 -05:00
merry
7fcb711b4e
Merge pull request #8167 from Tachi107/patch-1
...
fix: remove #pragma once in .cpp file
2022-04-07 22:47:43 +01:00
tech-ticks
cdc7fc731d
service: bsd: Add keepalive socket option
2022-04-07 23:30:23 +02:00
tech-ticks
de955ddc9d
patch_manager: Apply layered exefs patches from 'atmosphere' SD directory
2022-04-07 23:02:44 +02:00
Narr the Reg
c5b3ff2238
core: hid: Replace lock_guard with scoped_lock
2022-04-07 13:52:51 -05:00
Merry
9144a342ca
core/hle: Standardize scoped_lock initializers
2022-04-07 19:44:07 +01:00
Merry
2ee92efb8e
core: Replace lock_guard with scoped_lock
2022-04-07 19:44:07 +01:00
Merry
de61c0897c
core/hle: Replace lock_guard with scoped_lock
2022-04-07 19:44:07 +01:00
german77
48ac3b1b60
core: hid: Reduce the amount of dataraces
2022-04-07 13:18:03 -05:00
Fernando S
0bb26a7794
Merge pull request #8148 from merryhime/interrupts
...
dynarmic: Better interrupts
2022-04-07 16:21:41 +02:00
Andrea Pappacoda
4d8afbf2eb
fix: remove #pragma once in .cpp file
2022-04-07 12:03:47 +02:00
bunnei
2e67caa7ec
Merge pull request #8164 from liamwhite/jit-stub
...
service: jit: stub JIT service
2022-04-06 18:34:45 -07:00
Liam
d414904aef
service: jit: stub JIT service
2022-04-06 20:07:01 -04:00
bunnei
078e0f7cba
Merge pull request #8122 from bunnei/improve-thread-usage
...
Improve usage of service host threads
2022-04-06 12:25:25 -07:00
german77
d6493d42fd
service: hid: Partially revert #8123
2022-04-05 22:35:38 -05:00
bunnei
b3e6670709
Merge pull request #8137 from bunnei/improve-nvflinger-2
...
Follow-up fixes for NVFlinger rewrite (Part 2)
2022-04-05 19:11:28 -07:00
bunnei
4e3136128e
Merge pull request #8100 from Morph1984/registered-crash
...
registered_cache: Prevent nullptr dereference when accumulating files
2022-04-05 18:18:41 -07:00
lat9nq
b64f4230b3
k_system_control: Fix data race
...
`return distribution(gen)` is a data race between a read and a write in
two threads, reported by TSan. Remove static random number generators so
they aren't using the same generator.
2022-04-05 19:55:56 -04:00
merry
8bcfa4046f
dynarmic: Print stack trace on unrecognised instruction or other exception
2022-04-05 20:40:20 +01:00
bunnei
18017f7adf
Merge pull request #8089 from merryhime/paranoia
...
configuration: Add Paranoid CPU accuracy level
2022-04-04 11:07:38 -07:00
lat9nq
bda62c0837
k_auto_object: Fix data race
...
Change the memory order to acqure-release when we decrement the
reference count. Prevents a race with line 89 reported by TSan.
2022-04-03 21:47:58 -04:00
lat9nq
831f022536
k_thread: Fix data race
...
TSan reports a data race between writing at cpp:1162 and reading at
h:262. Make the thread_state atomic to prevent this.
2022-04-03 21:47:58 -04:00
lat9nq
0f347eaf52
k_process: Fix data race
...
TSan reported a race between thread 36 and thread 34, a read at :225 and
a write at :225 respectively. Make total_proces_running_time_ticks
atomic to avoid this race.
2022-04-03 21:47:57 -04:00
lat9nq
53d3082dd4
kernel: Fix current_process race
...
TSan reported a race at :258 and :803, so make current_process an atomic
pointer.
2022-04-03 21:47:57 -04:00
lat9nq
039ce14442
k_scheduler_lock: Fix data race
...
TSan reports a race between the main thread and T37 during
IsLockedByCurrentThread and when it's set at the end of Lock(),
respectively. Set owner_thread to an atomic pointer to fix it.
Co-authored-by: bunnei <bunneidev@gmail.com>
2022-04-03 21:47:57 -04:00
merry
ac87509300
arm_dynarmic: Use HaltReason for svc calls and reschedules
2022-04-03 18:20:11 +01:00
merry
f54345590b
dynarmic: Better interrupts
2022-04-03 16:39:48 +01:00
bunnei
f35176e94b
Merge pull request #8135 from Morph1984/websession-hack
...
applets/web: Keep foreground (websession) web applet open
2022-04-02 20:49:51 -07:00
bunnei
3a540a5f8a
Merge pull request #8123 from german77/bombslinger
...
service: hid: Remove inaccurate behavior on initialization
2022-04-02 20:12:45 -07:00
german77
c4bf041235
service: npad: Default initialize shared memory
2022-04-02 19:43:49 -06:00
Andrea Pappacoda
d9044f00e1
fix: typos
2022-04-02 16:34:07 +02:00
bunnei
a00e1de7ce
hle: service: nvflinger: buffer_queue_producer: Cleanup & fixes.
2022-04-01 22:59:35 -07:00
bunnei
7054ba2ed8
hle: service: nvflinger: consumer_base: Cleanup & fixes.
2022-04-01 22:58:40 -07:00
bunnei
2123fc0a50
hle: service: nvflinger: buffer_queue_producer: Cleanup & add GetReleasedBuffers.
2022-04-01 22:58:02 -07:00
bunnei
63094fb176
hle: service: nvflinger: buffer_queue_core: Cleanup & fixes.
2022-04-01 22:56:32 -07:00
bunnei
ad78e63274
hle: service: nvflinger: Use correct logger namespace.
2022-04-01 22:55:44 -07:00
Morph
d2b4f8f974
hle: service: nvdrv: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
b3f4b41cc1
hle: service: vi: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
f432c730cb
hle: service: bsd: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
4a99bcfb95
hle: service: filesystem: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
c91b912a07
hle: service: audio: Create a service thread where appropriate.
2022-04-02 01:24:30 -04:00
bunnei
75e39568a0
hle: service: Add option for service interfaces to create or use the default thread.
2022-04-02 01:24:30 -04:00
bunnei
60f2fe3b48
hle: kernel: Create a default thread for services that do not need their own host thread.
2022-04-02 01:24:30 -04:00
Morph
4a960b6945
applets/web: Keep foreground (websession) web applet open
...
This is a hack to keep the foreground (websession) web applet open in games using these such as Super Mario 3D All-Stars.
2022-04-01 22:50:01 -04:00
Fernando S
c5beddca49
Merge pull request #8116 from ameerj/nvhost_ctrl_bad_param
...
nvhost_ctrl: Only mark EventState::Busy as BadParameter
2022-04-01 01:29:46 +02:00
german77
a2cc3b6098
service: hid: Remove inaccurate behavior on initialization
2022-03-31 12:35:57 -06:00
bunnei
245ba64d08
Merge pull request #8120 from german77/signal
...
service: hid: Signal event on AcquireNpadStyleSetUpdateEventHandle
2022-03-30 22:45:40 -07:00
bunnei
2fb74be647
Merge pull request #8090 from bunnei/fix-skyline
...
Kernel Memory Updates (Part 7): Various fixes to code memory (Skyline support)
2022-03-30 18:23:37 -07:00
Narr the Reg
0b8c1af0ed
service: hid: Signal event on AcquireNpadStyleSetUpdateEventHandle
2022-03-30 17:09:28 -06:00
ameerj
2a58f15111
nvhost_ctrl: Only mark EventState::Busy as BadParameter
...
Fixes an svc break in Kirby and the Forgotten Land with async GPU enabled.
2022-03-29 15:13:30 -04:00
Morph
e144d064af
registered_cache: Prevent nullptr dereference when accumulating files
...
For whatever reason, nca_file/dir can be nullptr in the list of files/dirs. I have not determined the cause of this yet, so add a nullptr check for these prior to dereferencing them.
2022-03-27 17:06:27 -04:00
merry
5a37246da6
arm_dynarmic_64: Invalidate on all cores
2022-03-27 15:37:19 +01:00
Fernando S
64222c5f34
Merge pull request #8088 from bunnei/fixup-nvflinger
...
Follow-up fixes for NVFlinger rewrite
2022-03-27 13:09:59 +02:00
bunnei
b149526098
Revert "Memory GPU <-> CPU: reduce infighting in the texture cache by adding CPU Cached memory."
2022-03-26 12:38:30 -07:00
bunnei
533ff8b1a9
hle: kernel: k_page_table: Fix implementations of LockForCodeMemory & UnlockForCodeMemory.
2022-03-26 01:49:34 -07:00
bunnei
003d5761e1
hle: kernel: k_page_table: Implement LockMemoryAndOpen & UnlockMemory.
2022-03-26 01:46:41 -07:00
merry
e752529c4c
configuration: Add Paranoid CPU accuracy level
...
Disables most optimizations for the paranoid.
2022-03-26 08:46:25 +00:00
bunnei
3beb4d4273
hle: kernel: svc: MapProcessMemory: Fix usage of KPageLinkedList to use physical address space.
2022-03-26 01:35:37 -07:00
bunnei
f84511eb4f
hle: kernel: svc: CreateCodeMemory: Remove log of 'out' host pointer.
...
- This does not seem terribly useful and is inconsistent with other usage.
2022-03-26 01:34:29 -07:00
bunnei
7e6a6bb505
hle: kernel: k_code_memory: Fix usage of KPageLinkedList to use physical address space.
2022-03-26 01:33:16 -07:00
bunnei
506961d8cc
hle: kernel: k_page_table: Implement MakeAndOpenPageGroup & MakePageGroup.
2022-03-26 01:25:52 -07:00
bunnei
416944c501
hle: kernel: k_page_table: Add IsHeapPhysicalAddress method.
2022-03-26 01:23:43 -07:00
bunnei
f5415480de
hle: kernel: k_page_linked_list: Add Empty method.
2022-03-26 01:02:42 -07:00
bunnei
58a4c17e98
hle: kernel: svc: UnmapProcessCodeMemory: Fix inverted alignment check.
2022-03-26 01:01:55 -07:00
bunnei
94f381d789
Merge pull request #8041 from Morph1984/inline-swkbd
...
applets/swkbd: Add support for an updated inline software keyboard
2022-03-25 23:19:11 -07:00
bunnei
25e4089d54
hle: service: nvflinger: buffer_queue: Remove AutoLock and fix free buffer tracking.
2022-03-25 23:01:03 -07:00
bunnei
8da842dd90
hle: service: nvflinger: buffer_queue_consumer: Use scoped_lock instead of unique_lock.
2022-03-25 22:59:06 -07:00
bunnei
a2ad35b9ec
hle: service: nvflinger: consumer_base: Use scoped_lock instead of unique_lock.
2022-03-25 22:58:52 -07:00
bunnei
a841fd8034
hle: service: nvflinger: Remove unused BufferQueue.
2022-03-25 22:58:23 -07:00
Fernando Sahmkow
6e2cfc4310
Memory: Don't protect reads on Normal accuracy.
2022-03-25 04:24:25 +01:00
bunnei
f6bcf6c7e2
hle: nvflinger: ConsumerBase: Mark ctor as explicit.
2022-03-24 18:13:34 -07:00
bunnei
fa9f75819a
hle: vi: NativeWindow: Fix trivially copyable issues.
2022-03-24 18:13:34 -07:00
bunnei
4fce11872d
hle: nvdrv: nvdata: buffer_queue_producer: Minor cleanup.
2022-03-24 18:13:34 -07:00
bunnei
f496aa102d
hle: nvdrv: nvdata: Cleanup NvFence static assert.
2022-03-24 18:13:34 -07:00
bunnei
1299876ebe
hle: nvflinger: Remove unused unordered_map include.
2022-03-24 18:13:34 -07:00
bunnei
21d554f464
hle: nvflinger: buffer_queue_consumer: AcquireBuffer: Fix typo.
2022-03-24 18:13:34 -07:00
bunnei
0b6b398bd4
hle: nvflinger: Merge Rect with Common::Rectangle.
2022-03-24 18:13:33 -07:00
bunnei
ea2045efdf
hle: nvflinger: buffer_queue_core: Declare default dtor.
2022-03-24 18:13:33 -07:00
bunnei
2d84848c24
hle: nvflinger: buffer_queue_producer: DequeueBuffer: Remove unnecessary lock.
2022-03-24 18:13:33 -07:00
bunnei
6828db705e
hle: nvflinger: consumer_base: StillTracking: Should be const.
2022-03-24 18:13:33 -07:00
bunnei
e7304f6bd2
hle: nvflinger: graphic_buffer_producer: Remove unnecessary pragma pack.
2022-03-24 18:13:33 -07:00
bunnei
a08c906878
hle: nvflinger: parcel: Reserve token size.
2022-03-24 18:13:33 -07:00
bunnei
e941573bb7
hle: nvflinger: buffer_queue_core: StillTracking: Take const reference.
2022-03-24 18:13:33 -07:00
bunnei
411a53eaf3
hle: nvflinger: buffer_queue_core: Cleanup locking.
2022-03-24 18:13:33 -07:00
bunnei
d89257ddea
hle: nvflinger: Use std::chrono for present_ns.
2022-03-24 18:13:33 -07:00
bunnei
1f6dcd3784
hle: nvflinger: Migrate android namespace -> Service::android.
2022-03-24 18:13:33 -07:00
bunnei
a7f407ab22
hle: nvflinger: BufferQueueProducer: Handle SetPreallocatedBuffer with empty buffer.
...
- Used by Naruto Ultimate Ninja Storm.
2022-03-24 18:13:33 -07:00
bunnei
f1a91e0397
hle: vi: Integrate new NVFlinger and HosBinderDriverServer service.
2022-03-24 18:13:33 -07:00
bunnei
13c1932008
hle: nvflinger: Add implementation for HosBinderDriverServer service.
2022-03-24 18:13:33 -07:00
bunnei
072445a74f
hle: nvflinger: Add implementation for BufferQueueProducer class.
2022-03-24 18:13:33 -07:00
bunnei
12304ee7b6
hle: nvflinger: Add implementation for BufferQueueCore class.
2022-03-24 18:13:33 -07:00
bunnei
3693b78a28
hle: nvflinger: Add implementation for BufferQueueConsumer class.
2022-03-24 18:13:32 -07:00
bunnei
398f63e321
hle: nvflinger: Add implementation for QueueBufferInput and QueueBufferOutput structs.
2022-03-24 18:13:32 -07:00
bunnei
0de0899357
hle: nvflinger: Add implementation for BufferItemConsumer class.
2022-03-24 18:13:32 -07:00
bunnei
1955deb602
hle: nvflinger: Add implementation for ConsumerBase class.
2022-03-24 18:13:32 -07:00
bunnei
e5f998f631
hle: nvflinger: Add implementation for BufferSlot class.
2022-03-24 18:13:32 -07:00
bunnei
a5f9fbabfd
hle: nvflinger: Add implementation for BufferItem class.
2022-03-24 18:13:32 -07:00
bunnei
c1eed4083a
hle: nvflinger: Move implementation for Parcel to its own header.
2022-03-24 18:13:32 -07:00
bunnei
466b74b507
hle: nvflinger: Add android buffer queue definitions to its own header.
2022-03-24 18:13:32 -07:00
bunnei
2112b078a2
hle: nvflinger: Add IBinder interface.
2022-03-24 18:13:32 -07:00
bunnei
753377ebe8
hle: nvflinger: Add IConsumerListener interface.
2022-03-24 18:13:32 -07:00
bunnei
3fdb53d4d5
hle: nvflinger: Add ProducerListener interface.
2022-03-24 18:13:32 -07:00
bunnei
36937d8f31
hle: nvflinger: Add android window enumerations to its own header.
2022-03-24 18:13:32 -07:00
bunnei
6ec03eded9
hle: nvflinger: Add android Status flags to its own header.
2022-03-24 18:13:32 -07:00
bunnei
476f456d2f
hle: nvflinger: Move BufferTransformFlags to its own header.
2022-03-24 18:13:32 -07:00
bunnei
a8ff414423
hle: nvdrv: Rename Fence to NvFence to avoid naming conflicts.
2022-03-24 18:13:32 -07:00
bunnei
3396730b85
hle: nvflinger: Move PixelFormat to its own header.
2022-03-24 18:13:32 -07:00
bunnei
7c04c18560
hle: nvflinger: Add implementation for GraphicBuffer class.
2022-03-24 18:13:32 -07:00
bunnei
d5d04d5684
hle: nvflinger: Add implementation for Fence class.
2022-03-24 18:13:32 -07:00
bunnei
fbd0e594ba
hle: nvflinger: Add implementation for Rect class.
2022-03-24 18:13:32 -07:00
bunnei
853746deb2
Merge pull request #8031 from Morph1984/cleanup-mii-please
...
applets: Cleanup MiiEdit applet implementation
2022-03-22 21:56:42 -07:00
bunnei
89a97915a8
Revert "dynarmic: Reduce size of code caches"
2022-03-22 18:32:54 -07:00
Morph
f7d582a655
applets/swkbd: Split software keyboard initialization
...
Since the CalcArg struct has been updated with a new size and fields, we have to split the initialization of the keyboard into multiple functions.
This also adds support for parsing the new CalcArg struct used by updated versions of Monster Hunter Rise.
2022-03-21 23:58:50 -04:00
Morph
07954ef117
applets/swkbd: Add new inline software keyboard types
...
These were added in newer firmware versions.
2022-03-21 23:58:50 -04:00
Morph
3b6c02f774
applets/mii: Remove unused include
2022-03-21 23:57:31 -04:00
Morph
94be8a907d
applets/mii: Remove frontend parameters
...
These are unused for now as we do not support a frontend implementation.
2022-03-21 23:57:31 -04:00
Morph
67bdfcb7ff
applets/mii: Cleanup MiiEdit applet implementation
...
This also enables proper support for MiiEdit applets which are used in games with firmware versions prior to 10.2.0 by handling the 2 different versions of applet inputs and outputs.
2022-03-21 23:57:31 -04:00
Morph
d91788fe38
applets/mii: Cleanup MiiEdit applet types
2022-03-21 23:57:31 -04:00
Morph
061eceaf0d
applets/mii: Move MiiEdit applet types into its own file
2022-03-21 23:57:31 -04:00
Morph
6e2ff19bc7
service: Move mii enums and structs into its own file
...
Moves these into types.h, since other files also make use of these types.
2022-03-21 23:57:31 -04:00
Morph
a8663c9f5c
applets: Rename Mii to MiiEdit
2022-03-21 23:57:31 -04:00
bunnei
c9ffc287bf
Merge pull request #8048 from ameerj/include-purge
...
general: Reduce unused includes across the project
2022-03-21 18:03:54 -07:00
ameerj
f9709bb9e9
general: Fix clang/gcc build errors
2022-03-20 02:25:09 -04:00
bunnei
15dca3345c
Merge pull request #8040 from Morph1984/handle-table
...
KHandleTable: Optimize table entry layout
2022-03-19 23:17:37 -07:00
ameerj
e70b4f3fc5
common: Reduce unused includes
2022-03-19 15:01:31 -04:00
ameerj
22e01068e1
core: Reduce unused includes
2022-03-19 02:23:32 -04:00
bunnei
4fb93cbb3f
Merge pull request #8028 from v1993/patch-9
...
bsd: Allow inexact match for address length in AcceptImpl
2022-03-18 18:06:13 -07:00
ameerj
1967757627
general: Reduce core.h includes
2022-03-18 02:13:02 -04:00
Morph
c2a970b67d
KHandleTable: Optimize table entry layout
...
Since the handle type is not being used, we can reduce the amount of space each entry takes up by 4 bytes.
2022-03-18 00:28:25 -04:00
bunnei
fdac72a864
Merge pull request #7964 from german77/miiii
...
applet: mii: Simple implementation of mii applet
2022-03-16 21:37:53 -07:00
Valeri
bbf69903e9
bsd: Allow inexact match for address length in AcceptImpl
...
Minecraft passes in zero for length, but this should account for all possible cases
2022-03-15 14:06:34 +03:00
bunnei
1494a66aa3
core: hle: kernel: init_slab_setup: Move CalculateSlabHeapGapSize to global namespace.
2022-03-14 18:14:54 -07:00
bunnei
8b109f8a69
core: hle: kernel: Allocate dummy threads on host thread storage.
...
- Fixes a crash where on subsequent boots, long-lived host threads would have their dummy threads freed.
2022-03-14 18:14:54 -07:00
bunnei
18baef2ec9
core: hle: kernel: Downgrade dangling objects warning to debug.
...
- It is not impossible to leak kernel objects, so this is not really any issue anymore (albeit, still interesting).
2022-03-14 18:14:54 -07:00
bunnei
58b39c8ad8
core: hle: kernel: Make object list container global and ensure it is reset on each emulation session.
2022-03-14 18:14:54 -07:00
bunnei
29924a999e
core: hle: kernel: Remove server session tracking.
...
- These are now allocated/managed by emulated memory, so we do not need to track and free them on shutdown.
2022-03-14 18:14:54 -07:00
bunnei
b7535cd853
core: hle: kernel: k_process: Remove handle table finalize, reset page table.
2022-03-14 18:14:54 -07:00
bunnei
2b881f4ccc
core: hle: kernel: k_process: Implement thread local storage accurately.
2022-03-14 18:14:54 -07:00
bunnei
c8dba7c578
core: hle: kernel: k_page_table: Add implementations of MapPages, UnmapPages, and FindFreeArea for TLS.
2022-03-14 18:14:54 -07:00
bunnei
cb294300ea
core: hle: kernel: k_slab_heap: Refresh to use guest allocations.
2022-03-14 18:14:54 -07:00
bunnei
4b022badf0
core: hle: kernel: Update init_slab_heap, use device memory, and add KThreadLocalPage and KPageBuffer.
...
- Refreshes our slab initialization code to latest known behavior.
- Moves all guest kernel slabs into emulated device memory.
- Adds KThreadLocalPage and KPageBuffer, which we will use for accurate TLS management.
2022-03-14 18:14:54 -07:00
bunnei
8e8d8724a2
core: hle: kernel: k_page_buffer: Add KThreadLocalPage primitive.
2022-03-14 18:14:53 -07:00
bunnei
f92568936a
core: hle: kernel: k_page_buffer: Add KPageBuffer primitive.
2022-03-14 18:14:53 -07:00
bunnei
84ced13966
core: hle: kernel: k_thread: Ensure host Fiber is freed.
2022-03-14 18:14:53 -07:00
bunnei
4aa9e8543d
core: hle: kernel: k_server_session: Ensure SessionRequestManager is freed.
2022-03-14 18:14:53 -07:00
bunnei
dfbf03438f
core: hle: service: kernel_helpers: Use system resource limit.
2022-03-14 18:14:53 -07:00
bunnei
c0a2ae3186
core: hle: service: sm: Fix KPort reference count.
2022-03-14 18:14:53 -07:00
bunnei
c5516b1800
core: hle: kernel: k_thread: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
bunnei
8421193857
core: hle: kernel: Use weak_ptr where possible for SessionRequestHandler and SessionRequestManager.
2022-03-14 18:14:53 -07:00
bunnei
cbf7c2eb40
core: hle: kernel: k_memory_layout: Update kernel slab memory sizes.
2022-03-14 18:14:53 -07:00
bunnei
33c5eca64c
core: hle: kernel: svc_types: Add ThreadLocalRegionSize.
2022-03-14 18:14:53 -07:00
bunnei
bb2c956cf9
core: hle: kernel: k_condition_variable: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
bunnei
075ae485b1
core: hle: kernel: k_address_arbiter: Update to reflect tree changes.
2022-03-14 18:14:53 -07:00
Merry
eb30b2382a
dynarmic: Reduce size of code caches
2022-03-13 22:17:14 +00:00
bunnei
86eaedbf19
hle: service: ldr: Use deterministic addresses when mapping NROs.
...
- Instead of randomization, choose in-order addresses for where to map NROs into memory.
- This results in predictable behavior when debugging and consistent behavior when reproducing issues.
2022-03-08 17:38:20 -08:00
bunnei
d1aae938a9
Merge pull request #7986 from lat9nq/vk-callback
...
core, video_core: Fix two crashes when failing to create the emulated GPU instance
2022-03-08 12:36:57 -08:00
bunnei
9dd48f8f89
hle: kernel: KPageTable: Improve implementations of MapCodeMemory and UnmapCodeMemory.
...
- This makes these functions more accurate to the real HOS implementations.
- Fixes memory access issues in Super Smash Bros. Ultimate that occur when un/mapping NROs.
2022-03-07 17:18:20 -08:00
lat9nq
e3f8340bec
emu_window: Create a way to Cancel the exit of a Scoped
...
If a GraphicsContext is destroyed before its Scoped is destroyed, this
causes a crash as the Scoped tries to call a method in the destroyed
context on exit.
Add a way to Cancel the call when we know that calling the
GraphicsContext will not work.
2022-03-07 18:21:56 -05:00
lat9nq
7df809b8b1
core: Don't shutdown a null GPU
...
When CreateGPU fails, yuzu would try and shutdown the GPU instance
regardless of whether any instance was actually created.
Check for nullptr before calling its methods to prevent a crash.
2022-03-07 15:25:20 -05:00
BytesGalore
8f530cbb09
loader: log the type of mismatching file-extension
2022-03-03 06:45:13 +01:00
bunnei
ae301a650e
Merge pull request #7956 from bunnei/improve-mem-manager
...
Kernel Memory Updates (Part 4): Revamp KMemoryManager & other fixes
2022-03-02 17:55:51 -08:00
german77
9188dfafc4
applet: mii: Simple implementation of mii applet
2022-02-28 18:53:41 -06:00
bunnei
82ca8230ad
hle: kernel: Re-create memory layout at initialization.
...
- As this can only be derived once.
2022-02-27 18:00:09 -08:00
bunnei
41c9c93736
hle: kernel: Remove unused pool locals.
2022-02-27 18:00:09 -08:00
bunnei
939707cf75
hle: kernel: k_memory_manager: Rework for latest kernel behavior.
...
- Updates the KMemoryManager implementation against latest documentation.
- Reworks KMemoryLayout to be accessed throughout the kernel.
- Fixes an issue with pool sizes being incorrectly reported.
2022-02-27 18:00:09 -08:00
merry
3fe2c2d40d
dynarmic: Inline exclusive memory accesses
...
Inlines implementation of exclusive instructions into JITted code,
improving performance of applications relying heavily on these
instructions.
We also fastmem these instructions for additional speed, with
support for appropriate recompilation on fastmem failure.
An unsafe optimization to disable the intercore global_monitor is also
provided, should one wish to rely solely on cmpxchg semantics for
safety.
See also: merryhime/dynarmic#664
2022-02-27 19:40:05 +00:00
bunnei
d780096c3c
hle: kernel: k_page_heap: GetPhysicalAddr can be const.
2022-02-27 10:34:02 -08:00
bunnei
00d395c330
hle: kernel: k_page_heap: Remove superfluous consexpr.
2022-02-27 10:34:02 -08:00
bunnei
3f129b2700
hle: kernel: k_page_heap: Various updates and improvements.
...
- KPageHeap tracks physical addresses, not virtual addresses.
- Various updates and improvements to match latest documentation for this type.
2022-02-27 10:34:02 -08:00
bunnei
8ef7b10f92
hle: kernel: Add initial_process.h header.
2022-02-27 10:34:02 -08:00
bunnei
75b111b6de
hle: kernel: board: nx: Add k_memory_layout.h header.
2022-02-27 10:34:02 -08:00
bunnei
99acfba11f
hle: kernel: k_system_control: Add GetRealMemorySize and update GetKernelPhysicalBaseAddress.
2022-02-27 10:34:02 -08:00
bunnei
f562f3780e
hle: kernel: k_memory_layout: Add GetPhysicalLinearRegion.
2022-02-27 10:34:02 -08:00
bunnei
a48d756692
hle: kernel: k_memory_region_types: Update for new regions.
2022-02-27 10:34:02 -08:00
bunnei
2bbcc3d1c4
Merge pull request #7932 from bunnei/extended-mem-layout
...
Add extended memory layout (6GB) support and improve KResourceLimit management
2022-02-26 01:41:08 -08:00
Narr the Reg
273b9b5772
service: am: Update enum names to match documentation
2022-02-21 18:00:50 -06:00
bunnei
d3198bb960
hle: kernel: KSystemControl: Use 6GB memory layout when "use_extended_memory_layout" setting is enabled.
...
- This uses a larger 6GB DRAM memory layout, which is useful for some mods that require more memory.
2022-02-21 13:07:19 -08:00
bunnei
b928936457
core: device_memory: Use memory size reported by KSystemControl.
...
- That way, we can consolidate the memory layout to one place.
2022-02-21 13:07:19 -08:00
bunnei
f2cc07cc2c
core: hle: kernel: Remove resource limit hack for PhysicalMemory.
...
- With prior changes, we now report the correct amount of physical memory available to the emulated process.
2022-02-21 12:41:31 -08:00
bunnei
09adf10025
core: hle: kernel: KProcess: Pass in KResourceLimit on process creation.
...
- This allows us to have a resource limit per process, rather than use the global system resource limit.
2022-02-21 12:41:31 -08:00
bunnei
64ae76bff6
core: hle: kernel: KEvent: Pass in owner KProcess on event creation.
...
- This is necessary to ensure resource limits are freed from the right process.
2022-02-21 12:41:06 -08:00
bunnei
fe48c772e9
core: hle: kernel: KResourceLimit: Add a helper function for creating a KResourceLimit for a process.
2022-02-21 12:40:09 -08:00
bunnei
0e50d2914a
Merge pull request #7919 from bunnei/phys-mem-updates
...
core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
2022-02-21 13:39:05 -07:00
bunnei
0b8e6347ee
Merge pull request #7920 from bunnei/fix-unmap-pages
...
core: hle: kernel: KPageTable: Fix UnmapPages.
2022-02-21 13:38:52 -07:00
bunnei
e1af26d5b3
fixup! core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
2022-02-19 00:14:27 -08:00
bunnei
5e81f38950
Merge pull request #7867 from german77/amiibo
...
nfp: Improve amiibo support
2022-02-19 00:57:47 -07:00
bunnei
eb65836f69
core: hle: kernel: KPageTable: Fix UnmapPages.
...
- Fixes a logic bug in KPageTable::UnmapPages.
2022-02-18 23:48:16 -08:00
bunnei
6075031e99
core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.
...
- Improves the implementations of MapPhysicalMemory and UnmapPhysicalMemory to more closely reflect latest HOS.
2022-02-18 23:42:27 -08:00
Mai M
53f6a61ff8
Merge pull request #7866 from xerpi/svc-OutputDebugString32-CreateCodeMemory32-ControlCodeMemory32
...
kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32
2022-02-16 22:49:56 -05:00
bunnei
3f85da2231
Merge pull request #7878 from german77/mnpp
...
service/mnpp: Stub mnpp_app
2022-02-16 18:42:49 -07:00
Morph
754fde3c90
Merge pull request #7899 from Kelebek1/test
...
file_sys: Dump patched exefs rather than base
2022-02-16 16:37:09 -05:00
Kelebek1
9ae0aaed6a
Dump patched exefs rather than base
2022-02-15 04:52:28 +00:00
Sergi Granell
dbfe017c9f
kernel: svc: Add OutputDebugString32, CreateCodeMemory32, ControlCodeMemory32
...
Very straightforward, they are just wrappers to the 64-bit version of
the SVC.
2022-02-15 00:45:19 +01:00
bunnei
7cecfa8369
Merge pull request #7871 from german77/svc2
...
svc: Set unique names for function tables
2022-02-14 16:32:54 -07:00
german77
c2942fa5c3
nfp: Allow files without password data
2022-02-13 13:52:34 -06:00
lat9nq
558fef2464
program_metadata: Unpack FileAccessHeader and FileAccessControl
...
Avoids a reference binding to a misaligned addresses. Unpacking one
requires unpacking the other, otherwise there'll be a misaligned address
on the leftover one.
2022-02-13 02:20:56 -05:00
lat9nq
94dec8e568
hid: Stub IsUsbFullKeyControllerEnabled
...
Used by Splatoon 2, when opening the inventory from a LAN battle lobby.
Reference: https://switchbrew.org/wiki/HID_services
2022-02-12 15:42:50 -05:00
bunnei
fa8505dfbb
Merge pull request #7852 from Morph1984/new-uuid
...
common: Revise and fix the UUID implementation
2022-02-10 21:52:13 -07:00
Narr the Reg
4eef3a0cde
service/mnpp: Stub mnpp_app
...
Used in Super Nintendo Entertainment System™ - Nintendo Switch Online
2022-02-10 21:55:28 -06:00
Narr the Reg
11680706a7
nfp: Separate nfc tag from amiibo data
2022-02-10 10:58:37 -06:00
Narr the Reg
d5873beb51
svc: Set unique names for function tables
2022-02-08 21:03:31 -06:00
bunnei
c40b56b554
hle: kernel: KCodeMemory: Remove unused QueryMemory.
2022-02-08 18:49:41 -08:00
bunnei
9ab27ece86
hle: kernel: KCodeMemory: Correct m_page_group number of pages.
...
Credits to @xerpi for finding this issue and pointing it out on #7519 .
2022-02-08 18:47:11 -08:00
german77
f2b6837fb7
nfp: Address compiler issues
2022-02-08 18:52:44 -06:00
Narr the Reg
bb831fae3a
nfp: Validate amiibo files
2022-02-08 14:09:30 -06:00
german77
68ed8e2388
nfp: Improve implementation
2022-02-08 10:08:04 -06:00
german77
78aa2441d8
nfp: Move IUser class to header and add missing enum and structs
2022-02-07 09:18:22 -06:00
german77
2dba88f9fd
nfp: Sort functions by command number
2022-02-07 09:18:22 -06:00
Morph
58df24fdde
Merge pull request #7847 from tech-ticks/master
...
service: pm: Implement AtmosphereGetProcessInfo
2022-02-05 19:22:45 -05:00
Morph
e47b5e6a26
general: Rename NewUUID to UUID, and remove the previous UUID impl
...
This completes the removal of the old UUID implementation.
2022-02-05 13:56:21 -05:00
Morph
26f74468c4
profile: Migrate to the new UUID implementation
2022-02-05 13:56:21 -05:00
Morph
4c1b4cc486
hle: ipc_helpers: Ignore -Wclass-memaccess
...
This warning is triggered by GCC when copying into non-trivially default constructible types, as it uses the more restrictive std::is_trivial (which includes std::is_trivially_default_constructible) to determine whether memcpy is safe instead of std::is_trivially_copyable.
2022-02-05 13:56:20 -05:00
Morph
da3c2dc90c
service: Migrate to the new UUID implementation
2022-02-05 13:18:46 -05:00
Morph
51c445f7e8
input/hid: Migrate to the new UUID implementation
2022-02-05 13:18:41 -05:00
bunnei
5e4fcf041e
Merge pull request #7839 from german77/battery
...
yuzu: ui: Improve battery symbols
2022-02-04 18:23:35 -07:00
tech-ticks
be026c6b6d
service: pm: Implement AtmosphereGetProcessInfo
2022-02-04 01:41:36 +01:00
bunnei
d1c4e9be9b
Merge pull request #7835 from bunnei/page-table-lock
...
hle: kernel: KPageTable: Migrate locks to KScopedLightLock.
2022-02-02 17:58:55 -07:00
Narr the Reg
2198237e42
yuzu: ui: Improve battery symbols
2022-02-02 13:18:06 -06:00
Lioncash
8a509e5a2c
general: Replace NonCopyable struct with equivalents
2022-02-02 13:17:12 -05:00
Lioncash
2c2e08df02
general: Move deleted copy/move constructor/assignment operators to public interface
...
This allows for better compiler errors, where the compiler will state a
copy or move couldn't occur due to the relevant function being deleted.
Previously a compiler would warn about the relevant function not being
accessible (which, while true, isn't as informative as it could be).
2022-02-02 12:17:08 -05:00
bunnei
1552c524ad
hle: kernel: KPageTable: Migrate locks to KScopedLightLock.
...
- More accurately reflects real kernel behavior by using guest locks.
2022-02-01 19:34:24 -08:00
Narr the Reg
33594225c7
svc: Add 32 bit SynchronizePreemptionState
...
Used by Espgaluda II
2022-01-31 19:02:41 -06:00
Morph
d45b236672
Merge pull request #7787 from bunnei/scheduler-deadlock-fix
...
hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock that has migrated.
2022-01-28 18:30:29 -05:00
bunnei
584eb04402
Merge pull request #7770 from german77/motion-threshold
...
input_common: Add option to configure gyro threshold
2022-01-27 15:44:04 -08:00
bunnei
1b8ed3a76d
hle: kernel: KScheduler: Fix deadlock with core waiting for a thread lock that has migrated.
...
- Previously, it was possible for a thread migration to occur from core A to core B.
- Next, core B waits on a guest lock that must be released by a thread queued for core A.
- Meanwhile, core A is still waiting on the core B's current thread lock - resulting in a deadlock.
- Fix this by try-locking the thread lock.
- Fixes softlocks in FF8 and Pokemon Legends Arceus.
2022-01-27 12:17:14 -08:00
bunnei
f73ced739a
Merge pull request #7762 from bunnei/un-map-improve
...
Kernel Memory Updates (Part 4): Improve Un/MapPages, and more.
2022-01-26 17:54:20 -08:00
Morph
c2fd2c56e9
Merge pull request #7771 from lioncash/assert
...
kernel/k_affinity_mask: Remove duplicated assert
2022-01-25 16:15:18 -05:00
Lioncash
1e57fbe71d
kernel/k_affinity_mask: Remove duplicated assert
...
This is already checked inside GetCoreBit()
2022-01-24 10:35:22 -05:00
german77
1fca7203d3
input_common: Add option to configure gyro threshold
2022-01-23 21:54:33 -06:00
bunnei
a2731424a6
hle: kernel: KThread: Improve Increment/Decrement RunningThreadCount.
...
- Previously implementation was incorrect, and would occasionally underflow.
2022-01-22 21:09:45 -08:00
bunnei
912b6b9ef4
core: hle: kernel: KPageTable: Various improvements to MapPages and UnmapPages.
2022-01-22 20:51:34 -08:00
bunnei
c46f07a62a
core: hle: kernel: KPageTable: MapProcessCode: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
4f848b6f68
core: hle: kernel: KPageTable: ReserveTransferMemory: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
bf904afa0f
core: hle: kernel: KPageTable: ResetTransferMemory: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
1b3dd42de4
core: hle: kernel: KPageTable: SetMemoryAttribute: Various cleanup.
2022-01-22 20:51:34 -08:00
bunnei
05918a20c3
core: hle: kernel: KPageTable: Assert valid address on GetPhysicalAddr.
2022-01-22 01:33:26 -08:00
bunnei
a8476d9db0
core: hle: kernel: KPageTable: Operate: Assert lock ownership.
2022-01-22 01:33:26 -08:00
bunnei
8f3c7cb89b
core: hle: kernel: KPageTable: SetHeapSize: Cleanup & take physical memory lock.
2022-01-22 01:33:26 -08:00
bunnei
24efadee60
core: hle: kernel: Refactor Un/MapPhysicalMemory to remove unnecessary methods.
2022-01-22 01:33:26 -08:00
bunnei
ebb9ec197e
core: hle: kernel: Rename Un/Map to Un/MapMeory.
2022-01-22 01:33:26 -08:00
bunnei
7240568f00
Merge pull request #7737 from bunnei/fix-dummy-thread-leak
...
Various fixes to HLE service thread management
2022-01-21 22:34:47 -08:00
bunnei
606e643378
Merge pull request #7752 from Morph1984/SetCpuOverclockEnabled
...
service: apm: Stub ISession SetCpuOverclockEnabled
2022-01-21 17:13:52 -08:00
bunnei
b3f8d2491d
hle: kernel: KThread: Ensure host (dummy) threads block on locking.
...
- But do not enter the priority queue, as otherwise they will be scheduled.
- Allows dummy threads to use guest synchronization primitives.
2022-01-21 17:12:06 -08:00
Lioncash
46d9dc557c
service/wlan: Update function tables
2022-01-21 16:35:51 -05:00
Lioncash
3599c5f7c8
service/usb: Update function tables
2022-01-21 16:31:57 -05:00
Lioncash
50af00640b
service/set: Update function tables
2022-01-21 16:26:12 -05:00
Lioncash
114ce2ae13
service/ns: Update function tables
2022-01-21 16:21:35 -05:00
Lioncash
41f1cceefe
service/nim: Update unknown function table entries
2022-01-21 16:17:40 -05:00
Lioncash
cc5f02e0a5
service/friend: Update unknown function table entries
2022-01-21 16:08:46 -05:00
Lioncash
ee4adcada2
service/filsystem: Update fsp-srv function table
2022-01-21 16:07:01 -05:00
Lioncash
2495e8d6e1
service/btm: Update function tables
2022-01-21 15:59:41 -05:00
Lioncash
74a98a01de
service/audio: Update audctl unknown function names
2022-01-21 15:50:38 -05:00
Lioncash
aa0d0e91a0
service/am: Update omm function tables
2022-01-21 15:40:08 -05:00
Lioncash
1a50cb9468
service/acc: Update unknown function names
...
Switchbrew has the function names now.
2022-01-21 15:33:22 -05:00
Morph
00dc684fb0
service: apm: Stub ISession SetCpuOverclockEnabled
...
Since we don't currently support CPU overclocking within the emulated system, this can be stubbed for now, like APM IsCpuOverclockEnabled.
- Used by Gravity Rider Zero
2022-01-20 21:07:26 -05:00
bunnei
8f2630de0a
hle: kernel: Remove redundant tracking of dummy threads.
...
- These are already tracked by kernel's registered_objects member.
2022-01-20 17:08:00 -08:00
bunnei
f2e870d6b6
hle: kernel: KThread: DummyThread can be waited, ensure wait_queue is not nullptr.
2022-01-20 17:08:00 -08:00
bunnei
668af26696
hle: kernel: KThread: Decrease DummyThread priority to ensure it is never scheduled.
2022-01-20 17:08:00 -08:00
bunnei
db3c11506b
hle: kernel: service_thread: Ensure dummy thread is closed & destroyed on thread exit.
2022-01-20 17:08:00 -08:00
bunnei
e885b0ab0d
hle: kernel: KServerSession: Remove hack for CompleteSyncRequest.
...
- This does not appear to be necessary anymore.
2022-01-20 17:08:00 -08:00
bunnei
af11abed3f
hle: kernel: KServerSession: Simplify CompleteSyncRequest EndWait.
...
- Considering is_thread_waiting is never set, so we can remove IsThreadWaiting.
- KThread::EndWait will take the scheduler lock, so we can remove the redundant lock.
2022-01-20 17:08:00 -08:00
bunnei
247a7e2205
hle: kernel: KThread: Ensure dummy threads never call EndWait.
...
- These are only used by host threads for locking and will never have a wait_queue.
2022-01-20 17:08:00 -08:00
bunnei
f1e06f984d
hle: kernel: KScheduler: Ensure dummy threads are never scheduled.
...
- These are only used by host threads for locking.
2022-01-20 17:08:00 -08:00
bunnei
cc4cbff1ca
hle: kernel: KThread: Rename thread_type_for_debugging -> thread_type.
...
- This will be used to ensure that we do not schedule dummy threads.
2022-01-20 17:08:00 -08:00
bunnei
015c2dbd68
Merge pull request #7710 from german77/just-shake-it
...
core/hid: Increment shake force
2022-01-20 16:53:22 -08:00
Morph
ac59980bd0
Merge pull request #7726 from german77/clamp
...
service/hid: Initialize applet_resource on SetNpadAnalogStickUseCenterClamp
2022-01-19 14:31:15 -08:00
german77
d678dfda6e
service/hid: Initialize applet_resource on SetNpadAnalogStickUseCenterClamp
2022-01-19 14:20:31 -06:00
bunnei
70b2b91f71
Merge pull request #7701 from bunnei/clear-mem-pages
...
Kernel Memory Updates (Part 3): Clear KMemoryManager pages & other fixes
2022-01-18 21:20:42 -08:00
bunnei
74407b1348
Merge pull request #7712 from bunnei/fix-thread-exit
...
Accurately implement thread exit
2022-01-17 18:08:24 -08:00
bunnei
4e3c9cdde6
Merge pull request #7732 from v1993/patch-7
...
kernel: remove no-op code
2022-01-17 15:37:16 -08:00
Mai M
2567283d86
Merge pull request #7728 from v1993/patch-4
...
hid: fix std::transform call
2022-01-17 13:43:11 -05:00
Valeri
01852ee857
hle: remove no-op code
...
Found by static analysis with PVS-Studio. Nobody seems to really know what was it doing there.
2022-01-17 13:51:12 +03:00
Valeri
8b3ea1258c
hid: fix std::transform call
...
Found by static analysis with PVS-Studio.
2022-01-17 10:47:38 +03:00
Valeri
347574b398
Correct assignment source for rotations
...
Found by static analysis with PVS-Studio
2022-01-17 10:40:41 +03:00
bunnei
d3702fe297
Merge pull request #7711 from bunnei/fix-service-thread-race-v2
...
hle: kernel: Fix service_threads access to be thread safe V2.
2022-01-14 22:22:39 -08:00
bunnei
4148fde355
hle: kernel: k_memory_manager: Clear pages on allocation & free.
...
- Heap pages should be zero'd.
- Also explicitly passed along heap allocation option.
2022-01-14 21:16:33 -08:00
bunnei
d87fc832f4
Merge pull request #7707 from german77/slow-update
...
service/hid: Decrease motion update rate
2022-01-14 17:13:30 -08:00
bunnei
b52516263d
core: hle: kernel: KThread: Integrate with KWorkerTask and implement DoWorkerTaskImpl.
...
- This is used to terminate a thread asynchronously after it has been exited.
- This fixes a crash that can occur in Pokemon Sword/Shield because a thread is incorrectly closed on svcExitThread, then, the thread is destroyed on svcCloseHandle while it is still scheduled.
- Instead, we now wait for the thread to no longer be scheduled on all cores before destroying it from KWorkerTaskManager, which is accurate to HOS behavior.
2022-01-14 16:44:14 -08:00
bunnei
18969b5d8e
core: hle: kernel: KProcess: Integrate with KWorkerTask and add unimplemented DoWorkerTaskImpl.
2022-01-14 16:44:14 -08:00
bunnei
914431487b
core: hle: kernel: KThread: Replace Suspend with UpdateState & various updates.
...
- This makes our implementations of these more closely match HOS.
2022-01-14 16:44:14 -08:00
bunnei
b6bf119a43
core: hle: kernel: Instantiate a kernel instance of KWorkerTaskManager.
2022-01-14 16:44:14 -08:00
bunnei
b722faaf7a
core: hle: kernel: Add KWorkerTask and KWorkerTaskManager.
...
- These primitives are used to dispatch asynchronous kernel tasks from KThread and KProcess.
2022-01-14 16:43:59 -08:00
bunnei
fbab3dc017
hle: kernel: Fix service_threads access to be thread safe V2.
...
- PR #7699 attempted to fix CreateServiceThread and ReleaseServiceThread to be thread safe, but inadvertently introduced a possible dead-lock.
- With this PR, we use a worker thread to manage the service thread list, allowing it only to be accessed by a single thread, and guaranteeing threads will not destroy themselves.
- Fixes a rare crash in Pokemon Sword/Shield, I've now run this game for ~12 hours non-stop and am quite confident this is a good solution for this issue.
2022-01-14 16:02:57 -08:00
Narr the Reg
f217849d21
core/hid: Increment shake force
...
With the current settings 2p mode in pokemon let's go wasn't showing up. By making the shake more violent we can make it appear without any effort using the keyboard
2022-01-14 11:11:20 -06:00
Mai M
8fb335ff3f
Merge pull request #7699 from bunnei/fix-service-thread-race
...
hle: kernel: Fix service_threads access to be thread safe.
2022-01-14 00:46:16 -05:00
Mai M
0872f9ff89
Merge pull request #7698 from bunnei/mem-code-memory-updates
...
Kernel Memory Updates (Part 2): SetProcessMemoryPermission, update permissions, and other minor changes.
2022-01-14 00:41:17 -05:00
bunnei
ef9186172f
hle: kernel: Fix service_threads access to be thread safe.
...
- CreateServiceThread and ReleaseServiceThread can be accessed by different threads, uses a lock to make this thread safe.
- Fixes a rare crash in Pokemon Sword/Shield that can occur when a new service thread is being created while an old one is being destroyed.
2022-01-13 21:26:10 -08:00
bunnei
c8933c02cc
Merge pull request #7700 from german77/no-gyro
...
core/hid: Reduce gyro threshold even more
2022-01-13 21:24:41 -08:00
Narr the Reg
01d886a3ba
service/hid: Decrease motion update rate
...
Motion stops working in Mario Tennis in swing mode if the update rate is too fast even when HW it updates at the same speed. 10ms it's the minimum period that the game needs to start working again.
2022-01-12 22:55:33 -06:00
Narr the Reg
56ac40bfc4
core/hid: Reduce gyro threshold even more
2022-01-11 23:15:39 -06:00
bunnei
d45b65b4d9
hle: kernel: k_page_table: Update SetProcessMemoryPermission.
2022-01-11 16:28:11 -08:00
bunnei
7526489b8b
hle: service: ldr: UnmapCodeMemory BSS only when set.
2022-01-11 16:28:11 -08:00
bunnei
84a61db25b
hle: kernel: k_page_table: ReadAndWrite -> UserReadWrite.
2022-01-11 16:28:11 -08:00
bunnei
0942533d2f
hle: kernel: k_page_table: Rename *ProcessCodeMemory -> *CodeMemory.
2022-01-11 16:28:11 -08:00
bunnei
e2df1ad6a1
Merge pull request #7684 from bunnei/set-mem-perm-attr
...
Kernel Memory Updates (Part 1): SetMemoryAttribute, and other minor changes.
2022-01-11 16:26:17 -08:00
bunnei
5d1080d2a8
Merge pull request #7633 from german77/hotkeys
...
yuzu: Add controller hotkeys
2022-01-11 10:49:23 -08:00
bunnei
7f49c22fc4
Merge pull request #7682 from german77/udp_fix
...
input_common: Fix UDP controller mappings
2022-01-08 13:41:39 -08:00
bunnei
b227426ae5
core: hle: kernel: svc: Updates to SetMemoryAttribute and SetMemoryPermission.
2022-01-08 12:18:14 -08:00
bunnei
090f1c400e
core: hle: kernel: k_page_table: Update CheckMemoryState.
2022-01-08 03:20:57 -08:00
german77
a52791af6b
yuzu: Use pad parameter to choose the correct controller
2022-01-07 16:56:36 -06:00
german77
353317f31e
yuzu: Add controller hotkeys
2022-01-06 21:26:05 -06:00
german77
06d840652f
core/hid: Add home and screenshot button support
2022-01-06 21:11:27 -06:00
german77
f333340a9c
core/hid: Set minimum gyro threshold
2022-01-06 20:05:59 -06:00
bunnei
ccfce4da6f
Merge pull request #7636 from vonchenplus/buffer_queue_query
...
core:hle:service:nvflinger Implement few type in bufferqueue query method
2022-01-04 11:28:49 -08:00
ameerj
664fcdc64b
gpu: Add shut down method to synchronize threads before destruction
2022-01-03 20:47:26 -05:00
ameerj
8badb6f4a7
Revert "Merge pull request #7668 from ameerj/fence-stop-token"
...
This reverts commit 5a612e9217 , reversing
changes made to 2e61bc3d51 .
2022-01-03 20:28:54 -05:00
bunnei
5a612e9217
Merge pull request #7668 from ameerj/fence-stop-token
...
gpu: Use std::stop_token in WaitFence for VSync thread
2022-01-03 16:40:36 -08:00
bunnei
2e61bc3d51
Merge pull request #7664 from german77/fallback
...
core/hid: Add fallback to fullkey controllers
2022-01-03 15:04:37 -08:00
ameerj
0585c60227
gpu: Use std::stop_token in WaitFence for VSync thread
...
Fixes a hang that may occur when stopping emulation and the VSync thread is blocked on the syncpoint condition variable.
2022-01-03 12:31:33 -05:00
Fernando S
dd9be795bf
Merge pull request #7648 from bunnei/thread-pinning
...
core: hle: kernel: Implement thread pinning.
2022-01-03 02:01:26 +01:00
german77
0e9f010ed6
core/hid: Add fallback to fullkey controllers
2022-01-01 22:01:13 -06:00
bunnei
1b4fa1cba3
Merge pull request #7647 from german77/toad
...
core/hid: Fix controller type validation
2021-12-30 16:54:35 -08:00
bunnei
b12695ddc4
core: hle: kernel: Implement thread pinning.
...
- We largely had the mechanics in place for thread pinning, this change hooks these up.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_thread_pinning.cpp .
2021-12-30 15:50:45 -08:00
german77
5dab578691
core/hid: Fix controller type validation
2021-12-29 22:51:53 -06:00
Feng Chen
064470286d
Remove invalid assertion statement
2021-12-28 18:51:11 +08:00
Feng Chen
669cb21687
Implement few type in bufferqueue query method
2021-12-28 18:51:03 +08:00
bunnei
714dcea191
core: hle: kernel: Updated implementation of svcSetHeapSize.
...
- Updates our svcSetHeapSize with latest HOS, furthermore allowing heap size to properly be extended/shrunk.
- Validated with tests https://github.com/Atmosphere-NX/Atmosphere/blob/master/tests/TestSvc/source/test_set_heap_size.cpp .
2021-12-28 01:25:20 -08:00
bunnei
5217285536
Merge pull request #7621 from bunnei/set-mem-perm
...
core: hle: kernel: Implement SetMemoryPermission.
2021-12-27 23:33:11 -08:00
bunnei
555481005d
core: hle: kernel: Implement SetMemoryPermission.
...
- Not seen in any games yet, but validated with kernel tests.
2021-12-23 01:10:36 -08:00
bunnei
bc45d0fc1a
core: hle: kernel: KThread: X18 should be a cryptographically random number.
...
- This was added with firmware 11.0.0 (https://switchbrew.org/wiki/11.0.0 ).
- X18 is OR'd by kernel with 1, to make sure it is odd.
2021-12-23 00:03:39 -08:00
bunnei
a1f637a6d0
hle: kernel: svc: GetInfo: Fix error checking with IdleTickCount.
...
- Enforce tha the supplied handle is invalid, not valid.
- This gets Witcher 3 booting.
2021-12-21 22:41:23 -08:00
bunnei
d7d066e266
Merge pull request #7481 from german77/gyro-bias
...
service/hid: Improve console motion accuracy
2021-12-21 00:13:54 -08:00
bunnei
3f3eb16bc9
Merge pull request #7597 from bunnei/remove-global-lock
...
core: hle: Remove global HLE lock.
2021-12-20 14:24:50 -08:00
ameerj
1fff9ea35e
kernel: Manually destroy the current process during shut down
...
Avoids a memory leak.
2021-12-19 01:38:25 -05:00
Morph
5d73d0b0ae
Merge pull request #7593 from german77/brrr_test
...
core/hid: Cancel any vibration after the test
2021-12-18 15:53:15 -05:00
bunnei
acd1fff964
core: loader: kip: Minimal changes to fix KIP loading.
...
- Allows us to boot KIP (kernal apps), useful for testing the kernel.
2021-12-17 23:08:51 -08:00
bunnei
5192e8e092
core: hle: Remove global HLE lock.
...
- This was added early on as a hack to protect against some concurrency issues.
- It's not clear that this serves any purpose anymore, and if it does, individual components should be fixed rather than using a global recursive mutex.
2021-12-17 16:05:51 -08:00
Narr the Reg
3554c18269
core/hid: Cancel any vibration after the test
2021-12-16 13:35:15 -06:00
Narr the Reg
3e0a577553
core/hid: Fix faulty analog triggers
2021-12-14 19:49:44 -06:00
Lioncash
726de453bb
common/input: Avoid numerous large copies of CallbackStatus
...
CallbackStatus instances aren't the cheapest things to copy around
(relative to everything else), given that they're currently 520 bytes in
size and are currently copied numerous times when callbacks are invoked.
Instead, we can pass the status by const reference to avoid all the
copying.
2021-12-13 21:22:02 -05:00
Valeri
295b676fe6
Remove erroneous #pragma once
2021-12-13 16:49:01 +03:00
bunnei
5273e0665e
Merge pull request #7462 from bunnei/kernel-improve-scheduling
...
Kernel: Improve threading & scheduling V3
2021-12-12 22:43:25 -08:00
Narr the Reg
66a86f54af
service/hid: Improve console motion accuracy
2021-12-12 23:26:04 -06:00
bunnei
99f7732667
Merge pull request #7519 from itsmeft24/master
...
kernel: svc: Implement ProcessMemory and CodeMemory SVCs
2021-12-09 00:29:09 -08:00
bunnei
abecd3905d
Merge pull request #7525 from german77/notifa
...
service/notif: Add notif:a and stub ListAlarmSettings, Initialize
2021-12-07 23:31:44 -08:00
bunnei
d3b0025bd1
Merge pull request #7521 from german77/dual_single_joycons
...
service/hid: Implement SetNpadJoyAssignmentMode
2021-12-07 21:03:42 -08:00
bunnei
962a2a65a0
Merge pull request #7488 from vonchenplus/support_multiple_videos_playing
...
Support multiple videos playing
2021-12-07 18:38:14 -08:00
itsmeft24
9a28199c5a
Update k_code_memory.h
2021-12-07 16:58:23 -05:00
itsmeft24
4b0b2d7d1d
make KCodeMemory::GetSourceAddress const
...
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-12-07 07:58:33 -05:00
bunnei
5788e077cd
hle: kernel k_scheduler: EnableScheduling: Remove redundant GetCurrentThreadPointer calls.
2021-12-06 16:39:18 -08:00
bunnei
1b1ed86ec7
hle: kernel k_process: Remove unnecessary .at usage with thread pinning methods.
2021-12-06 16:39:18 -08:00
bunnei
38a6477770
hle: kernel: Remove unnecessary virtual specifier on NotifyAvailable.
2021-12-06 16:39:18 -08:00
bunnei
829c4b6144
hle: kernel: Remove unnecessary virtual specifier on EndWait.
2021-12-06 16:39:18 -08:00
bunnei
1457a75a40
hle: kernel: k_light_condition_variable: Revert unnecessary license comment changes.
2021-12-06 16:39:18 -08:00
bunnei
cd4582dc8b
hle: kernel: k_condition_variable: Revert unnecessary style changes.
2021-12-06 16:39:18 -08:00
bunnei
4b2aa52da9
hle: kernel: Remove unnecessary virtual specifier on CancelWait.
2021-12-06 16:39:18 -08:00
bunnei
273223d5f1
hle: kernel: service_thread: Force stop threads on destruction.
2021-12-06 16:39:18 -08:00
bunnei
0231cbd79f
hle: kernel: k_light_lock: Implement CancelWait.
...
- Fixes a crash in Megadimension Neptunia VII.
2021-12-06 16:39:18 -08:00
bunnei
d17b7268f6
hle: kernel: service_thread: Use std::jthread.
...
- Fixes a potential deadlock on service thread shutdown.
2021-12-06 16:39:18 -08:00
bunnei
b5970145a5
hle: kernel: k_thread: Skip reschedule on DisableDispatch with SC.
2021-12-06 16:39:18 -08:00
bunnei
6d2bf18df9
hle: kernel: k_thread: Rename sleeping_queue -> wait_queue.
2021-12-06 16:39:18 -08:00
bunnei
43d706c7d2
hle: kernel: svc: Fix deadlock that can occur with single core.
2021-12-06 16:39:18 -08:00
bunnei
826b07162a
hle: kernel: k_thread: Treat dummy threads as a special type.
2021-12-06 16:39:18 -08:00
FernandoS27
8a38790bd3
hle: kernel: fix timing on thread preemption
2021-12-06 16:39:18 -08:00
FernandoS27
2a7b4489a0
hle: kernel: fix scheduling ops from HLE host thread.
2021-12-06 16:39:17 -08:00
bunnei
58da4d5a6e
hle: kernel: Add a flag for indicating that the kernel is currently shutting down.
2021-12-06 16:39:17 -08:00
bunnei
975a4f786b
hle: kernel: KSynchronizationObject: Fix variable shadowing.
2021-12-06 16:39:17 -08:00
bunnei
eb34276885
hle: kernel: Cleanup to match coding style.
2021-12-06 16:39:17 -08:00
bunnei
8fc7d6e631
hle: kernel: KProcess: Improvements for thread pinning.
2021-12-06 16:39:17 -08:00
bunnei
e9231a0b8c
hle: kernel: KThreadQueue: Remove deprecated code.
2021-12-06 16:39:17 -08:00
bunnei
ecd17bbbe4
hle: kernel: KConditionVariable: Various updates & simplifications.
2021-12-06 16:39:17 -08:00
bunnei
050a4270d6
hle: kernel: KThread: Migrate to updated KThreadQueue (part 2).
2021-12-06 16:39:17 -08:00
bunnei
778f03c57a
hle: kernel: KThread: Migrate to updated KThreadQueue (part 1).
2021-12-06 16:39:17 -08:00
bunnei
756fdcbdb1
hle: kernel: KConditionVariable: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
f81a6a07c0
hle: kernel: KServerSession: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
346f6e54b5
hle: kernel: KLightConditionVariable: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
5ff19c33fc
hle: kernel: KLightLock: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
2ff578f0ee
hle: kernel: KAddressArbiter: Migrate to updated KThreadQueue.
2021-12-06 16:39:17 -08:00
bunnei
0ad0543cde
hle: kernel: KThread: Remove tracking of sync object from threads.
2021-12-06 16:39:17 -08:00
bunnei
e9cdb3cccb
hle: kernel: Update KThreadQueue and migrate KSynchronizationObject.
2021-12-06 16:39:17 -08:00
bunnei
01b0e5b168
core: hle: kernel: Disable dispatch count tracking on single core.
...
- This would have limited value, and would be a mess to handle properly.
2021-12-06 16:39:17 -08:00
bunnei
a3dd417cbf
core: hle: kernel: k_thread: Mark KScopedDisableDispatch as nodiscard.
2021-12-06 16:39:17 -08:00
bunnei
6fd0256f77
core: cpu_manager: Use invalid core_id on init and simplify shutdown.
2021-12-06 16:39:17 -08:00
bunnei
5892c23e30
core: hle: kernel: k_auto_object: Add GetName method.
...
- Useful purely for debugging.
2021-12-06 16:39:16 -08:00
bunnei
51a7f04b81
core: hle: kernel: DisableDispatch on suspend threads.
2021-12-06 16:39:16 -08:00
bunnei
d31fc39e05
core: hle: kernel: k_scheduler: Improve DisableScheduling and EnableScheduling.
2021-12-06 16:39:16 -08:00
bunnei
1d5872511c
core: cpu_manager: Use KScopedDisableDispatch.
2021-12-06 16:39:16 -08:00
bunnei
3a83c9c027
core: hle: kernel: Use CurrentPhysicalCoreIndex as appropriate.
2021-12-06 16:39:16 -08:00
bunnei
1e03387d98
core: hle: kernel: k_scheduler: Remove unnecessary MakeCurrentProcess.
2021-12-06 16:39:16 -08:00
bunnei
454970983d
core: hle: kernel: k_scheduler: Improve ScheduleImpl.
2021-12-06 16:39:16 -08:00
bunnei
90310b9c03
core: hle: kernel: k_scheduler: Improve Unload.
2021-12-06 16:39:16 -08:00
bunnei
3ca8aca719
core: hle: kernel: k_process: DisableDispatch on main thread.
2021-12-06 16:39:16 -08:00
bunnei
67e8861da4
core: hle: kernel: k_handle_table: Use KScopedDisableDispatch as necessary.
2021-12-06 16:39:16 -08:00
bunnei
4bd80abd17
core: hle: kernel: k_thread: Add KScopedDisableDispatch.
2021-12-06 16:39:16 -08:00
bunnei
fa26f905c8
core: hle: kernel: Ensure idle threads are closed before destroying scheduler.
2021-12-06 16:39:16 -08:00
bunnei
cae0bef7ec
core: hle: kernel: Reflect non-emulated threads as core 3.
2021-12-06 16:39:16 -08:00
bunnei
3809ab520b
Merge pull request #7524 from german77/hid_stub
...
service/hid: Stub SetNpadCaptureButtonAssignment and ClearNpadCaptureButtonAssignment
2021-12-06 13:06:18 -08:00
german77
57ceda21b7
service/notif: Add notif:a and stub ListAlarmSettings,Initialize
...
Used by ring fit adventure 1.2.0
2021-12-06 10:36:37 -06:00
itsmeft24
01d66693ce
fix formatting
2021-12-06 11:02:33 -05:00
itsmeft24
329e58ad79
move private members below public members
2021-12-06 10:37:13 -05:00
itsmeft24
1dcb18cf3e
fix formatting
2021-12-06 10:37:09 -05:00
itsmeft24
c1a1ffa949
fix formatting
...
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-12-06 07:58:28 -05:00
german77
df845d5d6e
service/hid: Stub SetNpadCaptureButtonAssignment and ClearNpadCaptureButtonAssignment
...
Used by ring fit adventure 1.2.0
2021-12-05 22:44:31 -06:00
jam1garner
9ea4d9cb8c
loader: Support loading subsdk{8,9}
2021-12-05 23:07:50 -05:00
itsmeft24
3df8201e46
fix formatting
2021-12-05 19:00:29 -05:00
itsmeft24
291a398405
Remove unnecessary includes
2021-12-05 18:49:40 -05:00
german77
2352826bf7
service/hid: Implement SetNpadJoyAssignmentMode
2021-12-05 16:18:23 -06:00
itsmeft24
c27936368a
Add copyright notice
2021-12-05 16:49:52 -05:00
ameerj
8969273d2d
general: Add missing copyright notices
2021-12-05 16:18:53 -05:00
itsmeft24
e380100026
Add KCodeMemory to CMakeLists.txt
2021-12-05 15:56:44 -05:00
itsmeft24
033c9dff92
kernel: svc: Implement Map/UnmapProcessMemory and Create/ControlCodeMemory
...
Used by Skyline modding framework
2021-12-05 15:04:08 -05:00
german77
2ba6890141
core/hid: Add missing controller type
2021-12-05 13:57:59 -06:00
german77
5fae083bc3
core/hid: Ensure only valid npad are connected
2021-12-04 23:20:18 -06:00
Feng Chen
4a3c1192b8
Address feedback
2021-12-05 00:06:14 +08:00
bunnei
89d029ff31
Merge pull request #7489 from Morph1984/steady-clock
...
general: Replace high_resolution_clock with steady_clock
2021-12-03 16:08:20 -08:00
Morph
f650d11a53
service: am: ISelfController: Stub SaveCurrentScreenshot
...
- Used by Disney Magical World 2: Enchanted Edition
2021-12-02 20:12:24 -05:00
Morph
2b9afa4d56
general: Replace high_resolution_clock with steady_clock
...
On some OSes, high_resolution_clock is an alias to system_clock and is not monotonic in nature. Replace this with steady_clock.
2021-12-02 14:20:43 -05:00
Feng Chen
10cc89bfdf
Support multiple videos playing
2021-12-02 12:48:42 +08:00
Morph
2bd51ec9e5
service: friend: Implement GetCompletionEvent
...
- Used by Super Bomberman R Online
2021-11-30 12:19:21 -05:00
Morph
ef31afb71f
input_interpreter: Make use of NpadButton instead of a u64
...
Allows us to be more explicit with the representation of button states and use the provided bit manipulation operators
2021-11-29 19:21:51 -05:00
Morph
f34773ee36
npad: Return NpadButton in GetAndResetPressState
...
We were previously truncating this to a u32 as there were no known buttons that used the full 64 bits of this type. Fix this now that we know they are used.
2021-11-29 19:21:51 -05:00
Morph
978c1c2853
core: hid: hid_types: Add "All" to NpadButton
...
This represents a bitmask for all pressed buttons
2021-11-29 19:21:51 -05:00
Morph
715d4bdbc6
core: hid: hid_core: Add (Enable/DIsable)AllControllerConfiguration
2021-11-29 17:59:58 -05:00
Morph
726d16f266
general: Fix handheld typo
2021-11-29 17:22:59 -05:00
Morph
bc2f114e75
core: hid: Mark constructors as explicit
2021-11-29 17:20:15 -05:00
Morph
24b6822c56
core: hid: Cleanup and amend documentation
2021-11-29 17:20:14 -05:00
bunnei
05cd56b716
Merge pull request #7438 from german77/homebrew2
...
Core: Stub services and functions needed for checkpoint
2021-11-28 00:54:48 -08:00
Narr the Reg
9139019352
core/ns: Implement GetReadOnlyApplicationControlDataInterface
...
Used in checkpoint homebrew
2021-11-27 20:30:16 -06:00
Narr the Reg
979bdaeddd
core/pdm: Stub QueryPlayStatisticsByApplicationIdAndUserAccountId
...
Used in checkpoint homebrew
2021-11-27 20:30:16 -06:00
german77
b7357d95a7
settings: Add debug setting to enable all controllers
2021-11-27 20:24:37 -06:00
Narr the Reg
297b5accab
core/hid: Stub GetUniquePadsFromNpad
...
Used in checkpoint homebrew
2021-11-27 09:03:10 -06:00
german77
8df8dd6c5c
config: Remove vibration configuration
2021-11-26 19:31:04 -06:00
Narr the Reg
7b56b2cab6
input_common: Fully implement UDP controllers
2021-11-26 15:46:36 -06:00
Narr the Reg
d20817d2f1
service/hid: Finish converting LIFO objects and address some nits
2021-11-24 20:30:29 -06:00
german77
af121ded18
bootmanager: Use cross-platform keyboard input
2021-11-24 20:30:28 -06:00
german77
30de38ee7f
kraken: Address comments from review
...
Fix compiler bug
2021-11-24 20:30:28 -06:00
german77
25521cd948
core/hid: Improve accuary of mouse implementation
2021-11-24 20:30:28 -06:00
german77
dfb63175d1
core/hid: Fully implement native mouse
2021-11-24 20:30:28 -06:00
german77
6032358402
input_common: Allow keyboard to be backwards compatible
2021-11-24 20:30:28 -06:00
german77
ebfe40dec8
core/hid: Improve accuracy of the keyboard implementation
2021-11-24 20:30:28 -06:00
german77
41dbb2d3cb
core/hid: Fix keyboard alignment
2021-11-24 20:30:28 -06:00
german77
99485a06a7
core/hid: Remove usage of native types, fix a couple of errors with motion
2021-11-24 20:30:28 -06:00
german77
d12525737a
service/hid: Remove includes of core.h and settings.h
2021-11-24 20:30:27 -06:00
german77
8d9d6516fd
service/hid: Add support for new controllers
2021-11-24 20:30:27 -06:00
german77
0cf8201c5d
settings: Fix controller preview not displaying the correct controller
2021-11-24 20:30:27 -06:00
german77
8517d89be0
core/hid: Rename NpadType to NpadStyleIndex
2021-11-24 20:30:27 -06:00
german77
ddcdaac727
config: Cleanup and documentation
2021-11-24 20:30:27 -06:00
german77
a4cdafed54
core/hid: Prevent Emulated controller from flapping with multiple inputs devices
2021-11-24 20:30:27 -06:00
german77
93997b234f
core/hid: Fully emulate motion from button
2021-11-24 20:30:27 -06:00
german77
4736326a05
second commit lion review
2021-11-24 20:30:26 -06:00
german77
a8852024b6
settings: Fix Debug controller type options
2021-11-24 20:30:26 -06:00
german77
9f91335a71
kraken: Address comments from review
...
start lion review
2021-11-24 20:30:26 -06:00
german77
f63c6fce6d
input_common: Revert deleted TAS functions
2021-11-24 20:30:26 -06:00
german77
df91c97a36
core/hid: Explain better what a temporary value does
2021-11-24 20:30:26 -06:00
german77
92a9205566
core/hid: Update structs to 13.1.0
2021-11-24 20:30:26 -06:00
german77
d0389d2971
core/hid: Add TAS input
2021-11-24 20:30:26 -06:00
german77
124404e756
input_common: Add multiple vibration curves
2021-11-24 20:30:26 -06:00
german77
012691087a
core/hid: Rework battery mappings
2021-11-24 20:30:26 -06:00
german77
ae6ba2c8bd
input_common: Add manual update options to input devices
2021-11-24 20:30:26 -06:00
german77
c545dca53b
service/hid: Fix memory allocated incorrectly
2021-11-24 20:30:25 -06:00
german77
d1bac9024d
settings: Fix mouse and keyboard mappings
2021-11-24 20:30:25 -06:00
german77
d813cbd592
Morph review first wave
2021-11-24 20:30:25 -06:00
german77
ecb9ca0dc2
service/hid: Match shared memory closer to HW
2021-11-24 20:30:25 -06:00
german77
498dd14bc7
yuzu: Fix loading input profiles
2021-11-24 20:30:25 -06:00
german77
b3f59b4407
kraken: Address comments from review
...
review fixes
2021-11-24 20:30:25 -06:00
german77
1f0a7a8bca
service/hid: Use ring buffer for gestures
2021-11-24 20:30:25 -06:00
german77
8ea02d19a1
service/hid: Fix gesture input
2021-11-24 20:30:25 -06:00
german77
6774c7988b
configuration: Migrate controller settings to emulated controller
2021-11-24 20:30:25 -06:00
german77
6c7814bc9c
core/hid: Fix rumble too strong at 1%
2021-11-24 20:30:24 -06:00
german77
00f654cd22
core/hid: Only signal when needed
2021-11-24 20:30:24 -06:00
german77
88cb39be9f
hid: Fix controller connection/disconnection
2021-11-24 20:30:24 -06:00
german77
c39001eaa6
core/hid: Documment some files
2021-11-24 20:30:24 -06:00
german77
0292fe0198
kraken: Fix errors from rebase and format files
2021-11-24 20:30:24 -06:00
german77
66cf94709a
core/hid: Add output devices
2021-11-24 20:30:24 -06:00
german77
a197599d08
core: Update input interpreter
2021-11-24 20:30:24 -06:00
german77
d879443146
core/frontend: Update applets
2021-11-24 20:30:24 -06:00
german77
9f38fa7ffe
core: Remove frontend/input
2021-11-24 20:30:24 -06:00
german77
0655b8da59
service/hid: Rewrite npad to use ring lifo and the emulated controller
2021-11-24 20:30:24 -06:00
german77
8b1126f80e
service/hid: Update console sixaxis to the emulated console
2021-11-24 20:30:24 -06:00
german77
6b6628651f
service/hid: Update mouse and keyboard to use ring lifo and the emulated device
2021-11-24 20:30:24 -06:00
german77
9c28d458bd
service/hid: Update touch and gestures to use ring lifo and the emulated console
2021-11-24 20:30:24 -06:00
german77
b749bd7498
service/hid: Update debug pad, xpad, stubbed and controller base to use ring lifo and the emulated controller
2021-11-24 20:30:23 -06:00
german77
70a0aba81d
service/hid: Use remove duplicated code, update names
2021-11-24 20:30:23 -06:00
german77
461b19a681
service/hid: Create ring LIFO
2021-11-24 20:30:23 -06:00
german77
84bda35f14
settings: Cleanup settings
2021-11-24 20:30:23 -06:00
german77
d2f31e805b
core/emu_window: Remove touch input
2021-11-24 20:30:23 -06:00
german77
4f3c5f0101
core: Register HID
2021-11-24 20:30:23 -06:00
german77
5298dba88e
core/hid: Add emulated controllers
2021-11-24 20:30:23 -06:00
german77
61e34f0759
core/hid: Move motion_input, create input converter and hid_types
2021-11-24 20:30:22 -06:00
german77
341d3e2f11
core/hid: Move input_interpreter to hid
2021-11-24 20:30:22 -06:00
bunnei
1d8b5271b4
Merge pull request #7394 from Morph1984/svc-SetMemoryPermission
...
kernel: svc: Implement SetProcessMemoryPermission
2021-11-22 14:06:09 -08:00
jam1garner
4b9926e608
arm: dynarmic: Cleanup icache op handling
2021-11-21 22:44:13 -05:00
jam1garner
068124d506
arm: dynarmic: Implement icache op handling for 'ic iallu' instruction
2021-11-21 21:18:56 -05:00
jam1garner
3f51dd23da
arm: dynarmic: Implement icache op handling for 'ic ivau' instruction
2021-11-21 21:10:14 -05:00
bunnei
15212de85a
Merge pull request #7389 from ameerj/screenshot-1x
...
Fix screenshot dimensions when at 1x scale
2021-11-21 02:31:32 -08:00
bunnei
bdacff6b39
Merge pull request #7359 from heinermann/kthread_crash
...
Fix crash on exit due to static scoped dummy threads
2021-11-20 23:59:58 -08:00
Morph
463793ccb5
kernel: svc: Move all IsValid functions to an anonymous namespace
2021-11-20 22:49:13 -05:00
Morph
64079bc2f2
kernel: svc: Implement SetProcessMemoryPermission
...
- Used by Skyline modding framework
2021-11-20 22:18:56 -05:00
Morph
d9bfc2d546
kernel: KPageTable: Rename SetCodeMemoryPermission to SetProcessMemoryPermission
2021-11-20 22:18:56 -05:00
Morph
a1da80a1cd
service: pm: Implement AtmosphereGetProcessId
...
- Used by Skyline modding framework
2021-11-20 20:56:29 -05:00
Morph
5ed5db7883
service: pm: Add all relevant result codes
2021-11-20 20:56:28 -05:00
Morph
20ac4fd61b
service: pm: Rename title id to program id
2021-11-20 19:39:26 -05:00
ameerj
69759e55ee
Fix screenshot dimensions when at 1x scale
...
This was regressed by ART.
Prior to ART, the screenshots were saved at the title's framebuffer resolution. A misunderstanding of the existing logic led to screenshot dimensions becoming dependent on the host render window size.
This changes the behavior to match how it was prior to ART at 1x, with screenshots now always being the title's framebuffer dimensions scaled by the resolution scaling factor.
2021-11-20 17:50:24 -05:00
Adam Heinermann
fc017ead67
Fix crash on exit due to static scoped dummy threads
2021-11-17 15:29:25 -08:00
ameerj
4919d2d00f
bootmanager: Fix screenshot resolution factor usage
...
Fixes screenshots at non integer scaling
2021-11-16 22:11:30 +01:00
Fernando Sahmkow
fcae5dab7b
Settings: eliminate rescaling_factor.
2021-11-16 22:11:27 +01:00
OatmealDome
3a4b8bac08
program_metadata: Add default ThreadInfo kernel capability
2021-11-10 22:01:05 -05:00
Morph
6e09e0f8ed
applets/swkbd: Fix text check message encoding
...
The text check message can be encoded in UTF-8.
2021-11-08 14:57:53 -05:00
Morph
ab736f254f
applets/swkbd: Skip text checking if the text has been confirmed
...
Confirm means that the text has already been checked by the application to be correct, but is asking the user for confirmation.
The confirmation text itself seems to be corrupted though, this needs to be investigated.
Fixes the software keyboard in Famicom Detective Club: The Missing Heir
2021-11-08 13:05:50 -05:00
Narr the Reg
22ab930f36
service/pctl: Stub EndFreeCommunication
...
- Used by Just Dance 2022
2021-11-05 12:16:19 -04:00
Morph
86d6531083
Merge pull request #7279 from Morph1984/system-get-program-id
...
general: Get the current process program id directly from the system
2021-11-04 20:34:20 -04:00
Morph
d60da025cf
Merge pull request #7289 from ameerj/perf-stat-shutdown
...
core: Reorder perf_stats destruction order on Shutdown
2021-11-04 20:34:09 -04:00
ameerj
a09800057a
core: Reorder perf_stats destruction order on Shutdown
...
Avoids the gpu_core using perf_stats after it's been freed.
2021-11-04 20:19:58 -04:00
Fernando S
fceef14159
Merge pull request #7287 from Morph1984/stub-aoc
...
service: aoc: Stub more 13.x functions used by Animal Crossing
2021-11-05 00:26:10 +01:00
Morph
41a0c088ba
general: Get the current process program id directly from the system
...
This allows us to avoid including KProcess' header file in files that only need to get the current process' program id.
2021-11-04 16:59:39 -04:00
Morph
10508e7af2
general: Rename GetTitleID to GetProgramID
2021-11-04 16:57:16 -04:00
bunnei
0a2f5932e2
Merge pull request #7282 from ameerj/core-includes
...
core: Reduce unused header includes
2021-11-04 13:56:10 -07:00
Morph
f6eb11caca
service: aoc: Stub NotifyUnmountAddOnContent
...
Used by Animal Crossing: New Horizons v2.0.0 DLC
2021-11-04 16:50:08 -04:00
Morph
8096484995
service: aoc: Stub NotifyMountAddOnContent and NotifyMountAddOnContent
...
Used by Animal Crossing: New Horizons v2.0.0 DLC
2021-11-04 16:48:47 -04:00
german77
c3e27a75b1
service/acc: Rename Unknown160 to InitializeApplicationInfoV2
2021-11-04 10:10:58 -06:00
Morph
22584e2ade
service: acc: Stub acc:u0 '160'
...
- Used by Animal Crossing: New Horizons v2.0.0
Since the name is currently unknown, '160' is used as a placeholder.
2021-11-04 02:57:13 -04:00
ameerj
a3d1429aa5
core: Fix transitive include build errors
2021-11-03 21:42:58 -04:00
ameerj
d27abf5546
core: Remove unused includes
2021-11-03 21:42:57 -04:00
Morph
c3c09ca222
svc: Correct WaitSynchronization num_handles param type
...
num_handles is a s32
2021-11-02 22:31:04 -04:00
Morph
fddd57db61
general: Remove MakeResult helpers
...
This is made obsolete by the presence of implicit constructors.
2021-11-02 17:23:19 -04:00
Morph
13a85dcad5
hle/result: Amend ResultVal documentation
...
This amends the documentation slightly to reflect the updated interface.
2021-11-02 15:20:36 -04:00
Morph
44dc3bd9a9
hle/result: Reimplement ResultVal using Common::Expected
...
Common::Expected effectively provides the same functions as ResultVal, so we can implement it with this.
This can be replaced with std::expected with minimal effort should it be standardized in the C++ Standard Template Library.
2021-11-02 15:20:35 -04:00
bunnei
58377818a1
Merge pull request #7227 from vonchenplus/fix_memory_leak_v2
...
Fix memory leak v2
2021-11-01 20:11:30 -07:00
bunnei
25b17a3ae0
Merge pull request #7244 from Morph1984/application-lang-pt-br
...
file_sys/ns: Add Brazilian Portuguese to the list of ApplicationLanguage
2021-10-29 22:32:38 -07:00
bunnei
b9a3be8125
Merge pull request #7240 from Morph1984/resultval-remove-cv
...
hle/result: Remove cv-qualifiers from Arg in MakeResult
2021-10-29 21:35:32 -07:00
Morph
a901de67c6
file_sys: control_metadata: Add BrazilianPortuguese
2021-10-28 20:05:26 -04:00
Morph
6616cd1b59
ns: language: Add BrazilianPortuguese to ApplicationLanguage
...
It seems that Nintendo finally filled that last empty spot in ApplicationLanguage for a total of 16 supported languages.
2021-10-28 20:05:05 -04:00
Morph
55362bccd9
hle/result: Declare copy/move constructor/assignment as noexcept
...
While we're at it, we can also declare these copy/move constructor/assignment as noexcept.
2021-10-28 04:00:21 -04:00
Morph
696c2cec31
hle/result: Add move assignment operator in ResultVal
...
ResultVal was missing a move assignment operator, add it.
2021-10-28 03:52:21 -04:00
Morph
498f7ed966
hle/result: Remove cv-qualifiers from Arg in MakeResult
...
This removes the const qualification for types when MakeResult(arg) is used in a const member function, allowing for automatic deduction and removing the need to manually specify the non-const type as the template argument.
2021-10-28 03:07:18 -04:00
Feng Chen
60df1f9030
Fix dangling kernel objects when exiting
2021-10-27 09:06:30 +08:00
Feng Chen
301d0ac5e0
Revert PR7009
2021-10-27 09:06:30 +08:00
Feng Chen
c13d1e0b0f
Fix memory leak
2021-10-27 09:06:22 +08:00
Morph
875a6f4432
Merge pull request #7193 from FernandoS27/idle
...
SVC: Implement svcInfo:IdleTickCount
2021-10-25 09:17:49 -04:00
Ameer J
2086226f1c
Merge pull request #7218 from bylaws/aswdqdsam
...
Fixup channel submit IOCTL syncpoint parameters
2021-10-24 19:35:00 -04:00
Andrew Strelsky
5179872db6
Fixed ARM_Dynamic_64 Step
2021-10-24 11:16:32 -04:00
Billy Laws
d53ca1dfdf
Fixup channel submit IOCTL syncpoint parameters
...
The current arguments worked by happenstance as games only ever submit
one syncpoint and request one fence back, if a game were to do something
other than this then the arguments would've been parsed entirely wrong.
2021-10-24 00:01:35 +01:00
bunnei
1637f6a578
Merge pull request #7198 from ameerj/settings-chrono
...
settings: Remove std::chrono usage
2021-10-19 09:55:50 -07:00
bunnei
1b75cdaf19
Merge pull request #7173 from Morph1984/invalidate-unmap
...
KPageTable: Perform ranged invalidation when unmapping code memory
2021-10-17 03:25:26 -07:00
ameerj
6cfd975469
settings: Remove std::chrono usage
...
Alleviates the dependency on chrono for all files that include settings.h
2021-10-17 00:37:49 -04:00
Fernando Sahmkow
69b1cad803
SVC: Implement svcInfo:IdleTickCount
...
Used by the Witcher 3
2021-10-16 20:33:44 +02:00
bunnei
fed3ca02b1
Merge pull request #7187 from FernandoS27/boy-i-say-boy
...
NVHost_Ctrl: Force wait if the gpu falls behind too long.
2021-10-15 16:14:32 -07:00
Feng Chen
e0d5680fc2
service/vi: Stub IHOSBinderDriver::TransactParcel GetBufferHistory ( #7184 )
2021-10-15 18:50:45 -04:00
Fernando Sahmkow
3aaf788385
NvHost/Core: Address Feedback.
2021-10-16 00:23:27 +02:00
FernandoS27
50495de641
Suspend temporally
2021-10-16 00:23:23 +02:00
FernandoS27
d265a37688
NVHost_Ctrl: Force wait if the gpu falls behind too long.
2021-10-16 00:22:01 +02:00
Morph
458ab5a916
core: Move ResultStatus outside of System
...
Allows it to be a forward declaration in other header files.
2021-10-15 17:34:49 -04:00
Morph
3de2a8ba2c
core: Remove static system instance
2021-10-15 17:34:48 -04:00
Morph
c7f9f19c64
KPageTable: Perform ranged invalidation when unmapping code memory
...
Co-Authored-By: Fernando S. <1731197+FernandoS27@users.noreply.github.com>
2021-10-13 14:27:11 -04:00
Morph
df32c5e496
Merge pull request #7110 from vonchenplus/fix_extract_offline_romefs_error
...
applets/web: Fallback to loader to get the manual romfs if none is found
2021-10-11 02:09:42 -04:00
Feng Chen
bd64cc420f
applets/web: Fallback to loader to get the manual romfs if none is found
2021-10-11 13:12:51 +08:00
Morph
6bc7f27655
kernel: hle_ipc: Foward declare KAutoObject
2021-10-07 13:32:36 -04:00
Morph
52fa30ab7d
service: Reduce header include overhead
2021-10-07 13:32:21 -04:00
Fernando S
d40819cfb1
Merge pull request #7118 from ameerj/vc-gpu-impl
...
gpu: Migrate implementation to the cpp file
2021-10-06 20:02:31 +02:00
bunnei
7d40321e67
Merge pull request #7115 from ameerj/log-compile
...
common/logging: Reduce dependent header include overhead
2021-10-05 10:05:46 -07:00
bunnei
8234e911f2
Merge pull request #7103 from Morph1984/service-ctx-event
...
service: Replace all service event creation with ServiceContext::CreateEvent
2021-10-04 17:20:46 -07:00
bunnei
04fdf31f0f
Merge pull request #7107 from astrelsky/iob_fix
...
prevent access violation from iob in Memory::IsValidVirtualAddress
2021-10-04 11:08:35 -07:00
Ameer J
170284cf1c
Merge pull request #7091 from vonchenplus/fix_memroy_leak
...
core: Fix memory leak
2021-10-04 00:09:08 -04:00
bunnei
5e9f62b844
Merge pull request #7113 from Morph1984/no-log-ip-addr
...
network: Do not log IP address
2021-10-02 23:19:34 -07:00
ameerj
7a94851e9b
nvflinger: Use jthread and stop_token for VSync thread
...
Avoids a destruction data race that may occur on the vsync thread
2021-10-03 00:35:57 -04:00
ameerj
ae3422e3b7
nvhost_ctrl: Refactor usage of gpu.LockSync()
...
This seems to only be used to protect a later gpu function call. So we can move the lock into that call instead.
2021-10-03 00:35:57 -04:00
ameerj
20a88d9d62
gpu: Migrate implementation to the cpp file
2021-10-03 00:35:57 -04:00
Morph
13f4f14223
service: am: Make use of Exit to exit the currently running application
...
This also moves the call to the end to ensure services are properly destructed on exit.
2021-10-01 23:39:55 -04:00
Morph
37e30e80ed
core: Add Exit and ExitCallback
...
This allows ISelfController::Exit to stop the currently running application. This is typically used by homebrew to exit back to the homebrew menu after calling consoleExit with libnx.
2021-10-01 23:39:54 -04:00
Morph
0f5f1ec430
service: Replace service event creation with ServiceContext::CreateEvent
...
The service context helps to manage all created events and allows us to close them upon destruction.
2021-10-01 23:38:59 -04:00
Morph
d929edf269
network: Do not log IP address
...
Logging this may be a privacy concern for some users.
2021-10-01 23:38:44 -04:00
bunnei
56926a137f
Merge pull request #7102 from Morph1984/remove-boxcat
...
Remove Boxcat BCAT backend
2021-10-01 18:41:41 -07:00
ameerj
98b3b5e0e3
common/logging: Reduce scope of fmt include
2021-10-01 20:48:49 -04:00
ameerj
f222d1e4ce
common/logging: Move Log::Entry declaration to a separate header
...
This reduces the load of requiring to include std::chrono in all files which include log.h
2021-10-01 20:48:49 -04:00
Andrew Strelsky
5a02e7aabf
prevent access violation from iob in Memory::IsValidVirtualAddress
2021-09-29 19:26:44 -04:00
Morph
203d8f7f60
style: Remove extra space preceding the :: operator
2021-09-29 01:26:01 -04:00
Morph
4be0824b5f
service: bcat: Remove BoxCat BCAT implementation
...
The current implementation of BoxCat as it stands is non-functional due to the reliance on a server providing BCAT files.
This implementation will eventually be replaced with one that allows the use of local BCAT files dumped from a Nintendo Switch.
2021-09-29 01:21:35 -04:00
Morph
ca8400ec1d
externals: Remove libzip
2021-09-28 23:18:39 -04:00
Morph
aa68bcdcae
file_sys: Remove vfs_libzip
2021-09-28 23:18:39 -04:00
Morph
aee79cc758
Merge pull request #7018 from lat9nq/splat-stubs
...
audin_u: stub Start, RegisterBufferEvent, AppendAudioInBufferAuto
2021-09-28 22:06:11 -04:00
Feng Chen
38fc397b0f
Fix KShareMemory object leak
2021-09-29 09:51:20 +08:00
german77
2a13524331
service/es: Update to 13.0.0
2021-09-26 20:17:07 -05:00
german77
40a0ba8eea
service/npns: Update to 13.0.0
2021-09-26 20:13:09 -05:00
german77
108969dc60
service/vi: Update to 13.0.0
2021-09-26 20:12:02 -05:00
german77
e2a4e12057
service/am: Update to 13.0.0
2021-09-26 20:00:12 -05:00
german77
b6af532687
service/audio: Update to 13.0.0
2021-09-26 19:49:09 -05:00
german77
f444f41880
service/hid: Update to 13.0.0
2021-09-26 19:45:47 -05:00
german77
6b95545f8a
service/btdrv: Update to 13.0.0
2021-09-26 19:32:45 -05:00
german77
dccf0b7f82
service/usb: Update to 13.0.0
2021-09-26 19:26:52 -05:00
Morph
b93255d853
Merge pull request #7078 from ameerj/vc-jthread-fixes
...
video_core: Fix jthread related hangs when stopping emulation
2021-09-26 16:40:13 -04:00
Feng Chen
974547f98f
Fix KScopedAutoObject object leak when SendSyncRequest
2021-09-25 22:16:21 +08:00
Morph
f9b3d812b2
service: bsd: Stub Read
...
- Used by Diablo II: Resurrected
2021-09-25 08:04:33 -04:00
Morph
498cb34b8e
service: bsd: Implement Read
...
- Used by Diablo II: Resurrected
2021-09-24 16:46:52 -04:00
ameerj
d7977be416
general: Update style to clang-format-12
2021-09-24 15:52:05 -04:00
ameerj
a07f80d672
video_core: Fix jthread related hangs when stopping emulation
...
jthread on some compilers is more picky when it comes to the order in which objects are destroyed.
2021-09-23 20:34:02 -04:00
Lioncash
ebeb5086b1
core/profile_select: Avoid uninitialized read in SelectProfile()
...
The default constructor of UUID doesn't initialize its data members, so
we need to directly initialize it to be invalid.
2021-09-22 18:10:39 -04:00
Lioncash
e37bea609c
common/uuid: Add validity checking functions to interface
...
Given we have a function to invalidate, we should also have ones to
query the validity. Also makes the code more straightforward to read.
2021-09-22 17:59:00 -04:00
bunnei
08e300eb38
Merge pull request #7019 from ameerj/videocore-jthread
...
videocore: Use std::jthread for worker threads
2021-09-18 20:37:40 -07:00
bunnei
4fde9d058b
Merge pull request #7020 from Moonlacer/remove_audio_stretching
...
Remove audio stretching
2021-09-18 11:18:24 -07:00
bunnei
a6f7c06446
Merge pull request #7015 from german77/NotGoodForTerra
...
ngct: Stub Match
2021-09-17 10:58:55 -07:00
Moonlacer
1c445d1050
remove-audio-stretching-setting
2021-09-15 19:52:43 -05:00
ameerj
2cb4bb689b
gpu: Use std::jthread for async gpu thread
2021-09-15 20:49:07 -04:00
lat9nq
7fc8560939
audin_u: Return a buffer event in RegisterBufferEvent
...
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2021-09-15 16:38:12 -04:00
lat9nq
34c6afd6c1
audin_u: stub Start, RegisterBufferEvent, AppendAudioInBufferAuto
...
This also moves IAudioIn's definition to the header.
Required for Splatoon 2 LAN play.
2021-09-15 15:52:09 -04:00
Narr the Reg
77886a6134
ngct: Stub Match
...
Needed for Cruis'n Blast
2021-09-15 00:17:31 -05:00
Morph
65c2d00bd9
vfs: Partially implement GetFileTimeStampRaw
...
Gets rid of homebrew warnings using this func
2021-09-14 08:48:01 -04:00
bunnei
d3cab3095d
Merge pull request #7009 from ameerj/main_process_cleanup
...
core: Destroy main_process during shutdown
2021-09-13 23:32:43 -07:00
ameerj
177affe3ce
core: Destroy main_process during shutdown
...
The main_process was never being cleaned up, causing a noticeable memory leak after subsequent launches. This change cleans up the memory during Core Shutdown, mitigating the leak.
2021-09-13 23:44:52 -04:00
Morph
9191db654d
FS: Mark recursive CreateDirectory as inaccurate and temporary
2021-09-12 14:06:01 -04:00
Morph
26734981cf
Merge pull request #6975 from ogniK5377/acc-async-ctx
...
account: EnsureTokenIdCacheAsync
2021-09-12 12:03:10 -04:00
Morph
26b459393d
Merge pull request #6974 from ogniK5377/fs-recursive-createdir
...
FS: Recursively create directories for CreateDirectory
2021-09-12 12:02:39 -04:00
Morph
f2f9009a9b
Merge pull request #6992 from german77/brains
...
hid/am: Stub SetTouchScreenConfiguration and implement GetNotificationStorageChannelEvent
2021-09-12 12:01:43 -04:00
Morph
4520ae9eed
Merge pull request #6987 from Morph1984/common-error
...
common: Move error handling functions out of common_funcs
2021-09-12 12:01:23 -04:00
Morph
e01b714fd5
Merge pull request #6986 from Morph1984/version-update
...
api_version: Update and add AtmosphereTargetFirmware
2021-09-12 12:01:11 -04:00
Morph
3e49eac2de
kernel: Add missing <functional> include
2021-09-11 17:19:15 -04:00
Morph
b529f4b6b7
file_sys/kernel_executable: Add missing <string> include
2021-09-11 17:19:14 -04:00
Morph
c0ff1dce0b
common: Move error handling to error.cpp/h
...
This allows us to avoid implicitly including <string> every time common_funcs.h is included.
2021-09-11 17:19:14 -04:00
Fernando S
f35f5c5072
Merge pull request #6846 from ameerj/nvdec-gpu-decode
...
nvdec: Add GPU video decoding for all capable drivers and platforms
2021-09-11 23:11:32 +02:00
Fernando S
67c075d51d
Merge pull request #6981 from ameerj/nvflinger-hb-format
...
nvflinger: Use external surface format for framebuffer creation
2021-09-11 22:35:25 +02:00
german77
a36409ff16
am: Implement GetNotificationStorageChannelEvent
2021-09-10 12:24:50 -05:00
german77
9847b58137
hid: Stub SetTouchScreenConfiguration
2021-09-10 12:24:28 -05:00
Morph
e92bc1f091
api_version: Update and add AtmosphereTargetFirmware
2021-09-10 01:10:47 -04:00
Chloe
82fca3ab45
Addressed issues
...
Co-authored-by: Mai M. <mathew1800@gmail.com>
2021-09-09 03:00:08 +10:00
Chloe Marcec
398b0ce799
Mark is_complete as atomic
2021-09-09 00:10:52 +10:00
Chloe Marcec
dd526c8bf5
Addressed issues
2021-09-09 00:09:04 +10:00
Ameer J
b9193040cf
Merge pull request #6971 from bunnei/buffer-queue-kevent
...
core: hle: service: buffer_queue: Improve management of KEvent.
2021-09-08 00:34:36 -04:00
ameerj
3e19187560
nvflinger: Use external surface format for framebuffer creation
...
The format member the IGBPBuffer may not always specify the correct desired format. Using the external format member ensures a valid format is provided when creating the framebuffer.
Fixes homebrew using the wrong framebuffer format.
2021-09-06 23:14:31 -04:00
Chloe Marcec
0b8d28b62a
address name shadowing with system
2021-09-06 22:13:51 +10:00
Chloe Marcec
e27cb5526b
account: EnsureTokenIdCacheAsync
...
Closes #2547 , #6946
2021-09-06 21:16:21 +10:00
bunnei
54d33383e8
Merge pull request #6965 from bunnei/cpu_manager_jthread
...
core: cpu_manager: Use jthread.
2021-09-06 03:49:14 -07:00
Chloe Marcec
2cf086d244
FS: Recursively create directories for CreateDirectory
...
Originally we only created the parent directory, this caused issues for creating directories which also contained subdirectories, eg `/Folder1/Folder2`
This allows the ultimate mod manager homebrew to at least boot
2021-09-06 19:35:55 +10:00
bunnei
b690071dd5
core: hle: service: buffer_queue: Improve management of KEvent.
2021-09-04 22:25:46 -07:00
bunnei
a1a415914d
core: hle: service: nvflinger/vi: Improve management of KEvent.
2021-09-03 21:53:00 -07:00
bunnei
14d3f114a5
core: cpu_manager: Use jthread.
2021-09-03 19:05:41 -07:00
bunnei
c7662fd962
Merge pull request #6905 from Morph1984/nifm-misc
...
nifm/network_interface: Cleanup and populate fields in GetCurrentNetworkProfile
2021-08-29 00:04:58 -07:00
german77
b036d9df7d
ngct: Stub NGCT:U service
2021-08-27 14:15:34 -05:00
Morph
43f7dc615e
service: nifm: Populate fields in GetCurrentNetworkProfile
...
Populates the current_address, subnet_mask, and gateway fields from the selected network interface.
2021-08-27 02:10:59 -04:00
Morph
40e406f9d1
service: nifm: Cleanup GetCurrentIpConfigInfo
2021-08-27 02:10:58 -04:00
Morph
b755cdbd57
network_interface: Cleanup code
2021-08-27 02:10:58 -04:00
Morph
2d685e5a51
network_interface: Replace default return value with std::nullopt
2021-08-27 02:10:58 -04:00
bunnei
5e600cba3a
Revert "kernel: Various improvements to scheduler"
2021-08-25 20:59:28 -07:00
ameerj
0debad63cc
logging: Fix log filter during initialization
...
The log filter was being ignored on initialization due to the logging instance being initialized before the config instance, so the log filter was set to its default value.
This fixes that oversight, along with using descriptive exceptions instead of abort() calls.
2021-08-24 01:32:38 -04:00
Ameer J
b53a87b6b4
Merge pull request #6878 from BreadFish64/optimize-GetHostThreadID
...
kernel: Optimize GetHostThreadID
2021-08-24 00:01:13 -04:00
bunnei
f3931fe2b5
Merge pull request #6869 from yzct12345/shiny-logs-in-the-fireplace
...
logging: Simplify and make thread-safe
2021-08-22 20:40:18 -07:00
Morph
1c1292b13c
applet_error: Fix 64-bit error code conversion
2021-08-19 13:16:48 -04:00
Valeri
6a1ad26160
Fix crash in logging in CreateStrayLayer
...
It was trying to log value of layer_id which is specifically known not to exist, potentially leading to segfault. Log display_id instead.
2021-08-19 19:33:07 +03:00
Valeri
190e12a072
Fix check is thread current in GetThreadContext
...
Misplaced break made it only check for the first core.
2021-08-19 16:46:30 +03:00
bunnei
7a90ad5238
Merge pull request #6832 from bunnei/scheduler-improvements
...
kernel: Various improvements to scheduler
2021-08-18 15:42:46 -07:00
ameerj
82906e26a5
configure_graphics: Add GPU nvdec decoding as an option
...
Some system configurations may see visual regressions or lower performance using GPU decoding compared to CPU decoding. This setting provides the option for users to specify their decoding preference.
Co-Authored-By: yzct12345 <87620833+yzct12345@users.noreply.github.com>
2021-08-16 14:40:53 -04:00
BreadFish64
8c4f818e77
kernel: Optimize GetHostThreadID
2021-08-16 07:30:23 -05:00
Sönke Holz
12499a34e6
network_interface: correct formatting
2021-08-16 12:18:19 +02:00
spholz
9701ec5ddf
network_interface: fix mingw-w64 build
2021-08-16 12:06:35 +02:00
Sönke Holz
363236e2c6
network: retrieve subnet mask and gateway info
2021-08-16 10:32:25 +02:00
bunnei
b2f859f47c
core: hle: kernel: Disable dispatch count tracking on single core.
...
- This would have limited value, and would be a mess to handle properly.
2021-08-14 02:14:19 -07:00
yzct12345
aee8cc20ea
logging: Simplify and make thread-safe
...
This simplifies the logging system.
This also fixes some lost messages on startup.
The simplification is simple. I removed unused functions and moved most things in the .h to the .cpp. I replaced the unnecessary linked list with its contents laid out as three member variables. Anything that went through the linked list now directly accesses the backends. Generic functions are replaced with those for each specific use case and there aren't many. This change increases coupling but we gain back more KISS and encapsulation.
With those changes it was easy to make it thread-safe. I just removed the mutex and turned a boolean atomic. I was planning to use this thread-safety in my next PR about stacktraces. It was actually async-signal-safety at first but I ended up using a different approach. Anyway getting rid of the linked list is important for that because have the list of backends constantly changing complicates things.
2021-08-13 18:39:45 +00:00
spholz
9826ea72b2
network: don't use reinterpret_cast in GetAvailableNetworkInterfaces
2021-08-13 11:58:34 +02:00
Sönke Holz
8c9ce19145
network: fix mingw-w64 build
...
The header "combaseapi.h" of mingw-w64 defines "interface" as "struct".
2021-08-13 11:23:50 +02:00
Sönke Holz
da59702a7d
network: don't use assert to check if no network interfaces are returned
2021-08-13 11:21:34 +02:00
Sönke Holz
b8b4170dd6
network: use Common::BitCast instead of std::bit_cast
2021-08-13 01:28:14 +02:00
Sönke Holz
8e6aa553c0
network: narrow down scope of "result" in win32 code for
...
GetAvailableNetworkInterfaces
2021-08-13 00:37:03 +02:00
Sönke Holz
a7e514f3db
network: use explicit bool conversions in GetAvailableNetworkInterfaces
2021-08-13 00:31:33 +02:00
Sönke Holz
052fb4ec7e
network: initialize ip_addr in GetHostIPv4Address()
2021-08-13 00:28:44 +02:00
Sönke Holz
4e840ab505
nifm: use operator*() instead of .value() to get value of std::optional
2021-08-13 00:24:33 +02:00
Sönke Holz
4262dc09d7
nifm: treat a missing host IP address as a non-critical error
2021-08-13 00:21:54 +02:00
spholz
4c093074b9
Merge branch 'yuzu-emu:master' into fix-lan-play
2021-08-12 22:27:17 +02:00
Sönke Holz
d5e4ac4b29
network: correct formatting in network.cpp and network_interface.cpp
2021-08-12 22:15:48 +02:00
spholz
bef7cbbe41
configuration: add option to select network interface
...
This commit renames the "Services" tab to "Network" and adds a combobox that allows the user to select the network interface that yuzu should use. This new setting is now used to get the local IP address in Network::GetHostIPv4Address. This prevents yuzu from selecting the wrong network interface and thus using the wrong IP address. The return type of Network::GetHostIPv4Adress has also been changed.
2021-08-12 21:32:53 +02:00
bunnei
ea4923218a
Merge pull request #6823 from yzct12345/memory-cleanup
...
memory: Clean up code
2021-08-09 17:09:56 -07:00
bunnei
8d8a230257
core: hle: kernel: k_thread: Mark KScopedDisableDispatch as nodiscard.
2021-08-07 12:33:31 -07:00
bunnei
79c64bf1ee
core: cpu_manager: Use invalid core_id on init and simplify shutdown.
2021-08-07 12:33:07 -07:00
bunnei
1b1b33993b
core: hle: service: buffer_queue: Improve management of KEvent.
2021-08-07 12:18:48 -07:00
bunnei
1458629fc8
core: hle: kernel: k_auto_object: Add GetName method.
...
- Useful purely for debugging.
2021-08-07 12:18:48 -07:00
bunnei
8cbb66daf8
core: hle: service: nvflinger/vi: Improve management of KEvent.
2021-08-07 12:18:47 -07:00
bunnei
0cd7bf70a3
core: hle: kernel: DisableDispatch on suspend threads.
2021-08-07 12:18:47 -07:00
bunnei
19457823ea
core: hle: kernel: k_scheduler: Improve DisableScheduling and EnableScheduling.
2021-08-07 12:18:47 -07:00
bunnei
62b84a3e96
core: cpu_manager: Use KScopedDisableDispatch.
2021-08-07 12:18:47 -07:00
bunnei
347e4d6ab8
core: hle: kernel: Use CurrentPhysicalCoreIndex as appropriate.
2021-08-07 12:18:47 -07:00
bunnei
aedc599224
core: hle: kernel: k_scheduler: Remove unnecessary MakeCurrentProcess.
2021-08-07 12:18:47 -07:00
bunnei
edba87b96d
core: hle: kernel: k_scheduler: Improve ScheduleImpl.
2021-08-07 12:18:47 -07:00
bunnei
0d22a55e01
core: hle: kernel: k_scheduler: Improve Unload.
2021-08-07 12:18:47 -07:00
bunnei
cba49de65b
core: hle: kernel: k_process: DisableDispatch on main thread.
2021-08-07 12:18:47 -07:00
bunnei
92ef6e44ee
core: hle: kernel: k_handle_table: Use KScopedDisableDispatch as necessary.
2021-08-07 12:18:47 -07:00
bunnei
9951f24bad
core: hle: kernel: k_thread: Add KScopedDisableDispatch.
2021-08-07 12:18:47 -07:00
bunnei
43fcb97ef3
core: hle: kernel: Ensure idle threads are closed before destroying scheduler.
2021-08-07 12:18:47 -07:00
bunnei
951143ba57
core: hle: kernel: Reflect non-emulated threads as core 3.
2021-08-07 12:18:47 -07:00
bunnei
b0cb5c830c
core: cpu_manager: Use jthread.
2021-08-07 12:18:47 -07:00
yzct12345
b61be44dbc
memory: Address lioncash's review
2021-08-07 03:03:21 +00:00
yzct12345
a21f46127b
memory: Dedup Read and Write and fix logging bugs
2021-08-07 01:32:06 +00:00
spholz
b038a6deb4
Merge branch 'yuzu-emu:master' into fix-lan-play
2021-08-07 02:55:19 +02:00
Sönke Holz
47f72f9345
network: GetAndLogLastError: ignore Errno::AGAIN
...
If non-blocking sockets are used, they generate a lot of Errno::AGAIN errors when they didn't receive any data. These errors shouldn't be logged.
2021-08-07 02:54:25 +02:00
bunnei
cb6d198101
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
2c0d0e8af4
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
0c28433539
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
7acf5d8bfd
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
Sönke Holz
35b86fce87
network: fix fcntl cmds
...
F_SETFL/F_GETFL are the correct commands to set a socket to be non-blocking
2021-08-06 21:08:31 +02:00
yzct12345
7a421e7e33
memory: Clean up CopyBlock too
2021-08-05 21:09:08 +00:00
yzct12345
fa26e226de
memory: Address lioncash's review
2021-08-05 20:29:43 +00:00
yzct12345
cbe093e865
memory: Clean up code
2021-08-05 20:11:14 +00:00
Morph
0971b90782
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
spholz
e08a9d00e0
network: fix ternary operator in Socket::SendTo
2021-08-02 20:12:12 +02:00
Morph
11a0033a66
service: set: Correct copy amount in GetAvailableLanguageCodes
2021-08-01 11:59:52 -04:00
Morph
057a4a8a06
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
8177751c0e
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
ac09092898
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
2359f8283a
service: set: Correct 4.0.0 max_entries to 0x40 (64) instead of 17
2021-07-30 02:15:53 -04:00
Morph
58a79102ae
service: ns, set: Add PT_BR (Brazilian Portuguese)
2021-07-30 02:15:53 -04:00
Ameer J
f2b7818cf0
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
56a35a0886
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
6c7b6b7be0
service: ns: Remove unused ns_language header
2021-07-27 08:59:26 -04:00
Morph
ae8a88d10c
service: ns: Map ZH_TW and ZH_CN to Traditional/Simplified Chinese
2021-07-27 08:54:41 -04:00
Morph
881199e524
common: uuid: Return a lower-case hex string in Format
2021-07-26 23:54:59 -04:00
bunnei
08350d1744
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
eee75fe604
Merge pull request #6697 from ameerj/fps-cap
...
config, nvflinger: Add FPS cap setting
2021-07-25 16:23:44 -07:00
bunnei
0a328423e8
Merge pull request #6585 from ameerj/hades
...
Shader Decompiler Rewrite
2021-07-25 11:39:04 -07:00
ameerj
aeff61a0cc
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
8c0d6af843
config, nvflinger: Add FPS cap setting
...
Allows finer tuning of the FPS limit.
2021-07-23 22:04:36 -04:00
bunnei
3cc092849c
Merge pull request #6551 from bunnei/improve-kernel-obj
...
Improve management of kernel objects
2021-07-23 21:23:56 -04:00
ReinUsesLisp
2e6acac647
cmake: Remove shader cache version
2021-07-22 21:51:40 -04:00
lat9nq
ddd4720fe4
general: Add setting shader_backend
...
GLASM is getting good enough that we can move it out of advanced
graphics settings. This removes the setting `use_assembly_shaders`,
opting for a enum class `shader_backend`. This comes with the benefits
that it is extensible for additional shader backends besides GLSL and
GLASM, and this will work better with a QComboBox.
Qt removes the related assembly shader setting from the Advanced
Graphics section and places it as a new QComboBox in the API Settings
group. This will replace the Vulkan device selector when OpenGL is
selected.
Additionally, mark all of the custom anisotropic filtering settings as
"WILL BREAK THINGS", as that is the case with a select few games.
2021-07-22 21:51:39 -04:00
bunnei
1bdd05134c
hle: service: kernel_helpers: Remove unnecessary pragma once.
2021-07-20 18:54:56 -07:00
bunnei
b9bb5338c0
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
44ad911d6f
hle: service: nvdrv: Remove unused kernel reference.
2021-07-20 18:54:56 -07:00
bunnei
1eb56afe47
hle: service: hid: npad: Remove unused kernel reference.
2021-07-20 18:54:56 -07:00
bunnei
beeed68944
hle: kernel: Track and release server sessions, and protect methods with locks.
2021-07-20 18:54:56 -07:00
bunnei
179243473b
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
81d111fd1b
hle: kernel: Ensure current running process is closed.
2021-07-20 18:54:56 -07:00
bunnei
88350871df
hle: kernel: Ensure global handle table is finalized before closing.
2021-07-20 18:54:56 -07:00
bunnei
43f2f83c30
kernel: svc: ConnectToNamedPort: Close extra reference to port.
2021-07-20 18:54:56 -07:00
bunnei
4e7c75d592
hle: service: sm: Refactor to better manage ports.
2021-07-20 18:54:55 -07:00
bunnei
66da530a81
hle: kernel: k_process: Close the handle table on shutdown.
2021-07-20 18:54:55 -07:00
bunnei
d144950f11
hle: kernel: k_process: Close main thread reference after it is inserted into handle table.
2021-07-20 18:54:55 -07:00
bunnei
2c96cc5343
hle: kernel: Ensure global handle table is initialized.
2021-07-20 18:54:55 -07:00
bunnei
b7140d7f00
hle: service: Add a helper module for managing kernel objects.
2021-07-20 18:54:55 -07:00
bunnei
a4b3202b65
hle: kernel: Provide methods for tracking dangling kernel objects.
2021-07-20 18:54:55 -07:00
Morph
03639b1262
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
Feng Chen
77f209e391
file_sys: Support load game collection ( #6582 )
...
Adds support for loading games with multiple programs embedded within such as the Dragon Quest 1+2+3 Collection
2021-07-20 01:10:05 -04:00
Fernando S
51480d636e
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
2cc5cdd3c4
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
f4ea325867
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
fbb6cfda14
nvhost_nvdec_common: Fix {Slice/Write}Vectors return
...
Plus some minor cleanup for consistency.
2021-07-14 22:30:58 -04:00
Morph
d66442a4e1
service: Append service name prefix to common filenames
2021-07-14 02:09:14 -04:00
Morph
66b9de4b04
applets: Append applet_ prefix to backend applets
2021-07-14 01:07:09 -04:00
Ameer J
be413e177a
Merge pull request #6599 from german77/disable_rumble
...
npad: Disable vibration check if disabled
2021-07-13 16:11:59 -04:00
bunnei
41a1ea7b9c
Merge pull request #6615 from ReinUsesLisp/httplib-debug-warnings
...
boxcat,web_service: Silence -Wmaybe-uninitialized when including httplib.h
2021-07-12 22:11:19 -07:00
ReinUsesLisp
57ecb7ea34
content_archive: Remove unnecessary include to <ranges>
...
Fixes build issues on clang.
2021-07-12 03:37:56 -03:00
ReinUsesLisp
2733c4e186
boxcat: Silence -Wmaybe-uninitialized in httplib.h
2021-07-12 03:30:45 -03:00
german77
fcbad25072
npad: Disable vibration check if disabled
2021-07-10 20:06:07 -05:00
lat9nq
95163455a6
settings, arm_dynarmic, yuzu qt: Move CPU debugging option
...
Decouples the CPU debugging mode from the enumeration to its own
boolean. After this, it moves the CPU Debugging tab over to a sub tab
underneath the Debug tab in the configuration UI.
2021-07-08 16:56:44 -04:00
lat9nq
23660e8fd5
arm_dynarmic_64: Re-add fastmem_address_space_bits to Auto setting
2021-07-08 15:14:45 -04:00
lat9nq
c92f2ecee8
arm_dynarmic{32,64}: Fixes from test build
...
Now sets optimizations regardless of the Settings. Drops unsafe fastmem
optimization.
2021-07-08 14:56:09 -04:00
lat9nq
14e4dbe61e
core,common,yuzu qt: Add CPU accuracy option 'Auto'
...
The current CPU accuracy settings in yuzu are fairly polarized and
require more than common knowledge to know what the optimal settings for
yuzu would be. This adds a curated option called 'Auto' that applies a
few at the moment known-good unsafe optimizations to Dynarmic.
2021-07-08 14:56:09 -04:00
Ameer J
60e29dd3b0
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
lat9nq
d9109a708b
general: Code formatting improvements
...
Slight improvements to readability.
Dropped suggestions for string_view (settings.h:101), pass by value
(settings.h:82), reverting double to a float (config.cpp:316), and other
smaller ones, some out of scope.
Addresses review feedback.
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-07-08 14:07:10 -04:00
bunnei
e99c725050
Merge pull request #6567 from Kelebek1/Audio2
...
[audren] Report 2 channels active rather than 1
2021-07-07 14:52:08 -07:00
Kelebek1
6089a29f54
Report 2 channels active. Fixes Tales of Vesperia's mono channel audio.
2021-07-06 18:52:49 +01:00
Morph
64f22684d4
CMakeLists: Treat -Wsign-compare as an error on GCC/Clang
...
Treats (un)signed comparison mismatches as errors to be consistent with MSVC
2021-07-06 12:50:09 -04:00
bunnei
88cb6c26f3
Merge pull request #6537 from Morph1984/warnings
...
general: Enforce multiple warnings in MSVC
2021-07-05 17:09:23 -07:00
Morph
b3ca6f09bb
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
4168a4d571
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
07e637d8c6
Fix XC2/VOEZ crashing, add audio looping and a few misc fixes
2021-07-01 06:01:01 +01:00
lat9nq
3352742284
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
794c444285
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
3dd396effa
core: Enforce C4242
2021-06-28 14:20:25 -04:00
Morph
263495a5d5
patch_manager: Do not apply LayeredFS mods when dumping
...
We should not apply any mods when dumping a game's RomFS.
2021-06-28 10:14:36 -04:00
Morph
b3396ec358
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
bc4dc2135e
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
329398cd41
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
b46191d104
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
3b9006085f
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
2b36c8f843
hle: service: hwopus: OpenHardwareOpusDecoderEx: Remove unused buffer size.
2021-06-26 00:38:08 -07:00
bunnei
01fb060f2a
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
42957785f0
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
3a6d12430c
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
84abf1723b
hle: service: aoc: Stub GetAddOnContentListChangedEventWithProcessId.
...
- This is used by the latest update of Doom Eternal.
2021-06-24 18:22:53 -07:00
Wunkolo
722f9c3cb5
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
03b505f30d
Merge pull request #6522 from Morph1984/pragma
...
general: Add missing #pragma once directives
2021-06-24 08:53:27 -07:00
Morph
5004b030df
general: Add missing #pragma once directives
2021-06-24 07:20:57 -04:00
Chloe
a9a9167009
Add missing includes ( #6521 )
...
* Add missing includes
* Add array
2021-06-24 03:24:17 -04:00
bunnei
1f0bb8bad2
Merge pull request #6517 from lioncash/fmtlib
...
externals: Update fmt to 8.0.0
2021-06-23 15:31:04 -07:00
bunnei
dbf400b10c
Merge pull request #6504 from Kelebek1/samples-played
...
[audout] Implement GetAudioOutPlayedSampleCount
2021-06-23 11:31:12 -07:00
Lioncash
f4d6293427
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
65e51665ea
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
382d5c114c
Merge pull request #6493 from Morph1984/fs-nodiscard
...
common: fs: Miscellaneous changes
2021-06-22 17:21:59 -07:00
bunnei
2b8f288319
Merge pull request #6472 from Morph1984/spl
...
service: spl: Implement general SPL service
2021-06-22 15:43:10 -07:00
bunnei
2b97b0c46c
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
c74b4be699
vfs_real: Fix Mode to FileAccessMode conversion
...
These enforce requiring the file to exist prior to opening.
2021-06-22 15:07:51 -04:00
Morph
f81ef990ac
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
Mai M
99dcb0d0e1
Merge pull request #6511 from ReinUsesLisp/core-is-powered-data-race
...
core: Make is_powered_on atomic
2021-06-22 04:28:38 -04:00
Rodrigo Locatti
13edf2e071
core: Make is_powered_on atomic
...
Fixes potential data races when shutting down.
2021-06-22 04:33:07 -03:00
Rodrigo Locatti
c32066d766
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
abbadc27d8
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
5015541902
Implement audout GetAudioOutPlayedSampleCount
...
Used in Ninja Gaiden games.
2021-06-22 04:39:17 +01:00
bunnei
3fb11c6e77
Merge pull request #6499 from FernandoS27/we-were-on-a-break
...
Update dynarmic and add new unsafe CPU option.
2021-06-21 14:56:08 -07:00
Fernando Sahmkow
1592ec32bc
Update dynarmic and add new unsafe CPU option.
2021-06-20 20:40:02 +02:00
Morph
be34265f5e
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
3543d65449
kernel: Fix missing peak set in KResourceLimit::SetLimitValue
2021-06-18 07:27:48 -04:00
ameerj
72a4091aec
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
bunnei
ff1e34d198
Merge pull request #6464 from ameerj/disable-astc
...
textures: Add a toggle for GPU Accelerated ASTC decoder
2021-06-16 11:29:10 -07:00
Morph
996d006989
spl: Mark the other functions as unimplemented
2021-06-16 01:46:45 -04:00
Morph
09a98bdc2b
spl: Implement spl::GetConfig
2021-06-16 01:46:45 -04:00
Morph
7588defe84
hle: api_version: Add HLE API version constants
2021-06-16 01:46:45 -04:00
Morph
684d567adc
spl: Add the general SPL interface
2021-06-16 01:46:45 -04:00
Morph
bb0caed2f1
spl: Add SPL types
2021-06-16 01:46:45 -04:00
Morph
8d7eec9b88
spl: Add SPL result codes
2021-06-16 01:07:58 -04:00
Morph
20bb5fe3a1
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
2ec9c87101
configure_graphics: Add Accelerate ASTC decoding setting
2021-06-15 20:19:00 -04:00
ameerj
7709a7cdc0
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
e91bf05ce6
general: Remove extraneous includes
2021-06-13 11:32:43 -04:00
Morph
88f735f55a
Merge pull request #6452 from german77/sixaxis_firmware_stub
...
hid: Stub IsFirmwareUpdateAvailableForSixAxisSensor
2021-06-13 05:28:32 -04:00
german77
7ae1e7c0bb
hid: Stub IsFirmwareUpdateAvailableForSixAxisSensor
2021-06-11 14:44:46 -05:00
Mai M
653edced9b
Merge pull request #6422 from FernandoS27/i-am-the-senate
...
Implement/Port Fastmem from Citra to Yuzu
2021-06-11 14:26:54 -04:00
bunnei
27976eb579
Merge pull request #6443 from Morph1984/k-light-condition-variable
...
kernel: KLightConditionVariable: Update implementation to 12.x
2021-06-11 11:03:55 -07:00
FernandoS27
3147b9e34c
General: Add settings for fastmem and disabling adress space check.
2021-06-11 17:27:17 +02:00
Markus Wick
99f6d60a99
core: Make use of fastmem
2021-06-11 17:27:06 +02:00
bunnei
f0732b09b8
Merge pull request #6445 from degasus/fix_ubsn
...
Fix GCC undefined behavior sanitizer.
2021-06-10 22:17:33 -07:00
Morph
006ca28fc8
kernel: Unconditionally set thread state when appropriate
2021-06-11 00:58:04 -04:00
Morph
3509855179
kernel: KLightConditionVariable: Update implementation to 12.x
...
Updates the implementation of KLightConditionVariable to FW 12.x
2021-06-11 00:58:04 -04:00
Markus Wick
e7c2b054c1
Fix GCC undefined behavior sanitizer.
...
* Wrong alignment in u64 LOG_DEBUG -> memcpy.
* Huge shift exponent in stride calculation for linear buffer, unused result -> skipped.
* Large shift in buffer cache if word = 0, skip checking for set bits.
Non of those were critical, so this should not change any behavior.
At least with the assumption, that the last one used masking behavior, which always yield continuous_bits = 0.
2021-06-10 21:07:27 +02:00
bunnei
cb75c58714
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
bunnei
63bc3eef98
hle: service: Increase arbitrary max sessions limit.
...
- Pokemon Sword/Shield are still hitting this for some reason, causing an svcBreak.
2021-06-10 00:08:09 -07:00
bunnei
6c3c99c915
hle: kernel: KClientPort: Add an assert for session count.
...
- Prevents us from over decrementing num_sessions.
2021-06-09 22:36:42 -07:00
bunnei
73d30a5446
hle: service: sm: Fix GetService setup of session & port.
2021-06-09 22:29:18 -07:00
bunnei
407cf4ffdb
hle: service: Use correct size for ServerSessionCountMax.
2021-06-09 22:04:36 -07:00
bunnei
6c84a78d74
hle: kernel: KServerSession: Fix client disconnected.
...
- Prevents a cloned session's handler from being overwritten by another disconnected session.
- Fixes session handler nullptr asserts with Pokemon Sword & Shield.
2021-06-09 21:37:11 -07:00
bunnei
d06f7d9f6c
kernel: svc: Add missing error check to CancelSynchronization.
...
- Avoids a potential crash if the handle is invalid, and also makes this code accurate to real kernel behavior.
2021-06-09 15:24:46 -07:00
bunnei
c9d0bbb9f9
hle: service: Increase arbitrary max sessions limit.
...
- Pokemon Sword/Shield are still hitting this for some reason, causing an svcBreak.
2021-06-09 11:59:34 -07:00
bunnei
b270cecbab
hle: kernel: KServerSession: Work-around scenario where session is closed too early.
2021-06-08 13:39:20 -07:00
bunnei
4ad8a148ee
hle: kernel: hle_ipc: Ensure SessionRequestHandler is valid.
2021-06-07 21:55:37 -07:00
bunnei
a3de201dcf
hle: kernel: Remove service thread manager and use weak_ptr.
...
- We no longer need to queue up service threads to be destroyed.
- Fixes a race condition where a thread could be destroyed too early, which caused a crash in Pokemon Sword/Shield.
2021-06-07 21:10:51 -07:00
bunnei
558dda5e60
Merge pull request #6414 from bunnei/fix-service-threads
...
hle: kernel: Refactor to allocate a ServiceThread per service handler.
2021-06-06 22:52:07 -07:00
bunnei
eeb8d0def8
hle: kernel: KServerSession: Use ASSERT_MSG where appropriate.
2021-06-06 22:09:25 -07:00
bunnei
ff57fd7281
hle: kernel: k_server_session: Return service thread by strong pointer.
2021-06-06 17:54:06 -07:00
bunnei
c833ca5fa0
hle: kernel: k_server_session: Ensure service thread is valid before dereference.
2021-06-06 17:03:36 -07:00
bunnei
ea1ca74e7a
hle: kernel: hle_ipc: Use default destructor for SessionRequestManager.
2021-06-06 15:41:16 -07:00
bunnei
38d8bcc574
hle: kernel: KAutoObjectWithListContainer: Use boost::instrusive::rbtree.
...
- Fixes some crashes introduced by our common intrusive red/black tree impl.
2021-06-06 15:39:11 -07:00
Lioncash
c811d0f69d
result: Add [[nodiscard]] specifiers where applicable
...
The result code classes are used quite extensively throughout both the
kernel and service HLE code. We can mark these member functions as
[[nodiscard]] to prevent a few logic bugs from slipping through.
2021-06-05 06:09:07 -04:00
bunnei
8bf7b19d1d
hle: kernel: Refactor to allocate a ServiceThread per service handler.
...
- Previously, we would allocate a thread per session, which adds new threads on CloneCurrentObject.
- This results in race conditions with N sessions queuing requests to the same service interface.
- Fixes Pokken Tournament DX crashes/softlocks, which were regressed by #6347 .
2021-06-04 19:26:48 -07:00
bunnei
65505640b9
Merge pull request #6389 from german77/Analog_button_fix
...
input_common: Analog button, use time based position
2021-06-03 21:06:38 -07:00
Morph
8977a5e928
fsp-srv: Replace one last instance of RESULT_SUCCESS
2021-06-02 21:40:14 -04:00
Chloe
8eb5da9a7c
fspsrv: Implement DisableAutoSaveDataCreation ( #6355 )
...
- Used by Mii Edit
2021-06-02 17:46:29 -07:00
Morph
c4d6d9dfd3
general: Replace RESULT_UNKNOWN with ResultUnknown
...
Transition to PascalCase for result names.
2021-06-02 00:39:27 -04:00
Morph
7ebc38a6d1
general: Replace RESULT_SUCCESS with ResultSuccess
...
Transition to PascalCase for result names.
2021-06-02 00:39:27 -04:00
Lioncash
cb111c0038
common_funcs: Move R_ macros to result.h
...
These macros all interact with the result code type, so they should
ideally be within this file as well, so all the common_funcs machinery
doesn't need to be pulled in just to use them.
2021-05-31 16:41:00 -04:00
bunnei
89c77a6b91
Merge pull request #6385 from degasus/save_memory_access
...
core/memory: Check our memory fallbacks for out-of-bound behavior.
2021-05-30 23:21:39 -07:00
bunnei
9c2c961435
Merge pull request #6377 from lioncash/point
...
common: Extract Point struct into common
2021-05-30 01:35:26 -07:00
bunnei
3c1b54384e
Merge pull request #6387 from lioncash/class-token
...
k_class_token: Use variable templates where applicable
2021-05-29 23:55:17 -07:00
german77
b398e0783e
input_common: Analog button, use time based position instead of frequent updates
2021-05-30 00:13:51 -05:00
Mai M
41fa521da1
Merge pull request #6374 from Morph1984/swkbd-textcheck-encoding
...
applets/swkbd: Only read the text check message on Failure/Confirm
2021-05-29 23:34:40 -04:00
Mai M
dfffaab2a3
Merge pull request #6364 from german77/stub-lp2p
...
ldn: Add and stub lp2p:sys lp2p:app INetworkServiceMonitor INetworkService
Mario Kart Live: Home Circuit needs lp2p:sys lp2p:app INetworkServiceMonitor INetworkService to be able to progress.
Note: The game still fails to boot from unimplemented LDN and BSD services.
2021-05-29 23:33:57 -04:00
bunnei
709978a253
Merge pull request #6379 from degasus/update_dynarmic
...
externals: Update dynarmic.
2021-05-29 03:15:13 -07:00
Lioncash
2197782ecd
k_class_token: Use variable templates where applicable
...
Same behavior, less code.
2021-05-29 05:25:34 -04:00
bunnei
137938f971
Merge pull request #6384 from lioncash/virtual
...
kernel: Add missing override specifiers
2021-05-29 02:11:40 -07:00
bunnei
6864ccfee8
Merge pull request #6382 from lioncash/null
...
k_thread: Move dereference after null check in Initialize()
2021-05-29 01:17:28 -07:00
Markus Wick
870505def8
core/memory: Check our memory fallbacks for out-of-bound behavior.
...
This makes it by far harder to crash yuzu.
Also implement the 48bit masking of AARCH64 while touching this code.
2021-05-29 09:28:26 +02:00
bunnei
fb86819b39
Merge pull request #6373 from bunnei/use-slabheap-tls
...
hle: kernel: KSlabHeap: Allow host or guest allocations.
2021-05-29 00:17:24 -07:00
Markus Wick
5aca25637f
core/arm_interface: Improve the performance of memory fallbacks.
...
We just create one memory subsystem. This is a constant all the time.
So there is no need to call the non-inlined parent.Memory() helper on every callback.
2021-05-29 09:02:19 +02:00
Lioncash
a9fcaa9c00
kernel: Add missing override specifiers
...
Over the course of the kernel refactoring a tiny bit of missing
overrides slipped through review, so we can add these.
While we're at it, we can remove redundant virtual keywords where
applicable as well.
2021-05-29 02:58:32 -04:00
Markus Wick
9f92beed0a
Fix two GCC 11 warnings: Unneeded copies.
...
std::move created an unneeded copy.
iterating without reference also created copies.
2021-05-29 08:57:44 +02:00
Markus Wick
6203af4169
externals: Update dynarmic.
...
The new version supports fastmem on a64.
2021-05-29 08:53:01 +02:00
Lioncash
2d390c1911
k_thread: Move dereference after null check in Initialize()
...
Prevents a -Wnonnull warning on GCC.
2021-05-29 00:31:38 -04:00
bunnei
95b988ece3
Merge pull request #6371 from degasus/drop_ExceptionalExit
...
core/arm_interface: Call SVC after end of dynarmic block.
2021-05-28 17:45:05 -07:00
bunnei
639baf88f7
hle: kernel: KSlabHeap: Allow host or guest allocations.
...
- Use host allocations for kernel memory, as this is not properly emulated yet.
- Use guest allocations for TLS, as this needs to be backed by DeviceMemory.
2021-05-28 17:42:41 -07:00
bunnei
1a459cd780
Merge pull request #6356 from ogniK5377/ApplyNpadSystemCommonPolicy
...
hid: ApplyNpadSystemCommonPolicy
2021-05-28 10:05:20 -07:00
Lioncash
dabb48cb06
touchscreen: Make use of common point struct
2021-05-28 08:15:22 -04:00
Lioncash
f49ea1959b
common: Extract point into a common struct
...
This is generic enough that it can be moved into the Common class for
reuse.
2021-05-28 08:12:49 -04:00
Morph
ed52a83511
applets/swkbd: Make use of std::move where applicable
...
Avoids redundant string copies
2021-05-27 23:45:56 -04:00
Morph
4b064097bd
applets/swkbd: Only read the text check message on Failure/Confirm
...
Applications may leave this region of memory uninitialized when the text check result is not either Failure or Confirm.
Attempting to read uninitialized memory may cause an exception within the UTF16 to UTF8 string converter.
Fix this by only reading the text check message on Failure or Confirm.
2021-05-27 23:45:56 -04:00
Markus Wick
c9f9e77be3
core/arm_interface: Call SVC after end of dynarmic block.
...
So we can modify all of dynarmic states within SVC without ExceptionalExit.
Especially as the ExceptionalExit hack is dropped on upstream dynarmic.
2021-05-27 23:23:23 +02:00
Markus Wick
09657c5787
core/arm: Drop ChangeProcessorID.
...
This code was used to switch the CPU ID on thread switches.
However since "hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.", the CPU ID is not a constant.
This has been dead code since this rewrite, and dropped in dynarmic as well. So there is no need to keep it.
2021-05-26 19:48:24 +02:00
german77
bfaf3f1bcd
ldn: Add and stub lp2p:sys lp2p:app INetworkServiceMonitor INetworkService
2021-05-26 10:06:00 -05:00
Morph
b72db64406
Merge pull request #6331 from lioncash/gesture
...
hid/gesture: Simplify point related code
2021-05-26 09:19:00 -04:00
Morph
e8f1d7145e
common: fs: Rework the Common Filesystem interface to make use of std::filesystem ( #6270 )
...
* common: fs: fs_types: Create filesystem types
Contains various filesystem types used by the Common::FS library
* common: fs: fs_util: Add std::string to std::u8string conversion utility
* common: fs: path_util: Add utlity functions for paths
Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library
* common: fs: file: Rewrite the IOFile implementation
* common: fs: Reimplement Common::FS library using std::filesystem
* common: fs: fs_paths: Add fs_paths to replace common_paths
* common: fs: path_util: Add the rest of the path functions
* common: Remove the previous Common::FS implementation
* general: Remove unused fs includes
* string_util: Remove unused function and include
* nvidia_flags: Migrate to the new Common::FS library
* settings: Migrate to the new Common::FS library
* logging: backend: Migrate to the new Common::FS library
* core: Migrate to the new Common::FS library
* perf_stats: Migrate to the new Common::FS library
* reporter: Migrate to the new Common::FS library
* telemetry_session: Migrate to the new Common::FS library
* key_manager: Migrate to the new Common::FS library
* bis_factory: Migrate to the new Common::FS library
* registered_cache: Migrate to the new Common::FS library
* xts_archive: Migrate to the new Common::FS library
* service: acc: Migrate to the new Common::FS library
* applets/profile: Migrate to the new Common::FS library
* applets/web: Migrate to the new Common::FS library
* service: filesystem: Migrate to the new Common::FS library
* loader: Migrate to the new Common::FS library
* gl_shader_disk_cache: Migrate to the new Common::FS library
* nsight_aftermath_tracker: Migrate to the new Common::FS library
* vulkan_library: Migrate to the new Common::FS library
* configure_debug: Migrate to the new Common::FS library
* game_list_worker: Migrate to the new Common::FS library
* config: Migrate to the new Common::FS library
* configure_filesystem: Migrate to the new Common::FS library
* configure_per_game_addons: Migrate to the new Common::FS library
* configure_profile_manager: Migrate to the new Common::FS library
* configure_ui: Migrate to the new Common::FS library
* input_profiles: Migrate to the new Common::FS library
* yuzu_cmd: config: Migrate to the new Common::FS library
* yuzu_cmd: Migrate to the new Common::FS library
* vfs_real: Migrate to the new Common::FS library
* vfs: Migrate to the new Common::FS library
* vfs_libzip: Migrate to the new Common::FS library
* service: bcat: Migrate to the new Common::FS library
* yuzu: main: Migrate to the new Common::FS library
* vfs_real: Delete the contents of an existing file in CreateFile
Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now.
* input_profiles: Don't iterate the input profile dir if it does not exist
Silences an error produced in the log if the directory does not exist.
* game_list_worker: Skip parsing file if the returned VfsFile is nullptr
Prevents crashes in GetLoader when the virtual file is nullptr
* common: fs: Validate paths for path length
* service: filesystem: Open the mod load directory as read only
2021-05-25 19:32:56 -04:00
Morph
5eecd49108
kernel: process_capability: Add MapRegion capability
...
- Used by nx-hbloader
2021-05-25 01:44:46 -04:00
Chloe Marcec
cf489391d7
hid: ApplyNpadSystemCommonPolicy
...
We already do this specifically for homebrew, so we can keep it stubbed out for the time being
2021-05-24 15:07:47 +10:00
bunnei
9d19382daf
hle: kernel: service_thread: Take reference to KServerSession on service request.
2021-05-20 22:39:44 -07:00
bunnei
ea851aaeb8
hle: kernel: k_port: Use AcceptSession to ensure SessionList state is correct.
...
- Fixes a use-after-free, work-around until we fixup session/port management.
2021-05-20 21:41:52 -07:00
bunnei
227f9e5ab2
hle: kernel: Use host memory allocations for KSlabMemory.
...
- There are some issues with the current workaround, we will just use host memory until we have a complete kernel memory implementation.
2021-05-20 21:41:52 -07:00
bunnei
78853f888a
Revert "WORKAROUND: Do not use slab heap while we track down issues with resource management."
...
This reverts commit bb77b5d79f .
2021-05-20 21:41:52 -07:00
bunnei
14f50729e2
hle: kernel: hle_ipc: Simplify incoming/outgoing move/copy/domain objects.
2021-05-20 21:41:52 -07:00
bunnei
6e3c9d2b06
hle: kernel: Implement CloneCurrentObject and improve session management.
2021-05-20 21:41:49 -07:00
bunnei
7b1c7a5e6a
Revert "WORKAROUND: temp. disable session resource limits while we work out issues"
...
This reverts commit 627eaf8c0e .
2021-05-20 21:40:30 -07:00
bunnei
53526d2c14
Merge pull request #6320 from Morph1984/get-pid
...
hle_ipc: Add a getter for PID
2021-05-20 21:40:03 -07:00
bunnei
e1da49973d
Merge pull request #6321 from lat9nq/per-game-cpu
...
configuration: Add CPU tab to game properties and slight per-game settings rework
2021-05-20 20:10:56 -07:00
bunnei
d1168fc5d8
Merge pull request #6317 from ameerj/fps-fix
...
perf_stats: Rework FPS counter to be more accurate
2021-05-18 19:56:29 -07:00
Morph
bf87c33d40
KTransferMemory: Return size instead of size * PageSize in GetSize()
...
size is already the size in bytes. We do not need to multiply it by the page size
2021-05-18 13:14:28 -04:00
Lioncash
44e1952216
hid/gesture: Factor out last gesture retrieval into its own function
...
Deduplicates a commonly repeated expression.
2021-05-18 03:59:44 -04:00
Lioncash
4eb73ab98a
hid/gesture: Ensure all ID arrays are initialized
...
Makes for deterministic initial state.
2021-05-18 03:39:21 -04:00
Lioncash
359b12ece1
hid/gesture: Make Point a template
...
We can now use this in a generic context to reuse it with the finger
position.
2021-05-18 03:39:18 -04:00
Lioncash
83a444ddf7
hid/gesture: Replace x,y members of GestureState with a Point
...
Simplifies assignments.
2021-05-18 03:32:42 -04:00
Lioncash
ea1cb30004
hid/gesture: Add default comparators to Point
...
Simplifies some comparisons.
2021-05-18 03:32:42 -04:00
Lioncash
861039484d
hid/gesture: Rename Points to Point
...
This only represents a single point
2021-05-18 03:32:38 -04:00
lat9nq
d6c9f6acc5
general: Demote custom_rtc to regular setting
2021-05-17 15:54:30 -04:00
bunnei
baa0060cd7
Merge pull request #6319 from Morph1984/no-install-base
...
main: Prevent installing base titles into NAND
2021-05-16 16:33:33 -07:00
bunnei
91cae39587
Merge pull request #6284 from ameerj/shantae-fix
...
nvflinger: Create layers when they are queried but not found
2021-05-16 01:45:14 -07:00
bunnei
1e40ee003f
Merge pull request #6296 from lioncash/shadow-error
...
core: Make variable shadowing a compile-time error
2021-05-16 01:35:46 -07:00
bunnei
eaac594117
Merge pull request #6307 from Morph1984/fix-response-push-size
...
nifm, ssl: Fix incorrect response sizes
2021-05-16 01:32:04 -07:00
Morph
c3bb08ad31
main: Prevent installing base titles into NAND
...
Many users have been installing their base titles into NAND instead of adding them into the games list. This prevents users from installing any base titles and warns the user about the action.
2021-05-16 04:13:57 -04:00
Morph
c4f16c8e14
hle_ipc: unsigned -> u32
...
This is more concise and consistent with the rest of the codebase.
2021-05-16 04:11:00 -04:00
Morph
29ce6e48ed
hle_ipc: Add a getter for PID
2021-05-16 04:10:42 -04:00
Lioncash
eeae5217ba
core: Make variable shadowing a compile-time error
...
Now that we have most of core free of shadowing, we can enable the
warning as an error to catch anything that may be remaining and also
eliminate this class of logic bug entirely.
2021-05-16 03:43:16 -04:00
bunnei
10ef4a9142
Merge pull request #6299 from bunnei/ipc-improvements
...
Various improvements to IPC and session management
2021-05-15 22:30:21 -07:00
Morph
0fdff05afa
nifm, ssl: Fix incorrect response sizes
2021-05-16 00:20:48 -04:00
lat9nq
065b3eb53a
general: Make CPU accuracy and related a Settings::Setting
...
Required to make CPU accuracy and unsafe settings available to use as a
per-game setting.
2021-05-15 20:46:48 -04:00
ameerj
453e90ef6f
perf_stats: Rework FPS counter to be more accurate
...
The FPS counter was based on metrics in the nvdisp swapbuffers call. This metric would be accurate if the gpu thread/renderer were synchronous with the nvdisp service, but that's no longer the case.
This commit moves the frame counting responsibility onto the concrete renderers after their frame draw calls. Resulting in more meaningful metrics.
The displayed FPS is now made up of the average framerate between the previous and most recent update, in order to avoid distracting FPS counter updates when framerate is oscillating between close values.
The status bar update frequency was also changed from 2 seconds to 500ms.
2021-05-15 20:34:20 -04:00
Morph
46f773ad5c
ssl: Stub Import(Client/Server)Pki
...
- Used in JUMP FORCE Deluxe Edition
2021-05-12 21:04:13 -04:00
Morph
27c2d51a53
Merge pull request #6267 from german77/gestureRewrite
...
hid: Improve hardware accuracy of gestures
2021-05-12 09:17:23 -04:00
bunnei
006a51c86b
hle: kernel: hle_ipc: Fix outgoing IPC response size calculation.
2021-05-11 12:27:43 -07:00
bunnei
627eaf8c0e
WORKAROUND: temp. disable session resource limits while we work out issues
2021-05-11 10:51:39 -07:00
bunnei
bb77b5d79f
WORKAROUND: Do not use slab heap while we track down issues with resource management.
2021-05-11 10:27:18 -07:00
bunnei
2a7b1c1424
audren
2021-05-11 10:24:53 -07:00
bunnei
a21dff4980
core: hle: ipc_helpers: Fix cast on raw_data_size calculation.
2021-05-10 20:34:38 -07:00
bunnei
1c07b56283
hle: service: sm: Add TIPC support.
...
- Fixes our error checking of names as well.
2021-05-10 20:34:38 -07:00
bunnei
232102c794
hle: kernel: hle_ipc: Improve IPC code and add initial support for TIPC.
...
- Fixes our move handles implementation to actually move objects.
- Simplifies the traditional IPC path.
2021-05-10 20:34:38 -07:00
bunnei
0f3b6928ab
hle: service: sm: GetService: Reserve session resource when we create a KSession.
2021-05-10 20:34:38 -07:00
bunnei
fe91306d87
hle: service: Add support for dispatching TIPC requests.
2021-05-10 20:34:38 -07:00
bunnei
80d920e464
hle: service: Implement IPC::CommandType::Close.
...
- This was not actually closing sessions before.
2021-05-10 20:34:38 -07:00
bunnei
e9d3612085
hle: service: sm: Use RegisterNamedService to register the service.
2021-05-10 20:34:38 -07:00
bunnei
11413d71ad
hle: service: sm: Improve Initialize implementation.
2021-05-10 20:34:38 -07:00
bunnei
6e284d951b
hle: kernel: svc: Update ConnectToNamedPort to use new CreateNamedServicePort interface.
2021-05-10 20:34:38 -07:00
bunnei
777e7c52ba
hle: kernel: Implement named service ports using service interface factory.
...
- This allows us to create a new interface each time ConnectToNamedPort is called, removing the assumption that these are static.
2021-05-10 20:34:38 -07:00
bunnei
14e52144e2
hle: kernel: KSession: Improve implementation of CloneCurrentObject.
2021-05-10 20:33:53 -07:00
bunnei
1e211a1b15
hle: service: sm: Increase point buffer size.
2021-05-10 15:43:42 -07:00
bunnei
66c7c7e5ab
hle: ipc_helpers: Reserve session resource when we create a KSession.
2021-05-10 15:42:46 -07:00
bunnei
2c9d6156d2
hle: kernel: KClientPort: Cleanup comment format.
2021-05-10 15:41:46 -07:00
bunnei
29a31e30db
hle: ipc: Add declarations for TIPC.
2021-05-10 15:05:10 -07:00
bunnei
4a781928dd
hle: kernel: Further cleanup and add TIPC helpers.
2021-05-10 15:05:10 -07:00
bunnei
ae86003503
hle: ipc_helpers: Update IPC response generation for TIPC.
2021-05-10 15:05:10 -07:00
bunnei
6997b030b1
Merge pull request #6291 from lioncash/kern-shadow
...
kernel: Eliminate variable shadowing
2021-05-09 20:15:00 -07:00
german77
1b8951c31b
kernel: Delete unused files
2021-05-09 11:15:31 -05:00
Lioncash
e019da0487
kernel: Eliminate variable shadowing
...
Now that the large kernel refactor is merged, we can eliminate the
remaining variable shadowing cases.
2021-05-08 12:33:26 -04:00
bunnei
80460d421e
Merge pull request #6266 from bunnei/kautoobject-refactor
...
Kernel Rework: Migrate kernel objects to KAutoObject
2021-05-07 23:30:17 -07:00
bunnei
e75a9872ea
Merge pull request #6287 from lioncash/ldr-copy
...
ldr: Simplify memory copy within LoadNro()
2021-05-07 09:46:31 -07:00
Lioncash
6890201733
ldr: Simplify memory copy within LoadNro()
...
We can use the dedicated memory function for performing copies instead
of reading into a temporary buffer and then immediately writing it back
out to memory.
Eliminates a bit of heap memory churn.
2021-05-06 19:18:14 -04:00
ameerj
16528cb361
nvflinger: Create layers when they are queried but not found
...
Fixes Shantae softlock on boot.
2021-05-06 11:20:52 -04:00
bunnei
afdbfb884c
hle: kernel: KPageTable: CanContain should not be constexpr.
2021-05-05 16:40:55 -07:00
bunnei
14cb6883db
hle: kernel: Move slab resource counts to Kernel.
2021-05-05 16:40:54 -07:00
bunnei
720906d0a5
fixup! hle: kernel: Migrate KSharedMemory to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
37338198be
fixup! hle: kernel: Migrate more of KThread to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
636dd1917e
fixup! hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
2021-05-05 16:40:54 -07:00
bunnei
0cbeafef3e
fixup! hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
2021-05-05 16:40:54 -07:00
bunnei
4ebb8f0dfe
kernel: svc: Remove unused RetrieveResourceLimitValue function.
2021-05-05 16:40:54 -07:00
bunnei
89966df98c
hle: kernel: Fix un/sign mismatch errors with NUM_CPU_CORES.
2021-05-05 16:40:54 -07:00
bunnei
fd11e0722b
fixup! hle: kernel: Add initial impl. of slab setup.
2021-05-05 16:40:54 -07:00
bunnei
7341a973df
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:54 -07:00
bunnei
464b640058
fixup! hle: kernel: Migrate more of KThread to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
3fa3fa47e5
fixup! hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
a50cc0c3f8
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:54 -07:00
bunnei
9536ae2f2e
fixup! hle: kernel: Add initial impl. of KLinkedList.
2021-05-05 16:40:54 -07:00
bunnei
a4fc003902
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:54 -07:00
bunnei
8ea927fb3b
fixup! hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
2021-05-05 16:40:54 -07:00
bunnei
0dfa7a1417
fixup! hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
dc0abc7315
fixup! hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
e04364fcf4
fixup! hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
a257c4971d
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:53 -07:00
bunnei
2a28e9e465
fixup! hle: kernel: Add initial impl. of KAutoObjectWithListContainer.
2021-05-05 16:40:53 -07:00
bunnei
adcfeee40f
fixup! hle: kernel: Add initial impl. of KAutoObjectWithListContainer.
2021-05-05 16:40:53 -07:00
bunnei
5786975b49
fixup! hle: kernel: Add initial impl. of KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
335794e7ec
fixup! hle: kernel: Add initial impl. of KAutoObject.
2021-05-05 16:40:53 -07:00
bunnei
05522ebecb
fixup! hle: kernel: Add initial impl. of slab setup.
2021-05-05 16:40:53 -07:00
bunnei
5b894b28d6
common: Rename NON_COPYABLE/NON_MOVABLE with YUZU_ prefix.
2021-05-05 16:40:53 -07:00
bunnei
4149670ee8
fixup! hle: kernel: Rename Process to KProcess.
2021-05-05 16:40:53 -07:00
bunnei
66d9f319ba
fixup! hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:53 -07:00
bunnei
77850c6c56
fixup! hle: kernel: Improve MapSharedMemory and implement UnmapSharedMemory.
2021-05-05 16:40:53 -07:00
bunnei
4c54ffc1f6
hle: kernel: svc: ConnectToNamedPort: Use KHandleTable::Reserve.
2021-05-05 16:40:53 -07:00
bunnei
47224d3864
hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:53 -07:00
bunnei
4054c8dd2c
hle: kernel: KClassToken: Ensure class tokens are correct.
2021-05-05 16:40:53 -07:00
bunnei
95fbbf3041
hle: kernel: Improve MapSharedMemory and implement UnmapSharedMemory.
2021-05-05 16:40:52 -07:00
bunnei
ad048de3d6
hle: kernel: Rename Process to KProcess.
2021-05-05 16:40:52 -07:00
bunnei
796dddf78f
hle: kernel: Remove deprecated Object class.
2021-05-05 16:40:52 -07:00
bunnei
90e23002fa
hle: kernel: Do not shutdown twice on emulator close.
2021-05-05 16:40:52 -07:00
bunnei
44c8d9206c
hle: kernel: Cleanup shutdown of persistent kernel objects.
2021-05-05 16:40:52 -07:00
bunnei
d6844cf75f
hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
2bc45b4a13
hle: kernel: Migrate KServerPort to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
9f1abd8188
hle: kernel: Migrate KClientPort to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
944eb14d69
hle: kernel: HandleTable: Remove deprecated APIs.
2021-05-05 16:40:52 -07:00
bunnei
22a67a4627
hle: kernel: Migrate KResourceLimit to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
d4b1153e1b
hle: kernel: svc: Migrate WaitSynchronization.
2021-05-05 16:40:51 -07:00
bunnei
3a07aeba02
hle: kernel: svc: Use new handle table API for Process.
2021-05-05 16:40:51 -07:00
bunnei
bf274faa22
hle: kernel: Migrate KTransferMemory to KAutoObject.
2021-05-05 16:40:51 -07:00
bunnei
83b96b7264
hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
2021-05-05 16:40:51 -07:00
bunnei
7d0ee9a1b1
hle: kernel: svc: Migrate GetThreadContext, GetThreadCoreMask.
2021-05-05 16:40:51 -07:00
bunnei
98ea7b9b50
hle: kernel: svc: Migrate GetProcessId, CancelSynchronization, SetThreadActivity.
2021-05-05 16:40:51 -07:00
bunnei
7e716f100d
hle: kernel: KThread: Remove incorrect resource release.
2021-05-05 16:40:51 -07:00
bunnei
b6c0ce8781
hle: kernel: svc_results: Update naming..
2021-05-05 16:40:51 -07:00
bunnei
635fc8bda3
hle: kernel: KThread: Add missing resource hint release.
2021-05-05 16:40:51 -07:00
bunnei
617803fb5d
hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.
2021-05-05 16:40:51 -07:00
bunnei
6a42358706
hle: ipc_helpers: Add methods for copy/move references.
2021-05-05 16:40:51 -07:00
bunnei
a317bad4ce
hle: kernel: Move slab heaps to their own container.
2021-05-05 16:40:51 -07:00
bunnei
715978756e
hle: kernel: Refactor several threads/events/sharedmemory to use slab heaps.
2021-05-05 16:40:51 -07:00
bunnei
2cb4c9d7b2
hle: kernel: Move slab heap management to KernelCore.
2021-05-05 16:40:51 -07:00
bunnei
9f82c577d0
hle: kernel: Ensure all kernel objects with KAutoObject are properly created.
2021-05-05 16:40:51 -07:00
bunnei
986245ba10
hle: kernel: Use unique_ptr for suspend and dummy threads.
2021-05-05 16:40:50 -07:00
bunnei
949231d69c
hle: kernel: Migrate KEvent to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
11f9080d2e
hle: kernel: Migrate KSharedMemory to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
7a6bfbde24
hle: kernel: Migrate KProcess to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
8b224f05c9
hle: kernel: Refactor IPC interfaces to not use std::shared_ptr.
2021-05-05 16:40:50 -07:00
bunnei
a4a27a1ef2
hle: kernel: Migrate more of KThread to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
746f99e919
hle: kernel: svc: Migrate GetThreadPriority, StartThread, and ExitThread.
2021-05-05 16:40:50 -07:00
bunnei
ac779a83fc
hle: kernel: svc: Migrate CreateThread.
2021-05-05 16:40:50 -07:00
bunnei
773580b9f7
hle: kernel: Migrate idle threads.
2021-05-05 16:40:50 -07:00
bunnei
2125abf6d9
hle: kernel: Migrate KThread to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
d602286355
hle: kernel: Add initial impl. of slab setup.
2021-05-05 16:40:50 -07:00
bunnei
07939c59a6
hle: kernel: Refactor out various KThread std::shared_ptr usage.
2021-05-05 16:40:50 -07:00
bunnei
0cff50a7b5
core: Defer CoreTiming initialization.
2021-05-05 16:40:50 -07:00
bunnei
4aebdea6cf
core: memory: Add a work-around to allocate and access kernel memory regions by vaddr.
2021-05-05 16:40:50 -07:00
bunnei
d2817d3d9b
hle: kernel: Add initial impl. of KLinkedList.
2021-05-05 16:40:49 -07:00
bunnei
db53115ed2
hle: kernel: Add initial impl. of KSlabAllocated.
2021-05-05 16:40:49 -07:00
bunnei
a7271e7c71
hle: kernel: Add initial impl. of KAutoObjectWithListContainer.
2021-05-05 16:40:49 -07:00
bunnei
7b7a948b80
hle: kernel: Add initial impl. of KAutoObject.
2021-05-05 16:40:49 -07:00
bunnei
9a4f071b44
Merge pull request #6279 from ogniK5377/nvhost-prof
...
nvdrv: /dev/nvhost-prof-gpu for production
2021-05-05 16:16:13 -07:00
bunnei
145567ab66
Update src/core/hle/service/nvdrv/interface.cpp
...
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-05-05 16:16:02 -07:00
german77
0ea00daa81
hid: Improve hardware accuracy of gestures
2021-05-05 10:13:09 -05:00
Lioncash
11518e5df6
service: Remove unused class variables
...
Prevents some warnings from occurring.
2021-05-05 01:32:28 -04:00
Lioncash
15daa2cecd
service: Resolve cases of member field shadowing
...
Now all that remains is for kernel code to be 'shadow-free' and then
-Wshadow can be turned into an error.
2021-05-04 04:38:38 -04:00
bunnei
0dc6b408ac
Merge pull request #6278 from lioncash/misc-shadow
...
core: Resolve misc straggler cases of variable shadowing
2021-05-03 16:04:28 -07:00
Lioncash
84b656fbbd
core: Resolve misc cases of variable shadowing
...
Resolves shadowing warnings that aren't in a particularly large
subsection of core. Brings us closer to turning -Wshadow into an error.
All that remains now is for cases in the kernel (left untouched for now
since a big change by bunnei is pending), and a few left over in the
service code (will be tackled next).
2021-05-03 01:19:13 -04:00
Chloe Marcec
da763391dc
nvdrv: /dev/nvhost-prof-gpu for production
...
While we're at it, we can fix the is_initialized error code.
This fixes the crashes on Shante
2021-05-03 14:39:03 +10:00
german77
86f0502456
hid: Fix touch not initializing properly if disabled
2021-05-02 21:27:15 -05:00
bunnei
887972a91b
Merge pull request #6269 from lioncash/file-shadow
...
file_sys: Resolve cases of variable shadowing
2021-05-02 15:12:07 -07:00
bunnei
8463047aa7
Merge pull request #6265 from Morph1984/snap-save-fix
...
service: filesystem: Return proper error codes for CreateFile
2021-05-02 00:45:18 -07:00
Lioncash
ab38371888
file_sys: Resolve cases of variable shadowing
...
Brings us closer to enabling -Wshadow as an error in the core code.
2021-05-02 02:59:57 -04:00
Morph
eb59a33d4e
service: filesystem: Return proper error codes for CreateFile
...
This improves the accuracy of CreateFile by returning the correct error codes on certain conditions (parent directory does not exist, path already exists).
This fixes saving and the loading of existing saves in New Pokemon Snap
2021-05-01 09:33:00 -04:00
german77
e367b3a557
Disable touch if setting is not enabled
2021-04-30 19:28:21 -05:00
bunnei
305bb0cf42
Merge pull request #6257 from Morph1984/fix-use-after-free-webapplet
...
applets/web: Fix a use-after-free when passing in the URL string
2021-04-30 14:48:32 -07:00
bunnei
094926f8b9
Merge pull request #6226 from german77/sevensix
...
hid: Implement SevenSixAxis and ConsoleSixAxisSensor
2021-04-29 22:06:57 -07:00
Morph
d93fa45cf8
applets/web: Fix a use-after-free when passing in the URL string
...
The URL string was being deleted before being used, leading to a use-after-free occurring when it is used afterwards.
Fix this by taking the string by const ref to extend its lifetime, ensuring it doesn't get deleted before use.
2021-04-28 12:34:28 -04:00
Lioncash
41c7ce33b6
loader: Resolve instances of variable shadowing
...
Eliminates variable shadowing cases across all the loaders to bring us
closer to enabling variable shadowing as an error in core.
2021-04-27 12:48:15 -04:00
german77
b91b81a2a3
address comments
2021-04-26 22:07:16 -05:00
Lioncash
b25f44f4d7
service: Eliminate cases of member shadowing
...
Resolves a few localized instances of member variable shadowing. Brings
us a little closer to turning shadowing warnings into errors.
2021-04-26 09:39:49 -04:00
ameerj
de494b30d4
nvhost_vic: Fix device closure
...
Implements the OnClose method of the nvhost_vic device, and removes the remnants of an older implementation.
Also cleans up some of the surrounding code.
2021-04-24 19:22:09 -04:00
Mat M
dd3655702d
Merge pull request #6234 from Morph1984/stub-am
...
ICommonStateGetter: Stub SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled
2021-04-24 12:37:34 -04:00
Mat M
5a8ddc5c16
Merge pull request #6235 from german77/ectx_aw
...
glue: Add ectx:aw service placeholder
2021-04-24 12:37:12 -04:00
german77
9ceb9df088
glue: Add ectx:aw placeholder
2021-04-24 10:50:25 -05:00
bunnei
7f2b5d4e83
Merge pull request #6230 from Morph1984/default-resource-size
...
program_metadata: Set a default resource size when a NPDM is not present
2021-04-24 02:55:20 -07:00
bunnei
0ecae06ce6
Merge pull request #6227 from lioncash/meta
...
program_metadata: Explicitly specify copy/move operators/functions
2021-04-23 23:12:44 -07:00
german77
c8845b4fdf
hid: Implement SevenSixAxis and ConsoleSixAxisSensor
2021-04-23 22:12:41 -05:00
Morph
7835a7370f
ICommonStateGetter: Stub SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled
...
- Used by Pixel Game Maker Series Werewolf Princess Kaguya
2021-04-23 23:04:22 -04:00
bunnei
e4c5b365d5
Merge pull request #6228 from lioncash/semi
...
lm: Resolve -Wextra-semi warning
2021-04-23 19:59:20 -07:00
bunnei
1903c126dc
Merge pull request #6229 from lioncash/unused-var
...
acc/lbl: Remove unused variables
2021-04-23 15:48:47 -07:00
bunnei
8c0d8b486e
Merge pull request #6231 from lioncash/aes
...
aes_util: Make use of std::span
2021-04-23 11:37:17 -07:00
Morph
0357607044
program_metadata: Set a default resource size when a NPDM is not present
...
Sets a default size of 0x1FE00000 bytes (510 MiB) for the system_resource_size when a NPDM is not present.
2021-04-23 12:47:31 -04:00
bunnei
97673232fd
Merge pull request #6232 from lioncash/alias2
...
emu_window: unsigned -> u32
2021-04-23 09:26:56 -07:00
Lioncash
e19906c9b6
emu_window: Return pair from ClipToTouchScreen() instead of tuple
...
This is only a 2-tuple, so it can be converted over to the std::pair
class.
2021-04-23 11:21:02 -04:00
Lioncash
19caa4ffd2
emu_window: unsigned -> u32
...
This is more concise and consistent with the rest of the codebase.
2021-04-23 11:19:32 -04:00
Lioncash
72481cce94
aes_util: Make use of std::span
...
Allows us to simplify the interface quite a bit as it will handle
contiguous sequences for us.
2021-04-23 09:58:41 -04:00
Lioncash
5bc631a7c5
acc/lbl: Remove unused variables
2021-04-23 09:39:56 -04:00
Lioncash
61f25f6eff
lm: Make use of insert_or_assign() in Log()
...
Avoids unnecessary default construction of an entry in cases where no
entry exists before overwriting the created entry.
2021-04-23 09:27:18 -04:00
Lioncash
0b535a371f
lm: Prevent redundant map lookups in Log()
...
We can perform the lookup and then do the contains check by checking the
end iterator. The benefit of this is that if we *do* find an entry, then
we aren't hashing into the map again to find it.
We can also get rid of an unused std::vector temporary while we're at
it.
2021-04-23 09:24:21 -04:00
Lioncash
d9917dd09c
lm: Resolve -Wextra-semi warning
...
Resolves a trivial warning with clang.
2021-04-23 09:20:54 -04:00
Lioncash
596e303d7b
program_metadata: Explicitly specify copy/move functions
...
The generation of the copy assignment operators are deprecated on being
generated when a user-provided destructor is present.
We can explicitly specify that we desire this behavior to keep the class
forward compatible with future standards.
2021-04-23 09:16:17 -04:00
Morph
9c8242ed3f
service: hid: Get transfer memory for InitializeSevenSixAxisSensor
2021-04-22 05:50:46 -04:00
bunnei
9e35805ac8
Merge pull request #6214 from Morph1984/time-fix-kirby-clash
...
time: Fix GetClockSnapshotFromSystemClockContext
2021-04-21 11:17:58 -07:00
bunnei
ad0eac28a8
Merge pull request #6217 from Morph1984/consistent-writebuffers
...
general: Write buffers before pushing raw arguments
2021-04-19 20:54:25 -07:00
bunnei
2287809736
Merge pull request #6215 from lioncash/duplicate
...
npad: Remove duplicated class member variable
2021-04-19 18:12:48 -07:00
Morph
91aadc6484
general: Write buffers before pushing raw arguments
...
For consistency with the rest of the service implementations
2021-04-19 12:45:50 -04:00
Lioncash
4874031e26
arp: Use type alias for issue function
...
Reduces some verbosity and centralizes the function details in one spot.
2021-04-19 12:36:10 -04:00
Lioncash
712a4960a5
arp: Prevent uninitialized read of launch member variable
...
If anything happened to call arp functions in the wrong order and called
IRegistrar's Issue function before SetApplicationLaunchProperty, we'd
read from an uninitialized ApplicationLaunchProperty instance.
Instead, we can always initialize it so if this does happen, then the
outcome of doing such a thing is at least consistently reproducible.
2021-04-19 12:30:34 -04:00
Lioncash
6a68568356
npad: Remove duplicated class member variable
...
ControllerBase already has a System reference that can be accessed from
this class, so we can get rid of this to make the class layout a little
more straightforward.
2021-04-19 12:23:28 -04:00
Morph
bebb8afcbf
time: Write buffer before pushing RESULT_SUCCESS in GetClockSnapshot
2021-04-19 12:09:28 -04:00
Morph
b8a414cea0
time: Fix GetClockSnapshotFromSystemClockContext
...
This removes an incorrect alignment usage and corrects the positions of the popped parameters.
- Fixes Super Kirby Clash crashing on boot
2021-04-19 11:17:47 -04:00
Morph
c46a12cd4e
applets: Send focus state change message on applet state change
...
Fixes the softlock after the controller applet exits in Mario Kart 8 Deluxe.
2021-04-17 09:26:48 -04:00
Morph
defdb91b37
applets: Make the applet mode a protected property of Applet
2021-04-17 08:50:49 -04:00
bunnei
513b946494
Merge pull request #6125 from ogniK5377/nvdec-close-dev
...
nvdrv: Cleanup CDMA Processor on device closure
2021-04-16 23:14:44 -07:00
Morph
18770b0865
input_interpreter: Fix button hold being interpreted incorrectly on init
...
We reset all the button states to 0 except the first index (which has all the buttons as pressed) to prevent a button hold being interpreted as a button that was pressed once on the first poll.
2021-04-15 01:53:17 -04:00
Morph
01190506e8
applets/swkbd: Implement the Default Software Keyboard frontend
2021-04-15 01:53:17 -04:00
Morph
c4885be3c2
applets/swkbd: Implement the Normal and Inline Software Keyboard Applet
2021-04-15 01:53:17 -04:00
Morph
957dfba645
ILibraryAppletCreator: Implement CreateHandleStorage
...
Used by Monster Hunter Generations Ultimate
2021-04-15 01:53:16 -04:00
Morph
e1702e2844
hle_ipc: Add helper functions to get copy/move handles
2021-04-15 01:53:16 -04:00
Morph
169b40049c
ILibraryAppletAccessor: Demote from ERROR to DEBUG for null storage logs
...
Avoids unnecessary console spam when the inline software keyboard is used.
2021-04-15 01:53:16 -04:00
Morph
b04f94e80f
applets: Pass in the LibraryAppletMode each applet's constructor
2021-04-15 01:53:16 -04:00
Morph
ac87713cb8
applets: Remove the previous software keyboard applet implementation
2021-04-15 01:53:16 -04:00
bunnei
1138528a2e
Merge pull request #6196 from bunnei/asserts-setting
...
core: settings: Add setting for debug assertions and disable by default.
2021-04-14 17:47:18 -07:00
bunnei
7a76bc30fa
common: Move settings to common from core.
...
- Removes a dependency on core and input_common from common.
2021-04-14 16:24:03 -07:00
bunnei
e7800fb6ff
core: settings: Add setting for debug assertions and disable by default.
...
- This is a developer-only setting and no longer needs to be enabled by default.
- Also adds "use_auto_stub" setting to SDL frontend while we are here.
- Supersedes #1340 .
2021-04-14 16:24:02 -07:00
ameerj
931ef0f8a3
k_resource_limit: Minor cleanup of member variables/headers
2021-04-14 00:40:33 -04:00
bunnei
a933bceca3
Merge pull request #6185 from ameerj/process-reslimit
...
kernel/process: Replace process resource limit instance with the kernel's resource limit
2021-04-13 21:08:59 -07:00
ameerj
575eb4f156
kernel/process: Replace process resource limit instance with the kernel's resource limit
...
This commit addresses the inaccurate behavior of kernel processes creating their own resource limit, rather than utilizing the kernel's system-wide resource limit instance.
2021-04-12 16:14:19 -04:00
Lioncash
a49970f85a
k_thread: Remove [[nodiscard]] attribute from ClearWaitCancelled()
...
This function has a void return value, so this attribute doesn't apply
to it.
2021-04-12 10:17:38 -04:00
bunnei
313e070bc9
Merge pull request #6135 from Morph1984/borderless-windowed-fullscreen
...
configure_graphics: Add Borderless Windowed fullscreen mode
2021-04-11 21:23:59 -07:00
bunnei
da37f40047
Merge pull request #6170 from Morph1984/more-time-fixes
...
service: time: Setup the network clock with the local clock context
2021-04-11 10:50:08 -07:00
bunnei
ee383f72c8
Merge pull request #6167 from Morph1984/time-fix
...
service: time: Fix CalculateStandardUserSystemClockDifferenceByUser
2021-04-10 22:11:53 -07:00
bunnei
9d566aa0f3
Merge pull request #6112 from ogniK5377/pctl
...
pctl: Rework how pctl works to be more accurate
2021-04-10 21:09:54 -07:00
bunnei
85a012115b
Merge pull request #6172 from degasus/cmake_opus
...
externals: Search for shared opus installation.
2021-04-10 02:27:02 -07:00
bunnei
aee4fd29c9
Merge pull request #6099 from bunnei/derive-mem
...
Kernel Rework: Derive memory regions from board layout.
2021-04-10 00:02:52 -07:00
bunnei
7011ae1358
Merge pull request #6171 from german77/services
...
service: Update service function tables and use proper names
2021-04-09 22:47:34 -07:00
bunnei
9e80ed0809
Merge pull request #6156 from lioncash/lock-discard
...
kernel: Mark lock helper classes as [[nodiscard]]
2021-04-09 21:42:26 -07:00
bunnei
002c82fe84
Merge pull request #6113 from german77/playhistory
...
Friend: Stub GetPlayHistoryRegistrationKey
2021-04-09 20:50:13 -07:00
bunnei
888de61586
Merge pull request #6158 from german77/hidServiceTables
...
hid: Update service function tables
2021-04-09 16:10:06 -07:00
bunnei
43a5590457
Merge pull request #6162 from degasus/no_spin_loops
...
video_core: Avoid spin loops.
2021-04-09 11:52:18 -07:00
Morph
ffe138c59f
ns: Update to 12.x
2021-04-09 00:49:47 -04:00
Morph
3abe1c588a
aoc_u: Update to 12.x
2021-04-09 00:49:47 -04:00
Morph
992661e1f3
nim: Update to 12.x
2021-04-09 00:49:47 -04:00
Morph
2b9c5d0621
npns: Update to 12.x
2021-04-09 00:49:47 -04:00
Morph
6e9d0a685b
bgtc: Update to 12.x and implement OpenTaskService
2021-04-09 00:49:47 -04:00
Morph
cbc35097e3
vi: Update to 12.x
2021-04-09 00:49:47 -04:00
Morph
b29271ae6d
erpt: Update to 12.x
2021-04-09 00:49:46 -04:00
Morph
05af8f0000
btm: Update to 12.x
2021-04-09 00:49:46 -04:00
Morph
2f151af4f0
btdrv: Update to 12.x
2021-04-09 00:49:46 -04:00
bunnei
670bc84c9b
Merge pull request #6168 from Morph1984/stub-SetNpadAnalogStickUseCenterClamp
...
service: hid: Stub SetAnalogStickUseCenterClamp
2021-04-08 21:16:47 -07:00
german77
300c81b115
wlan: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
588f5a4f1f
usb: Use proper names
2021-04-08 19:40:25 -06:00
german77
cf80875206
ITimeZoneService: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
22c37e9111
spl: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
37146ca67f
sfdnsres: Use proper names
2021-04-08 19:40:25 -06:00
german77
be739f5597
nsd: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
e7d53ce3f6
ethc: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
372e5e2a6a
sm: Use proper names, update to 12.x
2021-04-08 19:40:25 -06:00
german77
b2c16ff5c8
set_sys: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
7da85dacb4
pctl_module: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
3507d0d436
pcie: Use proper names
2021-04-08 19:40:25 -06:00
german77
1cb7a75d09
olsc: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
d079fcb9bf
pl_u: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
da6fd04f92
ldr: Use proper names
2021-04-08 19:40:25 -06:00
german77
b899d15111
arp: Use proper names, update to 12.x
2021-04-08 19:40:25 -06:00
german77
0a1517a771
caps_u: Update to 12.x
2021-04-08 19:40:25 -06:00
german77
315ab28dcd
caps_a: Update to 12.x
2021-04-08 19:40:24 -06:00
german77
640a637105
bpc: Use proper names
2021-04-08 19:40:24 -06:00
german77
2a3b345ef9
bcat_module: Update to 12.x
2021-04-08 19:40:24 -06:00
german77
8036ca4fbb
codecctl: Use proper names
2021-04-08 19:40:24 -06:00
german77
1519c55628
audren_u: Use proper names
2021-04-08 19:40:24 -06:00
german77
0ca06b28d4
audren_a: Use proper names
2021-04-08 19:40:24 -06:00
german77
9b1779049d
audrec_u: Use proper names, update to 12.x
2021-04-08 19:40:24 -06:00
german77
05901c6249
audrec_a: Use proper names
2021-04-08 19:40:24 -06:00
german77
68ffa689ef
audout_u: Use proper names
2021-04-08 19:40:24 -06:00
german77
738c801cab
audout_a: Use proper names
2021-04-08 19:40:24 -06:00
german77
b4837eae0e
audin_u: Use proper names
2021-04-08 19:40:24 -06:00
german77
2c78946a1f
audin_a: Use proper names
2021-04-08 19:40:24 -06:00
bunnei
f82684b920
Merge pull request #6155 from ameerj/kernel-12-rescnt
...
kernel: Increase event and session counts
2021-04-08 18:21:00 -07:00
bunnei
a1689d896d
Merge pull request #6157 from Morph1984/am-update-12.x
...
service: am: Update service function tables
2021-04-08 16:37:59 -07:00
bunnei
c6fe54ec26
Merge pull request #6062 from ameerj/auto-stub
...
service: Add a toggle for auto stub fallback
2021-04-08 15:32:41 -07:00
Markus Wick
2953f841dd
externals: Search for shared opus installation.
...
We had used conan for opus before, but there was a bug in the AVX detection.
However we still had the Findopus.cmake file within the repository, but not used.
This patch reenables the Findopus helper and prefer the system wide installation of opus.
2021-04-08 23:49:32 +02:00
bunnei
f90f9efda0
Merge pull request #6145 from lat9nq/nvhost_empty_memcpy
...
nvhost_nvdec_common: Avoid memcpy with null pointers
2021-04-08 13:23:05 -07:00
Morph
b5f17081d0
service: time: Setup the network clock with the local clock context
...
Setting the network time allows some time based events using the network clock to not reset.
2021-04-08 13:26:38 -04:00
bunnei
1ecfc8c501
Merge pull request #6154 from lioncash/svcrange2
...
svc: Expand SVC tables
2021-04-08 09:21:55 -07:00
Morph
19b6ca175f
service: hid: Stub SetAnalogStickUseCenterClamp
...
- Used by eBASEBALLパワフルプロ野球2020
2021-04-08 03:41:06 -04:00
bunnei
0fdb95b191
Merge pull request #6160 from Morph1984/fs-update-12.x
...
service: fs: Update service function tables
2021-04-07 20:54:42 -07:00
Morph
a2fbcd2831
service: time: Fix CalculateStandardUserSystemClockDifferenceByUser
...
CalculateStandardUserSystemClockDifferenceByUser passes in the ClockSnapshots through 2 input buffers and not as raw arguments. Fix this by reading the 2 input buffers instead of popping raw arguments.
2021-04-07 23:34:14 -04:00
bunnei
d95f1ee25d
Merge pull request #6143 from lat9nq/nvhost_null_memcpy
...
nvhost_ctrl_gpu: Avoid sending null pointer to memcpy
2021-04-07 16:50:22 -07:00
bunnei
58a4a78b03
Merge pull request #6159 from Morph1984/acc-update-12.x
...
service: acc: Update service function tables
2021-04-07 14:37:59 -07:00
Markus Wick
37ae463f9e
video_core/gpu_thread: Implement a ShutDown method.
...
This was implicitly done by `is_powered_on = false`, however the explicit method allows us to block until the GPU is actually gone.
This should fix a race condition while removing the other subsystems while the GPU is still active.
2021-04-07 22:38:52 +02:00
bunnei
0faeb989ae
Merge pull request #6153 from lioncash/svcrange
...
process_capability: Handle extended SVC range
2021-04-07 13:01:40 -07:00
Morph
8e0af1dfc7
hwopus: Update to 12.x
2021-04-07 02:57:39 -04:00
Morph
7459159160
IFile: Update to 12.x
2021-04-07 02:49:19 -04:00
Morph
919ae391b6
fsp-srv: Update to 12.x
2021-04-07 02:46:29 -04:00
Morph
80c77942b0
dauth_o: Update to 11.x
2021-04-07 02:15:55 -04:00
Morph
6bf678129e
acc_u1: Update to 12.x
2021-04-07 02:15:55 -04:00
Morph
a08f4eb309
acc_su: Update to 12.x
2021-04-07 02:15:55 -04:00
german77
db13bf47f3
hid: Update service function tables
2021-04-07 01:15:38 -05:00
Morph
7918ed83c0
ISelfController: Update to 11.x
2021-04-07 02:00:19 -04:00
Morph
147cda9523
IApplicationFunctions: Update to 11.x
2021-04-07 01:59:35 -04:00
Morph
19dd87d858
IDebugFunctions: Update to 12.x
2021-04-07 01:53:04 -04:00
Morph
502bef82a9
ICommonStateGetter: Update to 12.x
2021-04-07 01:53:04 -04:00
Morph
a0dade1318
IGlobalStateController: Update to 12.x
2021-04-07 01:53:04 -04:00
Morph
8d7f255da5
IHomeMenuFunctions: Update to 12.x
2021-04-07 01:53:04 -04:00
Lioncash
a875393fdb
Amend bizarre clang-format suggestions
2021-04-07 01:52:08 -04:00
Lioncash
1af23a44b4
k_scoped_scheduler_lock_and_sleep: Mark class as [[nodiscard]]
...
Prevents logic bugs from slipping through.
2021-04-07 01:45:04 -04:00
Lioncash
e295cb0474
k_scoped_lock: delete copy and move assignment operators
...
If we delete the copy and move constructor, we should also be deleting
the copy and move assignment operators (and even if this were intended,
it would be pretty odd to not document why it's done this way).
2021-04-07 01:25:57 -04:00
Lioncash
923efb53d7
k_scoped_lock: Mark class as [[nodiscard]]
...
Prevents logic bugs of the kind described in the previous commit from
slipping through.
2021-04-07 01:23:08 -04:00
Lioncash
cd6ea98890
k_scheduler: Mark KScopedSchedulerLock as [[nodiscard]]
...
Prevents logic bugs like:
KScopedSchedulerLock{kernel};
instead of:
KScopedSchedulerLock lk{kernel};
from slipping through.
2021-04-07 01:19:29 -04:00
ameerj
c7a0ebbba7
kernel: Increase event and session counts
...
12.x increased the number of available sessions and event resource counts
2021-04-07 01:01:05 -04:00
Lioncash
840fadc3e4
svc: Expand SVC tables
...
12.x expanded the range of SVC entries from 0x7F to 0xBF (with all new
entries being unused), so we can expand it to also match.
2021-04-07 00:55:33 -04:00
Lioncash
7737db89aa
process_capability: Handle extended SVC range
...
12.x extended the range of SVC IDs, so we need to expand the range of
bits that need to be tested.
The upside of this is that we can eliminate a range check, given the
whole range is used.
2021-04-07 00:35:49 -04:00
Morph
827c0726cc
configure_graphics: Add Borderless Windowed fullscreen mode
...
The borderless windowed fullscreen mode solves several issues with the presentation of the overlay dialogs and on-screen keyboard in exclusive fullscreen mode, and also has other benefits such as smoother gameplay, lower latency and a significant reduction in screen tearing.
Co-authored-by: Its-Rei <kupfel@gmail.com>
2021-04-06 05:58:57 -04:00
lat9nq
12adfa8953
nvhost_nvdec_common: Avoid memcpy with null pointers
...
Avoid sending null pointer to memcpy as reported by Undefined Behavious
Sanitizer.
Co-authored-by: LC <mathew1800@gmail.com>
2021-04-05 16:40:03 -04:00
lat9nq
791a89c8b0
nvhost_ctrl_gpu: Avoid sending null pointer to memcpy
...
Undefined Behaviour Sanitizer reports a null pointer is being sent to
memcpy, thought it's "guaranteed to never be null". Guard it with an if
statement, and log when the action has been averted.
2021-04-05 00:49:09 -04:00
bunnei
05b3e99a44
Merge pull request #6132 from MerryMage/code_size
...
arm_dynarmic: Increase size of code cache
2021-04-02 18:47:04 -07:00
Morph
9e5d91019c
Merge pull request #6131 from german77/rightjoyconSLSR
...
HID: Fix SL and SR buttons for right joycon
2021-04-02 15:48:04 -04:00
MerryMage
62b59f3588
arm_dynarmic: Increase size of code cache
2021-04-02 18:09:15 +01:00
german77
20af0c010f
HID: Fix SL and SR buttons for right joycon
2021-04-02 09:03:11 -05:00
bunnei
b6875a22dc
Merge pull request #6106 from MerryMage/nullptr-jit
...
[test] arm_dynarmic: Always have a 'valid' jit instance
2021-04-01 09:50:00 -07:00
Morph
33d60831da
ISelfController: Stub SetAlbumImageTakenNotificationEnabled
...
This service call sets an internal flag whether a notification is shown when an image is captured.
Currently we do not support capturing images via the capture button, so this can be stubbed for now.
2021-03-30 13:45:00 -04:00
ameerj
96fbe4f630
configuration: Add auto stub toggle that resets on boot
...
Auto-stub is an experimental debugging feature that may cause unforseen bugs. This adds a toggle to only allow auto-stubbing unimplemented functions when explicitly enabled when yuzu is launched.
2021-03-30 13:40:31 -04:00
ameerj
96bf3fa674
service: Auto stub fallback
...
For simple services we can implement an automatic stub fallback to help with compatibility until a proper implementation is done.
Co-Authored-By: Chloe <25727384+ognik5377@users.noreply.github.com>
2021-03-30 13:40:31 -04:00
Chloe Marcec
d835e6b8e8
nvdrv: Cleanup CDMA Processor on device closure
...
Brings us a step closer to unifying all channels to share a common interface.
2021-03-30 20:37:40 +11:00
Chloe Marcec
a01d4dc72c
Addressed issues
2021-03-30 20:27:27 +11:00
bunnei
9c9f9c4a41
Merge pull request #6109 from german77/gestureID
...
HID: Initialize correctly the gesture finger_id and filter invalid inputs
2021-03-29 18:00:47 -07:00
bunnei
46b99b4fd3
Merge pull request #6102 from ogniK5377/fd-pass
...
nvdrv: Pass device fd and handle device create methods for device opening and closing
2021-03-29 12:53:55 -07:00
bunnei
5ad8524139
Merge pull request #6115 from bunnei/fix-kernel-init
...
hle: kernel: Initialize preemption task after schedulers.
2021-03-28 12:13:39 -07:00
bunnei
e8dd3eca47
hle: kernel: Initialize preemption task after schedulers.
...
- Fixes a startup crash that occurs if CoreTiming tries to preempt before kernel initialization completes.
2021-03-27 10:04:13 -07:00
Morph
599ce7de46
service: friend: Change logging class from ACC to Friend
2021-03-27 11:11:07 -04:00
german77
735b294e49
Friend: Stub GetPlayHistoryRegistrationKey
2021-03-27 08:25:36 -05:00
Narr the Reg
f10bf91ef4
HID: Initialize correctly the gesture finger_id and filter invalid results
2021-03-26 11:13:18 -06:00
Chloe Marcec
f9b1e20d52
pctl: Rework how pctl works to be more accurate
...
Introduces the usage of compatibilities to allow it the module to be closer to how it works on hardware.
2021-03-27 02:03:18 +11:00
Chloe Marcec
a0ae0a6a59
nvdrv: Pass device fd and handle device create methods for device opening and closing
...
We pass the fd to the ioctl as well as alert the device when it's opened or closed to allow for fd unique actions to take place
2021-03-25 12:56:42 +11:00
bunnei
7342c3cd10
Merge pull request #6101 from ogniK5377/alloc-as-ex
...
nvdrv: Change InitializeEx to AllocAsEx
2021-03-24 17:37:01 -07:00
MerryMage
eb3ece5770
arm_dynarmic: Always have a 'valid' jit instance
2021-03-24 18:47:17 +00:00
bunnei
50cdb650af
hle: kernel: Breakup InitializeMemoryLayout.
2021-03-23 18:47:16 -07:00
bunnei
abec6f016a
hle: kernel: k_memory_region_type: Minor code cleanup.
2021-03-23 18:42:04 -07:00
bunnei
f5173e80c5
hle: kernel: k_memory_region: Minor code cleanup.
2021-03-23 18:37:39 -07:00
bunnei
9d36ad5242
hle: kernel: k_memory_layout: Use pair instead of tuple.
2021-03-23 18:35:01 -07:00
bunnei
14f631b8c3
hle: kernel: k_system_control: Remove unnecessary inline.
2021-03-23 18:33:29 -07:00
bunnei
9fe89ad30d
common: common_sizes: Move sizes to the Common namespace.
2021-03-23 18:31:46 -07:00
Chloe Marcec
98dbe81146
nvdrv: Change InitializeEx to AllocAsEx
...
Wee also report the correct "big page size" now in GetVARegions & fix up the struct for IoctlAllocAsEx
2021-03-22 19:59:30 +11:00
bunnei
9bfc12af71
hle: kernel: Merge KMemoryRegionAttr and KMemoryRegionType.
...
- Fixes clang errors with mixed enum arithmetic.
2021-03-21 15:53:21 -07:00
bunnei
dc2507fce2
hle: kernel: Remove unused variable.
2021-03-21 15:47:24 -07:00
bunnei
8517b156ae
hle: kernel: k_memory_region_type: Remove extra ".
2021-03-21 15:47:05 -07:00
bunnei
1a89de249c
core: arm_dynarmic: Ensure JIT state is saved/restored on page table changes.
...
- We re-create the JIT here without preserving any state.
2021-03-21 15:25:25 -07:00
bunnei
18c6e7e8df
hle: kernel: k_memory_layout: Move KMemoryRegionAllocator out of global.
2021-03-21 14:45:13 -07:00
bunnei
79ca47ab3a
hle: kernel: k_memory_layout: Derive memory regions based on board layout.
2021-03-21 14:45:13 -07:00
bunnei
643bc5bbc4
common: common_sizes: Move Invalid to Size_* prefix and add missing values.
2021-03-21 14:45:03 -07:00
bunnei
4387edcaa3
hle: kernel: k_memory_region: Refactor to simplify code.
2021-03-21 14:45:03 -07:00
bunnei
c59d82d4cf
hle: kernel: board: k_system_control: Extend to include memory region sizes.
2021-03-21 14:45:03 -07:00
bunnei
3eabb45a13
hle: kernel: board: Add secure_monitor module.
2021-03-21 14:45:03 -07:00
bunnei
60e9e9beb4
common: Move common sizes to their own header for code reuse.
2021-03-21 14:45:03 -07:00
bunnei
6775f9d758
hle: kernel: k_address_space_info: Cleanup.
2021-03-21 14:45:02 -07:00
bunnei
cd09055341
hle: kernel: Add k_trace module.
2021-03-21 14:45:02 -07:00
bunnei
0e413fe782
hle: kernel: KSystemControl: Update to reflect board-specific behavior.
2021-03-21 14:45:02 -07:00
bunnei
74f0ee726c
hle: kernel: KMemoryManager: Add CalculateManagementOverheadSize.
2021-03-21 14:45:02 -07:00
bunnei
693f08cd8b
hle: kernel: KMemoryManager: Add aliases.
2021-03-21 14:45:02 -07:00
bunnei
d25a181956
hle: kernel: Add architecture and board specific memory regions.
2021-03-21 14:45:02 -07:00
bunnei
0f5efc8f29
hle: kernel: KMemoryRegion: Derive region values.
2021-03-21 14:45:02 -07:00
bunnei
0aac780e5d
hle: kernel: Migrate some code from Common::SpinLock to KSpinLock.
2021-03-21 14:45:02 -07:00
bunnei
bbc5e3a0aa
hle: kernel: Add initial KMemoryRegionType module.
2021-03-21 14:45:02 -07:00
bunnei
3000ebbf08
hle: kernel: Move KMemoryRegion to its own module and update.
2021-03-21 14:45:02 -07:00
bunnei
1687d38bcb
Merge pull request #6052 from Morph1984/vi-getindirectlayerimagemap
...
IApplicationDisplayService: Stub GetIndirectLayerImageMap
2021-03-19 22:59:25 -07:00
bunnei
acdaff955a
Merge pull request #6056 from zkitX/spl-updates
...
service: Refactor spl
2021-03-18 15:49:41 -07:00
Morph
8f439416b6
IApplicationDisplayService: Stub GetIndirectLayerImageMap
...
Used by games invoking the inline software keyboard such as GNOSIA
2021-03-17 03:25:12 -04:00
bunnei
2ab99a0ad2
Merge pull request #6070 from Morph1984/sysver-11.0.1
...
system_version: Update to 11.0.1
2021-03-16 18:13:12 -07:00
Morph
41925ce526
bsd: Avoid writing empty buffers
...
Silences log spam on empty buffer writes
2021-03-16 12:50:44 -04:00
bunnei
5f98ba2d27
Merge pull request #6069 from Morph1984/ngWord
...
system_archive: Update NgWord archive version
2021-03-15 15:44:04 -07:00
Morph
ccccbf7334
system_version: Update to 11.0.1
2021-03-14 08:47:36 -04:00
Morph
05cedc499b
system_archive: Update NgWord archive version
2021-03-14 08:33:48 -04:00
bunnei
e900bccc7b
Merge pull request #6054 from Morph1984/time-GetClockSnapshot
...
time: Assign the current time point to the ClockSnapshot
2021-03-13 23:15:54 -08:00
zkitx
89577872eb
Fix casing on DeallocateAesKeySlot
2021-03-11 02:46:22 -05:00
zkitx
1cf20b84a7
Update SPL to fit N's service refactor (4.0.0+) which split into new services.
2021-03-11 02:36:48 -05:00
Morph
d63d7bce9c
time: Fix CalculateSpanBetween implementation
...
CalculateSpanBetween passes in the ClockSnapshots through 2 input buffers and not as raw arguments. Fix this by reading the 2 input buffers instead of popping raw arguments.
Partially fixes Super Smash Bros. Ultimate's Spirit Board
2021-03-10 11:42:59 -05:00
Morph
e715bfd945
time: Assign the current time point to the ClockSnapshot
...
Fixes the timer in Super Smash Bros Ultimate's Spirit Board.
2021-03-10 11:40:51 -05:00
bunnei
e4b692bd16
common: Fiber: use a reference for YieldTo.
...
- Fixes another small leak.
2021-03-07 13:46:53 -08:00
bunnei
75519d107f
hle: kernel: KThread: Rework dummy threads & fix memory leak.
...
- Dummy threads are created on thread local storage for all host threads.
- Fixes a leak by removing creation of fibers, which are not applicable here.
2021-03-05 17:10:57 -08:00
bunnei
845a217d5e
Revert "core: Switch to unique_ptr for usage of Common::Fiber."
2021-03-05 17:08:17 -08:00
bunnei
643c89399b
Merge pull request #6034 from Morph1984/mbedtls
...
externals: Update mbedtls to 2.16.9
2021-03-05 15:48:28 -08:00
bunnei
bd30da2afc
Merge pull request #6006 from bunnei/fiber-unique-ptr
...
core: Switch to unique_ptr for usage of Common::Fiber.
2021-03-04 23:59:06 -08:00
Morph
31a56dafd3
aes_util: Remove malformed mbedtls_cipher_finish function call
2021-03-05 02:05:05 -05:00
bunnei
6fbbe2572c
Merge pull request #5815 from comex/net-error-reform
...
Network error handling reform
2021-03-02 17:08:47 -08:00
bunnei
0fea01628e
core: Shutdown: Move kernel cleanup to later in shutdown.
...
- Fixes a shutdown crash due to a race condition with GPU still accessing memory.
2021-03-01 21:42:06 -08:00
comex
4258b4985a
[network] Error handling reform
...
`network.cpp` has several error paths which either:
- report "Unhandled host socket error=n" and return `SUCCESS`, or
- switch on a few possible errors, log them, and translate them to
Errno; the same switch statement is copied and pasted in multiple
places in the code
Convert these paths to use a helper function `GetAndLogLastError`, which
is roughly the equivalent of one of the switch statements, but:
- handling more cases (both ones that were already in `Errno`, and a few
more I added), and
- using OS functions to convert the error to a string when logging, so
it'll describe the error even if it's not one of the ones in the
switch statement.
- To handle this, refactor the logic in `GetLastErrorMsg` to expose a
new function `NativeErrorToString` which takes the error number
explicitly as an argument. And improve the Windows version a bit.
Also, add a test which exercises two random error paths.
2021-02-28 17:25:31 -05:00
bunnei
67e6b7c4f2
Merge pull request #6007 from bunnei/ldn-error
...
core: hle: ldn: Error out on call to Initialization.
2021-02-28 13:34:20 -08:00
Morph
210d4975c7
Merge pull request #5276 from german77/gestures
...
HID: Implement gestures
2021-02-27 22:18:41 -05:00
german
38bbaf2c06
Implements touch, pan, pinch and rotation gestures
2021-02-27 19:54:42 -06:00
bunnei
05f489a639
core: hle: ldn: Error out on call to Initialization.
...
- Since we do not emulate LDN, returning an error here makes more sense.
2021-02-27 11:59:29 -08:00
bunnei
3322f10f84
core: Switch to unique_ptr for usage of Common::Fiber.
...
- With using unique_ptr instead of shared_ptr, we have more explicit ownership of the context.
- Fixes a memory leak due to circular reference of the shared pointer.
2021-02-27 11:56:04 -08:00
bunnei
cfe967f1ac
Merge pull request #5953 from bunnei/memory-refactor-1
...
Kernel Rework: Memory updates and refactoring (Part 1)
2021-02-27 12:48:35 -07:00
bunnei
632841f968
Merge pull request #5944 from Morph1984/gc-vibrations
...
hid: Implement GameCube Controller Vibrations
2021-02-26 19:10:36 -07:00
Morph
c841dcc8cb
hid: Implement GameCube Controller Vibrations
...
Implements both SendVibrationGcErmCommand and GetActualVibrationGcErmCommand, and modifies GetVibrationDeviceInfo to account for additional controllers.
2021-02-21 10:32:59 -05:00
Morph
ba79a07519
acc: Stub GetNintendoAccountUserResourceCacheForApplication
...
This command returns a Nintendo Account ID and writes 2 output buffers. The first output buffer is a NasUserBaseForApplication and the second output buffer is currently empty.
Used by:
- Pokken Tournament DX
- Super Smash Bros. Ultimate
- Super Nintendo Entertainment System - Nintendo Switch Online
- Mario Kart 8 Deluxe
2021-02-21 10:29:25 -05:00
ameerj
0d9fb9ca27
kernel: Fix resource release exception on exit
...
After rewriting the resource limit, objects releasing reserved resources require a live kernel instance.
This commit fixes exceptions that occur due to the kernel being destroyed before some objects released their resources, allowing for a graceful exit.
2021-02-20 20:51:11 -05:00
bunnei
5dbcaa2970
hle: kernel: Migrate PageHeap/PageTable to KPageHeap/KPageTable.
2021-02-18 16:16:25 -08:00
bunnei
c21aa2479a
hle: kernel: Migrate MemoryManager to KMemoryManager.
2021-02-18 16:16:25 -08:00
bunnei
21a22af0c5
hle: kernel: Migrate PageLinkedList to KPageLinkedList.
2021-02-18 16:16:25 -08:00
bunnei
a4c5e6d964
hle: kernel: Migrate to KMemoryBlock, KMemoryBlockManager, and others.
2021-02-18 16:16:25 -08:00
bunnei
5702047b65
hle: kernel: Migrate SlabHeap to KSlabHeap.
2021-02-18 16:16:25 -08:00
bunnei
8c9e87ab66
hle: kernel: Migrate MemoryLayout to KMemoryLayout.
2021-02-18 16:16:25 -08:00
bunnei
867294d639
hle: kernel: Migrate AddressSpaceInfo to KAddressSpaceInfo.
2021-02-18 16:16:25 -08:00
bunnei
921fd4932f
hle: kernel: memory_manager: Rename AllocateContinuous to AllocateContinuous.
2021-02-18 16:16:24 -08:00
bunnei
f82b15089b
hle: kernel: KSystemControl does not belong in Memory namespace.
2021-02-18 16:16:24 -08:00
bunnei
5a1fe8c70a
hle: kernel: memory: PageHeap: Migrate to KPageBitmap class.
2021-02-18 16:16:24 -08:00
bunnei
cafc6c3707
hle: kernel: Add KPageBitmap class.
2021-02-18 16:16:24 -08:00
bunnei
d072e9b977
hle: kernel: system_control: Add function GenerateRandomU64.
2021-02-18 16:16:24 -08:00
bunnei
c51da1b0d5
hle: kernel: Add KSpinLock implementation.
2021-02-18 16:16:24 -08:00
bunnei
a706a6a08e
core: memory: Add templated GetPointer methods.
2021-02-18 16:16:24 -08:00
bunnei
f8d8755776
hle: kernel: Rename SharedMemory to KSharedMemory.
2021-02-18 16:16:12 -08:00
bunnei
0872ba7130
Merge pull request #4973 from ameerj/nvdec-opt
...
nvdec: Reuse allocated buffers and general cleanup
2021-02-18 15:12:07 -08:00
bunnei
1c8d749458
core: core_timing_util: Optimize core timing math.
...
- Avoids a lot of unnecessary 128-bit math for imperceptible accuracy.
2021-02-15 14:54:06 -08:00
LC
54d9967e94
Merge pull request #5939 from Morph1984/web_types
...
core/CMakeLists: Add web_types.h
2021-02-15 14:02:10 -05:00
bunnei
0ff94cb0cc
Merge pull request #4940 from german77/nativeGC
...
HID: Implement GC controller in game
2021-02-15 10:32:19 -08:00
Morph
57738090f7
core/CMakeLists: Add web_types.h
2021-02-15 09:40:30 -05:00
bunnei
b950e28dfa
hle: service: ldn: IUserLocalCommunicationService: Improve the stub.
2021-02-13 21:45:09 -08:00
bunnei
5fc36d40f8
hle: service: ldn: IUserLocalCommunicationService: Indicate that LDN is disabled.
...
- Fixes crash on Pokemon Sword/Shield when pressing 'Y'.
2021-02-13 20:11:26 -08:00
bunnei
909c60e51e
hle: service: am: IStorageAccessor: Fix out of bounds error handling.
2021-02-13 20:11:26 -08:00
ameerj
c0ccf9eac5
Address PR feedback
...
Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2021-02-13 13:07:56 -05:00
ameerj
be6c487b4e
nvdec cleanup
2021-02-13 13:07:31 -05:00
ameerj
faae6b5595
kernel: More accurately reserve and release resources
2021-02-12 19:05:24 -05:00
ameerj
48b09cc56d
kernel: KScopedReservation implementation
...
This implements KScopedReservation, allowing resource limit reservations to be more HW accurate, and release upon failure without requiring too many conditionals.
2021-02-12 18:57:34 -05:00
Chloe
e62886ead0
kernel: Unify result codes ( #5890 )
...
* kernel: Unify result codes
Drop the usage of ERR_NAME convention in kernel for ResultName. Removed seperation between svc_results.h & errors.h as we mainly include both most of the time anyways.
* oops
* rename errors to svc_results
2021-02-12 15:43:01 -08:00
bunnei
24ae113fc8
Merge pull request #5902 from lioncash/core-warn
...
core: Silence various warnings on Clang 12
2021-02-11 18:57:23 -08:00
bunnei
152e089482
Merge pull request #5869 from german77/mousePanning
...
input_common: Add mouse panning
2021-02-11 09:58:23 -08:00
Morph
118e33cfa9
software_keyboard: Implement Finalize request command
2021-02-10 21:42:49 -05:00
lat9nq
51b74a317b
core: Add -fsized-dealloction as a Clang flag
...
Prevents a operator delete error when compiling with Clang 11.
2021-02-09 21:27:12 -05:00
Lioncash
2f9cc2f0ae
bsd: Remove usage of optional emplace() with no arguments
...
Clang 12 currently falls over in the face of this.
2021-02-09 17:50:29 -05:00
Lioncash
771865bdfc
am/controller: Remove [[fallthrough]] from unreachable path
...
Prevents warnings on clang 12. This path is reachable on other
variations of the build that disable the unreachable macro.
2021-02-09 17:44:14 -05:00
Lioncash
32e763c64c
nfp: Correct uninitialized size being used within GetTagInfo()
...
We were previously the name of the object being initialized within its
own initializer, which results in uninitialized data being read.
2021-02-09 17:42:02 -05:00
bunnei
e9fc670bff
Merge pull request #5892 from german77/backup
...
olsc: Stub GetSaveDataBackupSetting
2021-02-08 17:48:52 -08:00
bunnei
eaacb5047c
Merge pull request #5868 from german77/HandheldFix
...
Prevent over scheduling audio events and add motion update unschedule event
2021-02-08 11:33:53 -08:00
german
020c22f53d
hid: Implement GC controller
2021-02-07 22:59:46 -06:00
bunnei
da2a91a019
Merge pull request #5339 from german77/interactive
...
Settings: Make settings controller image change with controller input
2021-02-07 20:53:46 -08:00
german
0210c4e219
olsc: Stub GetSaveDataBackupSetting
2021-02-07 22:32:13 -06:00
german
c7cae8769f
Add mouse panning
2021-02-07 20:31:58 -06:00
Chloe
a5dd2bb598
Merge pull request #5872 from lioncash/svc-error
...
svc: Provide more detailed error logs for svc functions
2021-02-08 12:27:36 +11:00
bunnei
c7b2027e8f
Merge pull request #5887 from ogniK5377/lm-fix
...
lm: Fix ReadLeb128
2021-02-07 10:25:56 -08:00
Morph
708c6ef06b
Merge pull request #5878 from aleasto/master
...
pl_u: Fix read out of bounds
2021-02-07 22:20:47 +08:00
Chloe Marcec
937aa8908b
lm: Fix ReadLeb128
...
Fixes assertion on Bloodstained Ritual of the Night.
We would over read sometimes, this is fixed by checking if the top bit is set in the first iteration. We also lock the loop off to be only the max size of the type we can fit. Finally we changed an incorrect print of "DEBUG" to "TRACE" to reflect the proper log severity
2021-02-07 23:52:56 +11:00
bunnei
bd5c4c438e
Merge pull request #5871 from lioncash/address-arb
...
k_address_arbiter: Minor cleanup
2021-02-06 13:05:19 -08:00
Alessandro Astone
60353d70af
pl_u: Fix read out of bounds
2021-02-06 18:44:01 +01:00
german
93ac87f29e
Make settings controller image change with controller input
2021-02-06 09:43:41 -06:00
bunnei
f41e6fba60
Merge pull request #5326 from german77/hidUpdate1
...
HID: Update the HID service to match more closely to switchbrew part 1
2021-02-06 02:40:11 -08:00
Lioncash
6764c7ce52
k_address_arbiter: Unfold R_UNLESS macros
...
Allows for more descriptive error messages and also doesn't hide
control-path exit returns from the reader.
2021-02-06 04:08:27 -05:00
Lioncash
8884e73c8b
k_address_arbiter: Remove unnecessary usages of std::addressof
...
This is a useful function in a generic context or with types that
overload unary operator&. However, primitives and pointers will never do
this, so we can opt for a more straightforward syntax.
2021-02-06 04:06:33 -05:00
Lioncash
c8cc1c301e
k_address_arbiter: Remove dead code
...
This code is never used, so we can remove it. It's in version control,
so it can always be brought back when needed.
2021-02-06 04:06:33 -05:00
Lioncash
8618ac9b8b
svc: Provide more detailed error logs for svc functions
...
Allows SVC calls to have much more informative information during error
cases. This also doesn't hide control flow returns from the reader.
2021-02-06 02:03:40 -05:00
bunnei
4e7b713922
Merge pull request #5862 from bunnei/kevent
...
Kernel Rework: Refactor KEvent/KReadableEvent/KWritableEvent
2021-02-05 23:00:43 -08:00
bunnei
c48847e7d6
Merge pull request #5875 from lioncash/identifier
...
k_priority_queue: Minor cleanup
2021-02-05 17:02:13 -08:00
bunnei
7126a200c4
hle: kernel: Drop R_UNLESS_NOLOG in favor of expanded if-statement.
2021-02-05 14:03:36 -08:00
bunnei
308995e446
hle: kernel: KAddressArbiter: Remove noisy error log.
2021-02-05 14:03:36 -08:00
bunnei
9c2719d86f
hle: kernel: svc: Cleanup KEvent/KReadableEvent/KWritableEvent SVCs.
2021-02-05 14:03:36 -08:00
bunnei
0508831455
hle: kernel: Reimplement KReadableEvent and KWritableEvent.
2021-02-05 14:03:32 -08:00
bunnei
9da7b774ae
hle: kernel: Implement KEvent.
2021-02-05 14:00:36 -08:00
bunnei
80a509355c
hle: kernel: KAddressArbiter: Use R_UNLESS_NOLOG where applicable.
2021-02-05 14:00:36 -08:00
bunnei
80d0eb3bbd
hle: kernel: Rename WritableEvent to KWritableEvent.
2021-02-05 14:00:36 -08:00
bunnei
284a4d9283
hle: kernel: Rename ReadableEvent to KReadableEvent.
2021-02-05 14:00:36 -08:00
bunnei
0bb7225361
Merge pull request #5867 from Morph1984/am-GetHealthWarningDisappearedSystemEvent
...
IApplicationFunctions: Implement GetHealthWarningDisappearedSystemEvent
2021-02-05 13:49:49 -08:00
bunnei
d607a57c4c
Merge pull request #5876 from lioncash/truncation
...
k_affinity_mask: Avoid implicit truncation to bool
2021-02-04 14:44:11 -08:00
Lioncash
7da83ef6f7
k_affinity_mask: Avoid implicit truncation to bool
...
This can cause compiler warnings. Instead, we can explicitly add a
boolean expression around it to naturally turn the result into a bool.
2021-02-04 15:35:46 -05:00
Lioncash
9fb1a47658
k_priority_queue: Unfold several declval usages
...
Given these are only used as function existence checks, we can simplify
some usages of declval, given they aren't particularly useful here.
Reduces a few template instantiations, which at most reduces compile
times a tiny bit.
2021-02-04 15:18:58 -05:00
Lioncash
8170435ec5
k_priority_queue: Simplify affinity mask type alias
...
We can make use of the _t variants of the templates to cut down on a
little bit of verbosity.
2021-02-04 14:57:41 -05:00
Lioncash
4431b499d0
k_priority_queue: Resolved reserved identifier
...
An identifier containing a starting underscore followed by a capital
letter is reserved by the standard. It's trivial to avoid this by moving
the underscore to the end of the identifier.
While the likelihood of clashing here being minimal, we can turn a
"should not break" scenario into a definitive "will not break" one, so
why not?.
2021-02-04 14:55:08 -05:00
Morph
53d62eb9bd
key_manager: Create the keys directory if it does not exist
2021-02-04 06:05:50 -05:00
german
5809b8941e
Add footer types and address comments
2021-02-03 20:17:08 -06:00
german
5c9d8e8f39
Fix npad struct to match switchbrew
2021-02-03 20:17:08 -06:00
german
1f204e5930
Adds missing controller types and properties
2021-02-03 20:17:08 -06:00
bunnei
297e909002
Merge pull request #5848 from ogniK5377/k-resourcelimit
...
kernel: Rewrite resource limit to be more accurate
2021-02-03 14:53:25 -08:00
Chloe Marcec
6ff08eb44f
Simplify limitableresource names
2021-02-03 12:55:16 +11:00
bunnei
6f37a78056
Merge pull request #5842 from german77/userfix
...
acc: Fix error when second user is selected
2021-02-02 15:43:51 -08:00
german
e0c83e305a
Prevent over scheduling audio events and terminate properly the motion update event
2021-02-02 10:17:10 -06:00
Morph
922d1556a0
IApplicationFunctions: Implement GetHealthWarningDisappearedSystemEvent
2021-02-02 10:47:38 -05:00
Morph
c21d343b04
settings: Log the cache, config, and mod load directories
2021-02-02 04:01:05 -05:00
bunnei
57d0ac56cc
Merge pull request #5861 from german77/HandheldFix
...
hid: Only update motion for npad and prevent over scheduling events
2021-02-01 18:46:26 -08:00
Chloe Marcec
1c1940200a
Compile error
2021-02-02 13:23:34 +11:00
Chloe Marcec
4d7f0c4c07
Address issues
2021-02-02 13:23:00 +11:00
MerryMage
6f76ed25df
arm_dynarmic_32: Print out CPSR.T on exception
2021-02-01 18:35:33 +00:00
bunnei
eee513213d
Merge pull request #5859 from Morph1984/nifm
...
nifm: Stub GetCurrentNetworkProfile and GetCurrentIpConfigInfo
2021-01-31 21:31:14 -08:00
Ameer J
a57a3172ce
Merge pull request #5856 from Morph1984/nifm-fix-getappletinfo-stub
...
nifm: Fix GetAppletInfo stub
2021-01-31 23:33:11 -05:00
bunnei
179fb1e2f0
Merge pull request #5858 from Morph1984/IsGamePlayRecordingSupported-stub
...
am/IApplicationFunctions: Stub IsGamePlayRecordingSupported
2021-01-31 18:04:04 -08:00
german
963ce4f5ab
Only update motion for npad and prevent over scheduling events
2021-01-31 18:52:38 -06:00
Morph
200c8bce5a
nifm: Stub GetCurrentIpConfigInfo
...
- Used by Lets Sing 12
2021-01-31 07:36:37 -05:00
Morph
af32dc3653
prepo: Stub GetTransmissionStatus
2021-01-31 07:07:11 -05:00
Morph
343ee0fc1f
prepo: Stub RequestImmediateTransmission
...
- Used by Animal Crossing: New Horizons
2021-01-31 07:04:35 -05:00
Morph
130ca0ca61
nifm: Stub GetCurrentNetworkProfile
...
- Used by Minecraft Bedrock Edition
- Used by Bloons TD 5
2021-01-31 06:56:29 -05:00
Morph
9b855feeec
nifm: Add several structs
2021-01-31 06:56:29 -05:00
Morph
5bf0587bee
am/IApplicationFunctions: Stub IsGamePlayRecordingSupported
...
Used by RetroArch
2021-01-31 03:11:03 -05:00
Morph
18c2915be2
bsd: Fix EventFd stub
2021-01-31 02:57:56 -05:00
bunnei
bd51df8969
Merge pull request #5855 from Morph1984/bsd-fix-getsockopt-stub
...
bsd: Fix GetSockOpt stub
2021-01-30 23:21:21 -08:00
Morph
3bd2f586a1
nifm: Fix GetAppletInfo stub
2021-01-31 02:19:36 -05:00
Morph
e2b1734183
Merge pull request #5851 from ameerj/pop-inv-stub
...
am: Stub TryPopFromFriendInvitationStorageChannel
2021-01-31 14:18:40 +08:00
Morph
e1ad1c2552
bsd: Fix GetSockOpt stub
2021-01-31 01:08:56 -05:00
ameerj
6b81524050
bsd: Stub EventFd
...
Used by Family Feud
2021-01-30 21:47:32 -05:00
ameerj
86e8b00299
am: Stub TryPopFromFriendInvitationStorageChannel
...
Used by Family Feud
2021-01-30 21:43:55 -05:00
Chloe Marcec
7a8501243d
fix compile error
2021-01-30 21:51:22 +11:00
Chloe Marcec
dea89a59c9
cleanup commenting
2021-01-30 21:20:35 +11:00
Chloe Marcec
3edb06af11
Drop m_ from lock
2021-01-30 21:19:49 +11:00
Chloe Marcec
a69befa745
Move to GetGlobalTimeNs, fix GetTotalPhysicalMemoryAvailable
2021-01-30 21:03:10 +11:00
Chloe Marcec
68a52e9050
kernel: Rewrite resource limit to be more accurate
...
Matches closer to hardware
2021-01-30 20:40:49 +11:00
bunnei
aba77ea06a
Merge pull request #5779 from bunnei/kthread-rewrite
...
Rewrite KThread to be more accurate
2021-01-29 23:06:40 -08:00
Morph
4128ce3e12
Merge pull request #5838 from german77/prepostub
...
prepo: Stub GetSystemSessionId
2021-01-30 14:19:59 +08:00
german
11815a3499
Stub GetSystemSessionId
2021-01-29 18:41:28 -06:00
bunnei
46f2ca41a4
Merge pull request #5809 from ogniK5377/FlushAudioOutBuffers
...
audout: FlushAudioOutBuffers
2021-01-28 21:54:46 -08:00
bunnei
189340d654
hle: kernel: KLightLock: Fix several bugs.
2021-01-28 21:53:21 -08:00
bunnei
1ebbfe8e3b
arm: dynarmic: Reintroduce JIT checks on SaveContext/LoadContext.
2021-01-28 21:50:39 -08:00
bunnei
d09ade6cab
hle: kernel: KThread: Release thread resource on thread exit.
2021-01-28 21:49:47 -08:00
bunnei
a96667d30c
yuzu: debugger: Ignore HLE threads.
2021-01-28 21:42:27 -08:00
bunnei
38ae7c53c0
hle: kernel: process: Add state lock.
2021-01-28 21:42:26 -08:00
bunnei
1a1bef5154
hle: kernel: threading: Fix bug with host thread naming.
2021-01-28 21:42:26 -08:00
bunnei
bb41b9d462
hle: kernel: k_scheduler_lock: Cleanup.
2021-01-28 21:42:26 -08:00
bunnei
2f34533f47
core: arm: Remove unnecessary JIT checks.
2021-01-28 21:42:26 -08:00
bunnei
cf3a05cf8c
hle: kernel: Allocate a dummy KThread for each host thread, and use it for scheduling.
2021-01-28 21:42:26 -08:00
bunnei
0b307a12f3
hle: kernel: k_scheduler: Use atomics for current_thread, etc.
2021-01-28 21:42:26 -08:00
bunnei
9b0a981710
hle: kernel: k_scheduler: Fix for single core mode.
2021-01-28 21:42:26 -08:00
bunnei
67d28075dd
kernel: Fix build errors.
2021-01-28 21:42:26 -08:00
bunnei
f6ea864471
core: cpu_manager: Remove unused variable.
2021-01-28 21:42:26 -08:00
bunnei
177b4da4e7
hle: kernel: KScheduler: Introduce thread context_guard.
2021-01-28 21:42:26 -08:00
bunnei
f34dd04d09
hle: kernel: Recode implementation of KThread to be more accurate.
2021-01-28 21:42:26 -08:00
bunnei
25cece3cea
kernel: svc_types: Add ThreadActivity.
2021-01-28 21:42:26 -08:00
bunnei
589ecb9a75
kernel: KSchedulerPriorityQueue: Lowest priority should be LowestThreadPriority.
2021-01-28 21:42:26 -08:00
bunnei
4440a59cb6
kernel: k_light_lock: Simplify EmuThreadHandle implementation.
2021-01-28 21:42:26 -08:00
bunnei
86206c81c2
hle: kernel: TimeManager: Simplify to not rely on previous EmuThreadHandle implementation.
2021-01-28 21:42:26 -08:00
bunnei
eb3a02a3fd
core: hle: kernel: object: Implement Finalize() virtual method.
2021-01-28 21:42:26 -08:00
bunnei
3cefddbb47
core: hle: kernel: svc_results: Populate with several missing error codes.
2021-01-28 21:42:26 -08:00
bunnei
ddfa48d704
core: hle: kernel: Implement KLightLock.
2021-01-28 21:42:26 -08:00
bunnei
54620961fb
core: hle: kernel: Implement KThreadQueue.
2021-01-28 21:42:25 -08:00
bunnei
4ba9d6f969
hle: kernel: KThread: Clean up thread priorities.
2021-01-28 21:42:25 -08:00
bunnei
0ae0bc4340
hle: kernel: KThread: Reorganize thread priority defaults.
2021-01-28 21:42:25 -08:00
bunnei
eb396cd021
hle: kernel: KThread: Fix ThreadType definition.
2021-01-28 21:42:25 -08:00
bunnei
d49e29d866
hle: kernel: Move single core "phantom mode" out of KThread.
...
- This is a workaround that does not belong in a kernel primitive.
2021-01-28 21:42:25 -08:00
bunnei
e74f682506
hle: kernel: KThread: Remove thread types that do not exist.
2021-01-28 21:42:25 -08:00
bunnei
db342cc6f0
arm: arm_dynarmic: Skip calls when JIT is invalid.
...
- This can happen if called from an idle or suspension thread.
2021-01-28 21:42:25 -08:00
bunnei
3d70b4a4ea
core: hle: kernel: Rename Thread to KThread.
2021-01-28 21:42:25 -08:00
german
f970b836e5
Fix user changing to 0 if valid
2021-01-28 21:02:25 -06:00
bunnei
9f626d9b94
Merge pull request #5837 from german77/socketstub
...
sockets: Stub GetSockOpt
2021-01-28 16:28:11 -08:00
LC
a42f1dc30b
Merge pull request #5840 from Morph1984/prepo-fix
...
prepo: Fix BufferDescriptorX invalid buffer index errors and add New variants of SaveReport
2021-01-28 10:52:44 -05:00
Morph
83f6fc1a5f
hid: Add static_assert for Parameter size
2021-01-28 09:41:43 -05:00
Morph
7e9385d035
prepo: Fix BufferDescriptorX invalid buffer errors and add "New" variants of SaveReport
...
The second input buffer could be optional when prepo/srepo is called, test for the availability of the second buffer prior to reading from it.
2021-01-28 01:32:24 -05:00
Morph
afa0d5efb3
hle_ipc: Add Can(Read, Write)Buffer
...
Allows us to test whether a buffer can be read from or written to memory
2021-01-28 01:32:24 -05:00
german
7cb9b24f6d
Stub GetSockOpt
2021-01-27 23:18:20 -06:00
Morph
d6cb14fbf3
npad: Remove unused device handle parameter
2021-01-27 13:05:31 -05:00
bunnei
07d3a4d538
Merge pull request #5812 from german77/StubSixaxisFusion
...
HID: Stub Set/Get/Reset SixaxisSensorFusionParameters
2021-01-26 15:58:04 -08:00
bunnei
504d6d523c
Merge pull request #5810 from ogniK5377/stereo-vision
...
hle: Implement remaining services for Stereo Vision
2021-01-26 15:01:01 -08:00
bunnei
e002d6a5d4
Merge pull request #5824 from ogniK5377/IPsmSession
...
psm: IPsmSession
2021-01-26 11:11:29 -08:00
bunnei
1b697f4525
Merge pull request #5774 from ogniK5377/mii-raw-random
...
mii: Fix BuildRandomStoreData & Cleanup raw_data
2021-01-25 16:41:20 -08:00
bunnei
f2624c4eea
Merge pull request #5771 from ogniK5377/lm-rework
...
lm: Recode LM service
2021-01-25 10:18:09 -08:00
Chloe Marcec
df783fc0cd
Omit system reference
2021-01-25 23:13:37 +11:00
Chloe Marcec
5d4edf4d30
psm: IPsmSession
...
Used by homebrew menu
2021-01-25 21:37:51 +11:00
bunnei
229aac6d73
Merge pull request #5799 from ogniK5377/event-register-unregister
...
nvdrv: Unregister already registered events
2021-01-24 23:19:10 -08:00
bunnei
9b37211cd5
Merge pull request #5151 from comex/xx-vfs
...
vfs_real: When moving files or directories, don't assume file opening will succeed
2021-01-24 13:42:51 -08:00
german
264bcb9e1d
Stub Set/Get/Reset SixaxisSensorFusionParameters
2021-01-24 11:28:52 -06:00
Chloe Marcec
3aa402b373
Print Process ID and Thread ID as hex
2021-01-25 02:47:40 +11:00
Chloe Marcec
dba86775cb
hle: Implement remaining services for Stereo Vision
...
Used by Zelda Breath of the Wild, Super Mario Odyssey and Nintendo Labo
2021-01-25 00:34:01 +11:00
Chloe Marcec
b467478dcf
audout: FlushAudioOutBuffers
...
Fixes Devil May Cry
2021-01-24 19:13:34 +11:00
bunnei
79efa66bff
Merge pull request #5806 from bunnei/am-stub
...
hle: service: am: Stub ILibraryAppletAccessor::PresetLibraryAppletGpuTimeSliceZero.
2021-01-23 23:37:05 -08:00
comex
6ea2d44f1e
vfs_real: When moving files or directories, don't assume file opening will succeed
...
Found this via a warning, but it's a substantive fix.
Since this is only for a cache, it should be safe to silently drop the
entry if opening fails. I think.
2021-01-23 16:19:29 -05:00
Chloe Marcec
586c1cee87
Simplify condition
2021-01-23 22:12:05 +11:00
Chloe Marcec
8687476cd1
nvdrv: Unregister already registered events
2021-01-23 22:02:14 +11:00
Chloe Marcec
1a88d8b4e6
Clamp string reads to buffer size
2021-01-23 18:24:57 +11:00
bunnei
a2d9c802e5
Merge pull request #5776 from ogniK5377/lbl
...
lbl: Implement most of lbl
2021-01-22 23:13:23 -08:00
bunnei
4c09659091
Merge pull request #5765 from ogniK5377/StoreSaveDataThumbnail-stub
...
acc: Stub StoreSaveDataThumbnail
2021-01-22 21:51:54 -08:00
bunnei
d032b1a815
Merge pull request #5270 from german77/multiTouch
...
HID: Add multitouch support
2021-01-20 22:39:01 -08:00
bunnei
4daf48ffbf
hle: service: am: Stub ILibraryAppletAccessor::PresetLibraryAppletGpuTimeSliceZero.
...
- Used by Monster Hunter Rise demo.
2021-01-20 20:35:12 -08:00
Chloe Marcec
156e795758
lbl: Implement most of lbl
...
Pretty basic service, only thing left to do is handle setting applying once set:sys is implemented
2021-01-21 00:46:03 +11:00
Chloe Marcec
3d4f05299e
mii: Fix BuildRandomStoreData & Cleanup raw_data
...
Cleaned up mii raw data to reflect the underlying values instead of just a chunk of bytes.
Fixed BuildRandomStoreData not actually generating random miis properly. "values" should be a u32, not a u8.
2021-01-20 21:53:57 +11:00
Chloe Marcec
4b0d52ae64
Mark DestinationToString as static
2021-01-20 18:42:39 +11:00
Chloe Marcec
c9f841adfd
Mark LogPacketHeaderEntry hash as noexcept
2021-01-20 18:35:58 +11:00
Chloe Marcec
5cbbf4f865
lm: Recode LM service
...
Rework the service to spit out to logs instead of a seperate file as well as fix any crashes caused by lm.
2021-01-20 18:25:15 +11:00
Chloe Marcec
f78692a11f
acc: Stub StoreSaveDataThumbnail
...
Fixes ACA NEOGEO METAL SLUG hanging on boot.
2021-01-19 20:56:18 +11:00
Morph
1ec37a7c7a
npad: Add check for HANDHELD_INDEX in UpdateControllerAt()
2021-01-17 22:36:17 -05:00
bunnei
2783c5b69e
Merge pull request #5360 from ReinUsesLisp/enforce-memclass-access
...
core: Silence Wclass-memaccess warnings and enforce it
2021-01-17 00:55:10 -08:00
Lioncash
6311c72b03
input_interpreter: Mark two member functions as const
...
These aren't stateful functions, so we can make use of const.
While we're at, we can resolve some -Wdocumentation warnings.
2021-01-16 16:08:35 -05:00
Morph
989694f182
input_interpreter: Add method to check for a button press state
...
This allows to check for continuous input for the duration of a button press/hold
2021-01-16 10:34:39 -05:00
LC
d9a8238acb
Merge pull request #5358 from ReinUsesLisp/rename-insert-padding
...
common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINIT
2021-01-15 16:19:46 -05:00
ReinUsesLisp
1af09cf1b5
core/cmake: Enforce Wclass-memaccess
...
Treat -Wclass-memaccess as an error.
2021-01-15 16:31:19 -03:00
ReinUsesLisp
4854f3291e
core: Silence Wclass-memaccess warnings
...
This requires making several types trivial and properly initialize
them whenever they are called.
2021-01-15 16:31:19 -03:00
ReinUsesLisp
92ca4929f5
common/common_funcs: Rename INSERT_UNION_PADDING_{BYTES,WORDS} to _NOINIT
...
INSERT_PADDING_BYTES_NOINIT is more descriptive of the underlying behavior.
2021-01-15 16:27:28 -03:00
german
b92717bec6
Always initialize keyboard input
2021-01-15 09:05:17 -06:00
german
df1070a735
Add mutitouch support for touch screens
2021-01-15 09:05:17 -06:00
german
f452fbfc88
Allow to return up to 16 touch inputs per engine
2021-01-15 09:05:17 -06:00
german
2aa888b7e3
Allow all touch inputs at the same time and remove config options that are not longer necesary
2021-01-15 09:05:17 -06:00
german
29cf5313da
Add multitouch support
2021-01-15 09:03:39 -06:00
Lioncash
d5bff783bd
common/bit_util: Replace CLZ/CTZ operations with standardized ones
...
Makes for less code that we need to maintain.
2021-01-15 02:15:32 -05:00
ReinUsesLisp
d7b2d16fc4
core/cmake: Remove Werror flags already defined code-base wide
2021-01-15 03:39:24 -03:00
bunnei
e89be18c79
hle: kernel: thread: Preserve thread wait reason for debugging only.
...
- This is decoupled from core functionality and used for debugging only.
2021-01-11 14:23:17 -08:00
bunnei
42b25c1a2c
hle: kernel: k_scheduler_lock: Fix shadowing errors.
2021-01-11 14:23:16 -08:00
bunnei
6cbeabce0d
core: arm: arm_interface: Fix shadowing errors.
2021-01-11 14:23:16 -08:00
bunnei
7f4d928f77
core: hle: Add missing calls to MicroProfileOnThreadExit.
2021-01-11 14:23:16 -08:00
bunnei
e5cfd63ba4
core: hle: Integrate new KConditionVariable and KAddressArbiter implementations.
2021-01-11 14:23:16 -08:00
bunnei
8f3987d3df
core: hle: kernel: Update KAddressArbiter.
2021-01-11 14:23:16 -08:00
bunnei
75610701a3
core: hle: kernel: Update KConditionVariable.
2021-01-11 14:23:16 -08:00
bunnei
c37b0da7d0
core: hle: kernel: Begin moving common SVC defintions to its own header.
2021-01-11 14:23:16 -08:00
bunnei
02071333ca
hle: kernel: Remove unnecessary AddressArbiter definition.
2021-01-11 14:23:16 -08:00
bunnei
99a3953705
hle: kernel: k_scheduler: Cleanup OnThreadPriorityChanged.
2021-01-11 14:23:16 -08:00
bunnei
818ff3901a
hle: kernel: Rename thread "status" to "state".
2021-01-11 14:23:16 -08:00
bunnei
9744afa8b1
hle: kernel: thread: Replace ThreadStatus/ThreadSchedStatus with a single ThreadState.
...
- This is how the real kernel works, and is more accurate and simpler.
2021-01-11 14:23:16 -08:00
bunnei
d103a3656b
core: hle: kernel: Add some useful functions for checking kernel addresses.
2021-01-11 14:23:16 -08:00
bunnei
f3f7d42d63
core: hle: kernel: svc_types: Add type definitions for KAddressArbiter.
2021-01-11 14:23:16 -08:00
bunnei
2feb4d56e9
core: hle: kernel: Update KSynchronizationObject.
2021-01-11 14:23:16 -08:00
bunnei
eafd021b14
core: hle: kernel: Begin moving common SVC results to its own header.
2021-01-11 14:23:16 -08:00
bunnei
a45d39c9d6
hle: service: nfp: Remove incorrect signaling behavior in GetDeviceState.
2021-01-11 14:23:16 -08:00
bunnei
af8f4d3635
Merge pull request #5312 from german77/overclockenabled
...
apm: Stub IsCpuOverclockEnabled
2021-01-10 14:30:13 -08:00
ReinUsesLisp
d27f026a50
file_sys/registered_cache: Silence virtual functions without override warnings
2021-01-09 00:04:12 -03:00
ReinUsesLisp
53cf598783
core: Silence unhandled enum in switch warnings
2021-01-08 23:21:07 -03:00
german
b28282edab
Stub IsCpuOverclockEnabled
2021-01-08 09:44:56 -06:00
ameerj
30f3faf3e2
fix for nvdec disabled, cleanup host1x
2021-01-07 14:33:45 -05:00
ameerj
762de858e6
nvdec syncpt incorporation
...
laying the groundwork for async gpu, although this does not fully implement async nvdec operations
2021-01-07 14:33:45 -05:00
ReinUsesLisp
5e3be575ad
core: Enforce C4715 (not all control paths return a value)
2021-01-05 04:18:40 -03:00
ReinUsesLisp
64d9ef5e7a
core: Silence warnings when compiling without asserts
2021-01-05 04:18:16 -03:00
ameerj
2faecc2720
buffer_queue: Protect queue_sequence list access with a mutex
...
fixes a data race as this is an unprotected variable manipulated by multiple threads
2021-01-04 01:36:41 -05:00
Lioncash
fb9624da9d
main: Resolve error string not displaying
...
During the transition to make the error dialog translatable, I
accidentally got rid of the conversion to ResultStatus, which prevented
operator<< from being invoked during formatting.
This adds a function to directly retrieve the result status string
instead so that it displays again.
2021-01-03 13:18:04 -05:00
bunnei
98c455451f
Merge pull request #5278 from MerryMage/cpuopt_unsafe_inaccurate_nan
...
dynarmic: Add Unsafe_InaccurateNaN optimization
2021-01-03 03:27:29 -08:00
bunnei
a86ae9fa3c
hle: service: nvflinger: buffer_queue: Do not reset id/layer_id on Connect.
...
- This behavior is a mistake, fixes Katana Zero.
2021-01-02 15:42:16 -08:00
MerryMage
c535205f1c
dynarmic: Add Unsafe_InaccurateNaN optimization
2021-01-02 20:13:21 +00:00
Morph
23413c0d44
general: Fix various spelling errors
2021-01-02 10:23:41 -05:00
MerryMage
e3490b55c1
memory: Remove MemoryHook
2021-01-01 11:34:38 +00:00
bunnei
f1195d12cc
Merge pull request #5249 from ReinUsesLisp/lock-free-pages
...
core/memory: Read and write page table atomically
2021-01-01 02:54:01 -08:00
bunnei
41e8f75c82
Merge pull request #5208 from bunnei/service-threads
...
Service threads
2020-12-30 22:06:05 -08:00
ReinUsesLisp
d719dc7688
service/pcie: Fix invalid initialization argument
2020-12-30 02:58:38 -03:00
ReinUsesLisp
8bfa4d6dbf
core/memory: Read and write page table atomically
...
Squash attributes into the pointer's integer, making them an uintptr_t
pair containing 2 bits at the bottom and then the pointer. These bits
are currently unused thanks to alignment requirements.
Configure Dynarmic to mask out these bits on pointer reads.
While we are at it, remove some unused attributes carried over from
Citra.
Read/Write and other hot functions use a two step unpacking process that
is less readable to stop MSVC from emitting an extra AND instruction in
the hot path:
mov rdi,rcx
shr rdx,0Ch
mov r8,qword ptr [rax+8]
mov rax,qword ptr [r8+rdx*8]
mov rdx,rax
-and al,3
and rdx,0FFFFFFFFFFFFFFFCh
je Core::Memory::Memory::Impl::Read<unsigned char>
mov rax,qword ptr [vaddr]
movzx eax,byte ptr [rdx+rax]
2020-12-29 21:54:49 -03:00
bunnei
1a96235760
Merge pull request #5247 from comex/xx-concepts
...
k_priority_queue: Fix concepts use
2020-12-29 16:50:20 -08:00
bunnei
236149a59b
hle: kernel: service_thread: Make thread naming more consistent.
2020-12-29 16:46:29 -08:00
bunnei
407d3b7374
hle: kernel: Manage service threads on another thread.
...
- This is to allow service threads to defer destruction of themselves.
2020-12-29 16:46:29 -08:00
bunnei
f3a274a13f
Merge pull request #5246 from comex/xx-include
...
Add missing include of "core/hle/kernel/kernel.h"
2020-12-29 16:43:17 -08:00
bunnei
127bb064f7
hle: kernel: Manage host thread IDs using TLS.
...
- Avoids the need to have a large map of host to guest thread IDs.
2020-12-29 15:55:30 -08:00
comex
8be4bd5104
k_priority_queue: Fix concepts use
...
- For `std::same_as`, add missing include of `<concepts>`.
- For `std::convertible_to`, create a replacement in `common/concepts.h`
and use that instead.
This would also be found in `<concepts>`, but unlike `std::same_as`,
`std::convertible_to` is not yet implemented in libc++, LLVM's STL
implementation - not even in master. (In fact, `std::same_as` is the
*only* concept currently implemented. For some reason.)
2020-12-29 14:33:41 -05:00
comex
0049fbaa9e
Add missing include of "core/hle/kernel/kernel.h"
...
This is needed as the header invokes methods on KernelCore.
2020-12-29 14:22:35 -05:00
ameerj
ca41363261
svc: demote SleepThread log to LOG_TRACE
...
This log is called often, and introduces a lot of noise when debug logging is enabled, making it difficult to see other debug logs.
2020-12-29 14:01:56 -05:00
bunnei
67051cf10c
hle: kernel: Move ServiceThread ownership to KernelCore.
...
- Fixes a circular dependency which prevented threads from being released on shutdown.
2020-12-29 01:12:39 -08:00
bunnei
b2ef309edb
hle: kernel: service_thread: Add thread name and take weak_ptr of ServerSession.
2020-12-29 01:06:39 -08:00
bunnei
e5f216261e
hle: service: Acquire and release a lock on requests.
...
- This makes it such that we can safely access service members from CoreTiming thread.
2020-12-28 21:33:34 -08:00
bunnei
ae526934c7
core: Do not reset device_memory on shutdown.
...
- This will be reset on initialization.
2020-12-28 21:33:34 -08:00
bunnei
5d4fa58af2
core: hle: kernel: Clear process list on boot.
2020-12-28 21:33:34 -08:00
bunnei
04e4925807
hle: service: vi: Refactor to grab buffer only once.
2020-12-28 21:33:34 -08:00
bunnei
b1b4edec05
service: nvflinger: Improve synchronization for BufferQueue.
...
- Use proper mechanisms for blocking on DequeueBuffer.
- Ensure service thread terminates on emulation Shutdown.
2020-12-28 21:33:34 -08:00
bunnei
8cf0ba96d9
hle: service: Ensure system is powered on before writing IPC result.
2020-12-28 16:33:48 -08:00
bunnei
838c266e82
core: kernel: Clear process list earlier.
2020-12-28 16:33:48 -08:00
bunnei
1e370cff0e
core: settings: Untangle multicore from asynchronous GPU.
...
- Now that GPU is always threaded, we can support multicore with synchronous GPU.
2020-12-28 16:33:48 -08:00
bunnei
846f35c4ad
hle: kernel: hle_ipc: Remove SleepClientThread.
...
- This was kind of hacky, and no longer is necessary with service threads.
2020-12-28 16:33:48 -08:00
bunnei
e322c6cfba
hle: service: bsd: Update to work with service threads, removing SleepClientThread.
2020-12-28 16:33:48 -08:00
bunnei
fd213b5856
hle: service: nvdrv: Revert #4981 to remove usage of SleepClientThread.
...
- Note, this always processes the ioctl right away, which fixes BotW 1.0.0 issues.
2020-12-28 16:33:48 -08:00
bunnei
3d7b4bfa48
hle: kernel: service_thread: Add parameter for thread pool size.
2020-12-28 16:33:47 -08:00
bunnei
eeabd0cc31
hle: service: nvflinger: Refactor locking and interfaces.
2020-12-28 16:33:47 -08:00
bunnei
b8cb6a1b2c
hle: service: vi: Remove usage of SleepClientThread.
2020-12-28 16:33:47 -08:00
bunnei
56be5d7ba9
core: hle: server_session: Use separate threads for each service connection.
2020-12-28 16:33:47 -08:00
bunnei
eb609b73a7
core: memory: Ensure thread safe access when pages are rasterizer cached ( #5206 )
...
* core: memory: Ensure thread safe access when pages are rasterizer cached.
2020-12-24 21:51:49 -08:00
bunnei
9729bce30a
Merge pull request #5042 from Morph1984/project-aether
...
Project Aether: Reimplementation of the Web Browser Applet
2020-12-21 23:47:10 -08:00
bunnei
8e1f16e8fa
Merge pull request #5131 from bunnei/scheduler-rewrite
...
Rewrite Kernel scheduler based on Atmosphere
2020-12-20 20:57:54 -08:00
bunnei
37008cad35
Merge pull request #5201 from ameerj/bufferq-refactor
...
vi/buffer_queue: Buffer queue management refactor
2020-12-20 15:48:39 -08:00
FearlessTobi
1bfd9b5081
yuzu: Remove gdbstub configuration
...
The gdbstub itself was removed with https://github.com/yuzu-emu/yuzu/pull/5028 .
This PR just removes the remaining gdb configuration code from the emulator and the UI.
2020-12-19 19:19:42 +01:00
Morph
469ed33cf6
applets/web: Implement the online web browser applet
2020-12-18 10:33:28 -05:00
Morph
fef6f942e4
main, applets/web: Re-add progress dialog for RomFS extraction
2020-12-18 10:33:28 -05:00
Morph
46f376e8fe
pl_u, applets/web: Decrypt shared fonts to TTF files
2020-12-18 10:33:28 -05:00
Morph
0e1390257a
ns_vm: Stub NeedsUpdateVulnerability
...
This is used to force system updates on launching the web browser. We do not care about system updates so this can be set to false.
2020-12-18 10:33:28 -05:00
Morph
0c99879bec
frontend/input_interpreter: Add InputInterpreter API
...
The InputInterpreter class interfaces with HID to retrieve button press states. Input is intended to be polled every 50ms so that a button is considered to be held down after 400ms has elapsed since the initial button press and subsequent repeated presses occur every 50ms.
Co-authored-by: Chloe <25727384+ogniK5377@users.noreply.github.com>
2020-12-18 10:33:28 -05:00
Morph
7c1af698e4
controllers/npad: Make press_state atomic
2020-12-18 10:33:28 -05:00
Morph
a367dc5be0
applets/web: Implement the default web browser applet frontend
2020-12-18 10:33:28 -05:00
Morph
312d05c3ff
applets/web: Implement the offline browser applet backend
2020-12-18 10:33:27 -05:00
Morph
c3371126a0
applets/web: Initial implementation of the web browser applet
2020-12-18 10:33:27 -05:00
Morph
7da1c67f5a
applets: Remove the previous web browser applet implementation
2020-12-18 10:33:27 -05:00
Morph
f36865a3f4
system_archive: Add + and - buttons to the Nintendo Extended OSS font
2020-12-18 02:55:48 -05:00
ameerj
0bdbc27d82
buffer_queue: better use of std::array
2020-12-18 00:12:14 -05:00
ameerj
ad6bf1246c
Overwrite slots instead of queuing them, add disconnect signal
...
Fix for Katana Zero and Yoshi's Crafted World
2020-12-17 14:22:46 -05:00
Morph
8cd0b60587
system_archive: Update Nintendo Extended OSS font
...
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-12-17 08:58:13 -05:00
bunnei
70aed117a6
Merge pull request #5190 from Morph1984/validate_device_handle
...
controllers/npad: Validate device handles before use
2020-12-15 16:40:11 -08:00
bunnei
b87cc8b17e
Merge pull request #5119 from Morph1984/fs-opendatastoragewithprogramindex
...
fsp_srv: Implement OpenDataStorageWithProgramIndex
2020-12-15 11:07:03 -08:00
bunnei
6e6dcc8fd7
Merge pull request #5168 from Morph1984/aoc-PurchaseEventManager
...
aoc_u: Stub IPurchaseEventManager and its service commands
2020-12-14 16:08:38 -08:00
Morph
63115659b0
controllers/npad: Validate device handles before use
...
Some games such as NEKOPARA Vol. 3 send invalid device handles when calling InitializeVibrationDevice. Introduce a check to validate the device handle before use.
2020-12-12 07:05:38 -05:00
bunnei
f68691758d
Merge pull request #5183 from lioncash/alias2
...
vfs: Use existing type aliases consistently
2020-12-12 01:54:28 -08:00
bunnei
bf0fea0cfc
Merge pull request #5187 from Morph1984/revert-stdfs
...
fs: Revert all std::filesystem changes
2020-12-11 20:07:37 -08:00
bunnei
a1bc0b56de
Merge pull request #5172 from lioncash/svc-wide
...
svc: Remove unnecessary casts
2020-12-11 17:39:30 -08:00
Morph
9e47a3f7cd
Revert "Merge pull request #5176 from Morph1984/fix-createfile"
...
This reverts commit 586d5a72e1 , reversing
changes made to 1f5f5d8d3c .
2020-12-11 20:24:22 -05:00
bunnei
a00c2d6fca
Merge pull request #5123 from Morph1984/nim-IsLargeResourceAvailable
...
nim: Stub IsLargeResourceAvailable
2020-12-10 11:34:18 -08:00
Lioncash
fd6a753646
vfs: Use existing type aliases consistently
...
Makes use of the VirtualDir and VirtualFile aliases across the board
instead of having a few isolated places that don't use it.
2020-12-10 01:44:43 -05:00
Morph
b8c2935580
vfs_real: Fix CreateFile for files without a file extension
2020-12-09 06:34:49 -05:00
Rodrigo Locatti
714b347f96
Merge pull request #5142 from comex/xx-poll-events
...
network, sockets: Replace `POLL_IN`, `POLL_OUT`, etc. constants with an `enum class PollEvents`
2020-12-09 03:52:20 -03:00
bunnei
f923f9b6d0
Merge pull request #5166 from lioncash/log-cast
...
core: Remove unnecessary enum casts in log calls
2020-12-08 21:58:13 -08:00
bunnei
851af116b2
Merge pull request #5135 from Morph1984/applets-shadow
...
applets: Resolve variable shadowing
2020-12-08 17:43:59 -08:00
Lioncash
a4f07e1cc4
svc: Remove unnecessary casts
...
Simplifies and removes some casts. In all cases, these were generally
widening from a 32-bit unsigned type to a 64-bit unsigned type, so no
information would be lost from the conversion.
2020-12-08 15:42:10 -05:00
bunnei
c0ac666e2f
Merge pull request #5167 from lioncash/doc-memory
...
memory: Resolve -Wdocumentation warning for Write()
2020-12-08 11:47:04 -08:00
Morph
bd11a640d0
IPurchaseEventManager: Implement GetPurchasedEventReadableHandle
...
- Used by Pokémon Café Mix
- Used by DOOM: Eternal
2020-12-08 13:39:19 -05:00
Morph
e6f78dd3f0
IPurchaseEventManager: Stub Set(Default)DeliveryTarget
...
- Used by Pokémon Café Mix
- Used by DOOM: Eternal
2020-12-08 13:39:13 -05:00
Morph
6327da2213
aoc_u: Stub Create(Permanent)EcPurchasedEventManager
...
- Used by Pokémon Café Mix
- Used by DOOM: Eternal
2020-12-08 13:39:07 -05:00
Lioncash
024c10b697
memory: Resolve -Wdocumentation warning for Write()
...
Write() doesn't return anything, so the @returns tag shouldn't be
present.
2020-12-08 12:44:58 -05:00
Morph
419996f5db
fsp_srv: Implement OpenDataStorageWithProgramIndex
...
- Used by RollerCoaster Tycoon 3: Complete Edition
2020-12-08 08:19:05 -05:00
Morph
f30f97994b
file_sys: Consolidate common Title ID operations
2020-12-08 08:19:05 -05:00
Morph
8aa4a6d501
Merge pull request #5165 from lioncash/copy-controller
...
controller: Avoid unnecessary copies in ConfigurationComplete()
2020-12-08 20:48:45 +08:00
Lioncash
8f135703dc
core: Remove unnecessary enum casts in log calls
...
Follows the video core PR. fmt doesn't require casts for enum classes
anymore, so we can remove quite a few casts.
2020-12-07 23:02:23 -05:00
Lioncash
fb0e41b085
controller: Use std::move within ConvertToFrontendParameters()
...
Avoids unnecessary copies.
2020-12-07 22:04:16 -05:00
Lioncash
b3a31de3b9
controller: Avoid unnecessary copies in ConfigurationComplete()
...
Avoids unnecessary 1072 byte copies when querying info about
controllers.
2020-12-07 22:02:58 -05:00
Morph
439488a842
Merge pull request #5020 from german77/AnalogfromButtonFix
...
Disable analog joystick from buttons by default
2020-12-08 10:30:21 +08:00
german
1a3e4518ec
Disable analog joystick from buttons by default
2020-12-07 19:34:52 -06:00
bunnei
1613bbab8a
Merge pull request #5153 from comex/xx-unix
...
CMakeLists,network: Create YUZU_UNIX macro to replace __unix__
2020-12-07 15:32:06 -08:00
bunnei
9ba99af200
Merge pull request #5148 from comex/xx-unused-fields
...
core: Mark unused fields as [[maybe_unused]]
2020-12-06 22:33:00 -08:00
bunnei
6324f1e67f
Merge pull request #5154 from comex/xx-ipc
...
hle: Type check ResponseBuilder::Push arguments, and fix use in vi.cpp
2020-12-06 22:32:04 -08:00
LC
7694cb9154
Merge pull request #5147 from comex/xx-purevirt
...
nvdrv: Remove useless re-declaration of pure virtual methods that were already declared in the superclass
2020-12-07 00:08:46 -05:00
LC
5afcc5fb3d
Merge pull request #5150 from comex/xx-boxcat
...
boxcat: Avoid unnecessary object copy
2020-12-07 00:07:39 -05:00
LC
60ba2d11df
Merge pull request #5136 from lioncash/video-shadow3
...
video_core: Resolve more variable shadowing scenarios pt.3
2020-12-07 00:06:53 -05:00
comex
f5937952aa
network, sockets: Replace `POLL_IN`, `POLL_OUT`, etc. constants with an `enum class PollEvents`
...
Actually, two enum classes, since for some reason there are two separate
yet identical `PollFD` types used in the codebase. I get that one is
ABI-compatible with the Switch while the other is an abstract type used
for the host, but why not use `WSAPOLLFD` directly for the latter?
Anyway, why make this change? Because on Apple platforms, `POLL_IN`,
`POLL_OUT`, etc. (with an underscore) are defined as macros in
<sys/signal.h>. (This is inherited from FreeBSD.) So defining
a variable with the same name causes a compile error.
I could just rename the variables, but while I was at it I thought I
might as well switch to an enum for stronger typing.
Also, change the type used for values copied directly to/from the
`events` and `revents` fields of the host *native*
`pollfd`/`WSASPOLLFD`, from `u32` to `short`, as `short` is the correct
canonical type on both Unix and Windows.
2020-12-06 19:14:42 -05:00
comex
086238f1ac
Fix "explicitly defaulted but implicitly deleted" warning
...
`PhysicalCore`'s move assignment operator was declared as `= default`,
but was implicitly deleted because `PhysicalCore` has fields
of reference type. Switch to explicitly deleting it to avoid a Clang
warning.
The move *constructor* is still defaulted, and is required to exist due
to the use of `std::vector<PhysicalCore>`.
2020-12-06 19:02:04 -05:00
comex
63994da5c3
hle: Type check ResponseBuilder::Push arguments, and fix use in vi.cpp
...
- Add a type check so that calling Push with an invalid type produces a
compile error rather than a linker error.
- vi.cpp was calling Push with a variable of type `std::size_t`.
There's no explicit overload for `size_t`, but there is one for `u64`,
which on most platforms is the same type as `size_t`. On macOS,
however, it isn't: both types are 64 bits, but `size_t` is `unsigned
long` and `u64` is `unsigned long long`. Regardless, it makes more
sense to explicitly use `u64` here instead of `size_t`.
2020-12-06 18:59:22 -05:00
comex
3c7962df41
CMakeLists,network: Create YUZU_UNIX macro to replace __unix__
...
__unix__ is not predefined on Apple platforms even though they are Unix.
2020-12-06 18:56:40 -05:00
comex
cf99d67e66
core: Mark unused fields as [[maybe_unused]]
2020-12-06 18:36:10 -05:00
comex
8e924224df
boxcat: Avoid unnecessary object copy
2020-12-06 18:31:13 -05:00
comex
e250594b6e
nvdrv: Remove useless re-declaration of pure virtual methods that were already declared in the superclass
2020-12-06 18:24:33 -05:00
bunnei
144e143a40
hle: kernel: Process: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
cf7a66a3cc
core: cpu_manager: Fix a typo in PreemptSingleCore, which broke many games.
...
- We were reload'ing the old current scheduler, which may have changed.
2020-12-06 00:27:13 -08:00
bunnei
37b1919b4d
hle: kernel: Thread: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
f83f0ef61b
hle: kernel: KScopedSchedulerLockAndSleep: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
85c01ee860
hle: kernel: KScopedLock: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
e3e254b713
hle: kernel: KAbstractSchedulerLock: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
2033f0a1a3
hle: kernel: KScheduler: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
dfacfa12d3
hle: kernel: KPriorityQueue: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
266d16c350
hle: kernel: KAffinityMask: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
ddaecce2f5
hle: kernel: GlobalSchedulerContext: Various style fixes based on code review feedback.
2020-12-06 00:27:13 -08:00
bunnei
ea30e22ef1
hle: kernel: Use C++ style comments in KScheduler, etc.
2020-12-06 00:03:24 -08:00
bunnei
c3c09d9a35
kernel: KScopedSchedulerLockAndSleep: Remove unused ctor.
2020-12-06 00:03:24 -08:00
bunnei
31243d2b7a
kernel: time_manager: Add missing lock guards.
2020-12-06 00:03:24 -08:00
bunnei
de522657dd
hle: kernel: Migrate to KScopedSchedulerLock.
2020-12-06 00:03:24 -08:00
bunnei
61e017a026
hle: kernel: Separate KScopedSchedulerLockAndSleep from k_scheduler.
2020-12-06 00:03:24 -08:00
bunnei
4f16c961c9
hle: kernel: Separate KScheduler from GlobalSchedulerContext class.
2020-12-06 00:03:24 -08:00
bunnei
039844bbb9
hle: kernel: Rewrite scheduler implementation based on Mesopshere.
2020-12-06 00:03:24 -08:00
bunnei
abc079aca1
hle: kernel: physical_core: Clear exclusive state after each run.
...
- This is closer to pre-multicore behavior, and works a bit better.
2020-12-06 00:03:24 -08:00
bunnei
1ffab4019b
hle: kernel: Port KAbstractSchedulerLock from Mesosphere.
2020-12-06 00:03:24 -08:00
bunnei
0c9f4d749c
hle: kernel: svc: Remove reschedule on svcBreak.
...
- This breaks things, and is unnecessary, since emulation will be done at this point.
2020-12-06 00:03:24 -08:00
bunnei
cd66ac3af5
hle: kernel: process: Add schedule count tracking, to be used for yield impl.
2020-12-06 00:03:24 -08:00
bunnei
5f00b01a5d
hle: kernel: svc: Remove unnecessary hack in svcSleep.
2020-12-06 00:03:24 -08:00
bunnei
11e7b74858
common: Port KPriorityQueue from Mesosphere.
2020-12-06 00:03:24 -08:00
bunnei
ba09b4d69d
hle: kernel: Port KAffinityMask from Mesosphere.
2020-12-06 00:03:24 -08:00
Lioncash
5db4785535
video_core: Resolve more variable shadowing scenarios pt.3
...
Cleans out the rest of the occurrences of variable shadowing and makes
any further occurrences of shadowing compiler errors.
2020-12-05 16:02:23 -05:00
Morph
6efd390668
applets: Resolve variable shadowing
2020-12-05 08:37:13 -05:00
Chloe Marcec
6d887d0d92
system_version: Update to 11.0.0
2020-12-05 16:08:03 +11:00
Morph
ce2a7beb05
nim: Stub IsLargeResourceAvailable
...
- Used by Immortals Fenyx Rising
2020-12-04 09:53:21 -05:00
bunnei
c1f4f013fe
Merge pull request #4996 from bunnei/use-4jits
...
Kernel: Refactor to use 4-instances of Dynarmic & various cleanups and improvements
2020-12-03 15:32:45 -08:00
bunnei
4547af2ba5
Merge pull request #5000 from lioncash/audio-error
...
audio_core: Make shadowing and unused parameters errors
2020-12-02 23:08:43 -08:00
Lioncash
29db886722
audio_core: Make shadowing and unused parameters errors
...
Moves the audio code closer to enabling warnings as errors in general.
2020-12-03 00:54:31 -05:00
bunnei
eba344f859
Merge pull request #4937 from german77/multiUDP
...
InputCommon: Add multiple udp server support
2020-12-01 11:47:37 -08:00
bunnei
0c0c14ca1e
Merge pull request #4939 from german77/MouseInput
...
InputCommon: Implement full mouse support
2020-11-29 22:59:50 -08:00
bunnei
3edaafa295
kernel: scheduler: Minor cleanup to remove duplicated code.
2020-11-29 01:31:52 -08:00
bunnei
64cb411dda
kernel: time_manager: Protect access with a mutex.
2020-11-29 01:31:52 -08:00
bunnei
b2de57e93e
hle: kernel: thread: Remove unused "Running" state.
2020-11-29 01:31:52 -08:00
bunnei
a5b73195c9
core: arm: Implement InvalidateCacheRange for CPU cache invalidation.
2020-11-29 01:31:52 -08:00
bunnei
5114c6f3ac
hle: kernel: time_manager: Avoid a crash on process exit.
2020-11-29 01:31:51 -08:00
bunnei
026a8dd832
hle: kernel: AddressArbiter: Remove unused code.
2020-11-29 01:31:51 -08:00
bunnei
e7c2a66ecd
hle: kernel: SynchronizationObject: Use atomic_bool for is_signaled.
2020-11-29 01:31:51 -08:00
bunnei
b92d8acd2f
common: fiber: Use boost::context instead of native fibers on Windows.
2020-11-29 01:31:51 -08:00
bunnei
aaffe73f47
hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.
2020-11-29 01:31:51 -08:00
bunnei
276a0f7b8c
Merge pull request #4998 from Morph1984/bioshock-patch
...
hid: Check if applet_resource exists in InitializeVibrationDevice
2020-11-28 23:20:23 -08:00
german
2a93b187a6
Add missing types to NpadCommunicationMode
2020-11-28 21:56:02 -06:00
bunnei
4e480c2990
Merge pull request #5021 from german77/StubCommunicationMode
...
HID: Stub set and get NpadCommunicationMode
2020-11-28 15:22:46 -08:00
bunnei
1161176ff7
Merge pull request #5011 from lioncash/file-str2
...
core: Reduce string copies in GetGameFileFromPath()
2020-11-27 17:23:00 -08:00
Lioncash
c06510376a
core: Eliminate remaining usages of the global system instance
...
Removes all remaining usages of the global system instance. After this,
migration can begin to migrate to being constructed and managed entirely
by the various frontends.
2020-11-27 11:40:45 -05:00
Lioncash
acf893542a
savedata_factory: Eliminate usage of the global system instance
...
Now there's only two meaningful instances left in core.
2020-11-27 09:45:08 -05:00
german
d9d2a0aac7
Stub set and get NpadCommunicationMode
2020-11-26 21:35:11 -06:00
Lioncash
346271b80b
service: Eliminate usages of the global system instance
...
Completely removes all usages of the global system instance within the
services code by passing in the using system instance to the services.
2020-11-26 20:03:11 -05:00
Lioncash
064f17c5b1
core: Reduce string copies in GetGameFileFromPath()
...
Eliminates some minor string churn where applicable. Also eliminates an
unnecessary vector copy.
2020-11-26 14:05:13 -05:00
bunnei
a20ffebc80
Merge pull request #4975 from comex/invalid-syncpoint-id
...
nvdrv, video_core: Don't index out of bounds when given invalid syncpoint ID
2020-11-26 01:27:24 -08:00
german
56a8fee35a
Implement full mouse support
2020-11-25 23:59:30 -06:00
bunnei
a265c454f3
Merge pull request #4981 from ogniK5377/ioctl-ctrl
...
nvservices: Reintroducee IoctlCtrl
2020-11-25 21:48:57 -08:00
german
6708e0ec0e
Add multiple udp server support
2020-11-25 23:44:41 -06:00
Rodrigo Locatti
d9c847bdde
Merge pull request #4976 from comex/poll-events
...
Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main thread
2020-11-25 20:44:53 -03:00
Morph
9b00708d96
hid: Check if applet_resource exists in InitializeVibrationDevice
2020-11-25 13:33:30 -05:00
bunnei
bd0a2db49a
Merge pull request #4978 from bunnei/shutdown-crash
...
core: cpu_manager: Fix shutdown crash when closing before emulation starts.
2020-11-25 01:20:01 -08:00
bunnei
28843b094f
core: cpu_manager: Fix shutdown crash when closing before emulation starts.
2020-11-24 15:25:39 -08:00
bunnei
faffc3144c
service: am: Implement ExecuteProgram and required stubs.
...
- This is used by Super Mario 3D All-Stars.
2020-11-24 15:17:43 -08:00
bunnei
9f8d7748d9
core: loader: Implement support for loading indexed programs.
2020-11-24 15:16:24 -08:00
bunnei
5f53d285aa
hle: services: Fix a crash with improper NVFlinger lifetime management. ( #4977 )
...
* hle: services: Fix a crash with improper NVFlinger lifetime management.
- This crash would happen when attempting to shutdown yuzu early on in boot.
2020-11-24 14:31:58 -08:00
comex
00f2c7fbb9
nvdrv, video_core: Don't index out of bounds when given invalid syncpoint ID
...
- Use .at() instead of raw indexing when dealing with untrusted indices.
- For the special case of WaitFence with syncpoint id UINT32_MAX,
instead of crashing, log an error and ignore. This is what I get when
running Super Mario Maker 2.
2020-11-24 12:59:41 -05:00
Rodrigo Locatti
4f1f4ecef7
Merge pull request #4942 from lioncash/system
...
core: Make use of [[nodiscard]] with the System class
2020-11-24 04:26:59 -03:00
Rodrigo Locatti
2717355678
Merge pull request #4972 from lioncash/unused4
...
svc: Remove unnecessary [[maybe_unused]] tag
2020-11-24 04:25:59 -03:00
Chloe Marcec
f8d84ecae2
nvservices: Reintroducee IoctlCtrl
...
Fixes regression caused by #4907 which caused games like Breath of the Wild 1.0.0 not to boot.
2020-11-24 16:40:23 +11:00
bunnei
2ac1148798
Fix warnings in core/frontend/input.h with [[maybe_unused]]
...
Fixes build break due to #4927
2020-11-23 18:11:21 -08:00
bunnei
ec40411cfe
Merge pull request #4927 from lioncash/input-error
...
input_common: Treat warnings as errors
2020-11-23 17:25:53 -08:00
comex
bb729eefce
Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main thread
...
EmuWindow::PollEvents was called from the GPU thread (or the CPU thread
in sync-GPU mode) when swapping buffers. It had three implementations:
- In GRenderWindow, it didn't actually poll events, just set a flag and
emit a signal to indicate that a frame was displayed.
- In EmuWindow_SDL2_Hide, it did nothing.
- In EmuWindow_SDL2, it did call SDL_PollEvents, but this is wrong
because SDL_PollEvents is supposed to be called on the thread that set
up video - in this case, the main thread, which was sleeping in a
busyloop (regardless of whether sync-GPU was enabled). On macOS this
causes a crash.
To fix this:
- Rename EmuWindow::PollEvents to OnFrameDisplayed, and give it a
default implementation that does nothing.
- In EmuWindow_SDL2, do not override OnFrameDisplayed, but instead have
the main thread call SDL_WaitEvent in a loop.
2020-11-23 17:58:49 -05:00
bunnei
7781ef2038
Merge pull request #4451 from slashiee/extended-logging
...
logging/settings: Increase maximum log size to 100 MB and add extended logging option
2020-11-23 13:34:15 -08:00
Lioncash
b038dcf23c
svc: Remove unnecessary [[maybe_unused]] tag
...
The parameter is used in this function, so this suppression isn't
necessary.
2020-11-23 10:17:20 -05:00
Lioncash
c8aec32f12
input_common: Treat warnings as errors
...
Migrates over warnings as errors for input common to match how the
common library treats warnings as errors.
2020-11-22 04:50:03 -05:00
bunnei
c0ca8b9fa4
Merge pull request #4944 from lioncash/system-rem
...
patch_manager: Remove usages of the global system instance
2020-11-21 22:12:34 -08:00
bunnei
7e733589be
Merge pull request #4907 from ogniK5377/nvdrv-cleanup
...
core: Make nvservices more standardized
2020-11-20 22:15:44 -08:00
bunnei
2f0eb8d38c
olsc: Move member initialization to after member functions.
2020-11-20 10:50:50 -08:00
bunnei
655892e84b
hle: service: Stub OLSC Initialize and SetSaveDataBackupSettingEnabled functions.
...
- Used by Animal Cross: New Horizons v1.6.0 update, minimal stub gets this update working.
2020-11-19 12:36:09 -08:00
Lioncash
b4b63c878f
patch_manager: Remove usages of the global system instance
...
With this, only 19 usages of the global system instance remain within
the core library.
We're almost there.
2020-11-18 09:36:48 -05:00
Lioncash
82ef99b107
core: Remove unused private Init function for the System class
...
This isn't used, so it can be removed.
2020-11-18 02:09:08 -05:00
Lioncash
637aa4ddef
core: Make use of [[nodiscard]] with the System class
...
Given this is a central class, we should flag cases where the return
value of some functions not being used is likely a bug.
2020-11-18 02:06:44 -05:00
Morph
2d3476dd7f
hid: Reimplement Begin/EndPermitVibrationSession
...
Upon further investigation, these commands allow temporary vibrations even when the "Controller Vibration" system setting is disabled. As a result, vibrations are allowed when either the system setting or this flag is set to true. Therefore, we can only block vibrations when both flags are set to false.
2020-11-15 23:33:21 -05:00
Morph
7adf26daf0
controllers/npad: Load input devices on init
2020-11-15 23:33:21 -05:00
Morph
75ee0c94a0
general: Fix compiler warnings on linux and miscellaneous changes
2020-11-15 23:33:21 -05:00
Morph
bd42b2093c
controllers/npad: Remove the old vibration filter
...
Previously we used a vibration filter that filters out amplitudes close to each other. It turns out there are cases where this results into vibrations that are too inaccurate. Remove this and move the 100Hz vibration filter (Only allowing a maximum of 100 vibrations per second) from sdl_impl to npad when enable_accurate_vibrations is set to false.
2020-11-15 23:33:21 -05:00
Morph
6f80c78568
hid: Implement InitializeVibrationDevice and IsVibrationDeviceMounted
2020-11-15 23:33:20 -05:00
Morph
ad3905fe27
input_common: Add VibrationDevice and VibrationDeviceFactory
...
A vibration device is an input device that returns an unsigned byte as status.
It represents whether the vibration device supports vibration or not.
If the status returns 1, it supports vibration. Otherwise, it does not support vibration.
2020-11-15 23:33:20 -05:00
Morph
cce389221b
configure_input: Add per-player vibration
...
Allows for enabling and modifying vibration and vibration strength per player.
Also adds a toggle for enabling/disabling accurate vibrations.
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-11-15 23:33:20 -05:00
Morph
ee8ec56291
settings: Remove global vibration strength modifier
...
This will be replaced in favor of per-player vibration strength modifiers.
2020-11-15 23:33:20 -05:00
Morph
bb0a55c4db
hid: Mark Begin/EndPermitVibrationSession as stubs
...
The implementation of these commands seem incomplete and causes rumble in Super Mario Party to stop working since only EndPermitVibrationSession is called. Thus, these are better off being marked as a stub until this can be investigated more thoroughly.
2020-11-15 23:33:20 -05:00
Morph
cd2f8d7e4a
controllers/npad: Send an empty vibration on destruction/deactivation
...
This stops all controllers from continuously vibrating when emulation is stopped.
2020-11-15 23:33:20 -05:00
Morph
193418c57f
hid: Stub IsVibrationDeviceMounted
...
- Used in Super Mario Odyssey
2020-11-15 23:33:20 -05:00
Morph
ed9df522ec
controllers/npad: Add heuristics to reduce rumble state changes
...
Sending too many state changes in a short period of time can cause massive performance issues.
As a result, we have to use several heuristics to reduce the number of state changes to minimize/eliminate this performance impact while maintaining the quality of these vibrations as much as possible.
2020-11-15 23:33:20 -05:00
Morph
06bc7678ba
configure_input: Hook up the vibration percentage spinbox
...
This allows setting the vibration strength percentage anywhere from 1% to 100%.
Also hooks up the remaining motion button and checkbox in the Controller Applet.
2020-11-15 23:33:20 -05:00
Morph
3281c3b1cb
controllers/npad: Stop games from vibrating incorrect controllers
...
Fixes vibration in 1-2 Switch and potentially other games where they would vibrate both players' joycons at the same time.
2020-11-15 23:33:20 -05:00
Morph
f474cab023
hid: Fix controller rumble based on new research
...
This fixes the issue where rumble is only sent to the first controller.
Now, individual controllers can receive their own rumble commands.
2020-11-15 23:33:20 -05:00
Morph
82d901ae8b
hid: Pop a struct of parameters instead of popping individual parameters
...
Some parameters need to be doubleword aligned due to the presence of the applet_resource_user_id.
Previously, this value was invalid in many commands where it was not doubleword aligned when popped.
2020-11-15 23:33:20 -05:00
Morph
dc7a9a7be2
hid: Reorder all HID commands
...
Reorders all HID commands in command id order.
2020-11-15 23:33:20 -05:00
Morph
c9937559f4
hid: Implement GetVibrationDeviceInfo
...
The first u32 describes the vibration device type which is a Linear Resonant Actuator used in Nintendo Switch controller hardware.
The second u32 describes the vibration device position, in this case distinguishing between left and right vibration actuators.
Pro Controllers have 2 LRAs each that can vibrate independently of each other, which means they have 2 distinct vibration device handles to distinguish between the two actuators.
Similarly for joycons, the left joycon can be distinguished from the right joycon through the vibration device handle since each joycon has 1 LRA.
2020-11-15 23:33:20 -05:00
Morph
8a35dd51ee
hid: Stub InitializeVibrationDevice
2020-11-15 23:33:20 -05:00
Morph
294f3dd914
controllers/npad: Rename NPadType to NpadStyleSet
...
This more accurately represents the underlying type and avoids confusion with NpadType
2020-11-15 23:33:20 -05:00
Morph
f279871f0b
controllers/npad: Add DeviceHandle struct
...
A DeviceHandle describes a vibration device or six-axis sensor based on the npad type, npad id, and device index/position
2020-11-15 23:33:20 -05:00
Morph
1c1a83a20d
settings: Preparation for per-game input settings
2020-11-15 23:33:20 -05:00
Morph
0a85f0fd25
controllers/npad: Connect a controller on init if none are connected
2020-11-15 23:33:19 -05:00
bunnei
6c12c7afc9
Merge pull request #4895 from Morph1984/cave-story-plus-applet-fix
...
applets/controller: Introduce additional checks for mode and caller
2020-11-12 21:55:06 -08:00
bunnei
ca2f385e38
Merge pull request #4901 from bunnei/caps-stub
...
hle: service: caps_u: Stub GetAlbumFileList3AaeAruid.
2020-11-09 21:20:08 -08:00
Chloe Marcec
d8f879952c
Addressed issues
2020-11-10 15:57:36 +11:00
Chloe Marcec
f0b74aa725
core: Make nvservices more standardized
2020-11-10 15:57:35 +11:00
Rodrigo Locatti
88898861a6
Merge pull request #4909 from lioncash/interrupt
...
cpu_interrupt_handler: Mark move contructor/assignment as deleted
2020-11-08 22:09:40 -03:00
Lioncash
e7fe020ace
ipc_helpers: Remove usage of the global system instance
...
Resolves numerous deprecation warnings throughout the codebase due to
inclusion of this header. Now building core should be significantly less
noisy (and also relying on less global state).
This also uncovered quite a few modules that were relying on indirect
includes, which have also been fixed.
2020-11-08 15:58:11 -05:00
Lioncash
9568c94a11
cpu_interrupt_handler: Mark move contructor/assignment as deleted
...
The interrupt handler contains a std::atomic_bool, which isn't copyable
or movable, so the special move member functions will always be deleted,
despite being defaulted.
This can resolve warnings on clang and GCC.
2020-11-08 15:37:04 -05:00
Morph
a7bee25d73
applets: Rename LibraryAppletVersion to ControllerAppletVersion
2020-11-08 10:04:12 -05:00
Morph
02b6d04d64
applets/controller: Pop normal data for StrapGuide and FirmwareUpdate
2020-11-08 09:35:25 -05:00
Morph
5c26e16783
applets/controller: Introduce additional checks for mode and caller
...
Some games like Cave Story+ set invalid values in the ControllerPrivateArg's mode and caller fields.
Use other fields to determine the appropriate mode and caller should either or both fields be invalid.
2020-11-08 09:35:25 -05:00
Morph
eca32e90db
applets/controller: Add ControllerUpdateFirmwareArg struct
2020-11-08 09:35:25 -05:00
bunnei
d52953b66e
Merge pull request #4903 from bunnei/remove-gpu-integrity
...
video_core: dma_pusher: Remove integrity check on command lists.
2020-11-08 02:48:22 -08:00
LC
d52a8168a2
Merge pull request #4906 from lat9nq/log-cpu-accuracy
...
settings: log value of CPU_Accuracy
2020-11-07 17:01:33 -05:00
lat9nq
ec0f96cdd1
settings: log value of CPU_Accuracy
2020-11-07 16:14:10 -05:00
bunnei
0b6324b3a6
video_core: dma_pusher: Remove integrity check on command lists.
...
- This seems to cause softlocks in Breath of the Wild.
2020-11-07 00:08:19 -08:00
bunnei
08056a8c3d
Merge pull request #4888 from lioncash/unicorn-remove
...
core: Remove usage of unicorn
2020-11-06 22:39:05 -08:00
bunnei
479a52a8d4
hle: service: caps_u: Stub GetAlbumFileList3AaeAruid.
...
- This works similiar to GetAlbumContentsFileListForApplication.
- Since we do not implement the album, this should be safe to stub for now.
- Used by Super Smash Bros. Ultimate (newer updates) in World of Light.
2020-11-06 22:23:15 -08:00
Lioncash
4c3b3b3cd1
settings: Simplify initializer of resolution factor
...
This can use a braced initializer to accomplish the same thing with less
code.
2020-11-05 22:07:10 -05:00
bunnei
653b82fbc3
Merge pull request #4889 from lioncash/setting-global
...
core/settings: Move configuring_global behind an API
2020-11-04 17:09:19 -08:00
bunnei
97547d70f5
Merge pull request #4858 from lioncash/initializer
...
General: Resolve a few missing initializer warnings
2020-11-04 12:10:10 -08:00
Lioncash
b1de33af75
core/settings: Move configuring_global behind an API
...
Rather than have directly modified global state here, we can make it an
implementation detail and have an interface that changes are queried
through.
2020-11-04 04:16:37 -05:00
Chloe
c16acdfb9b
Merge pull request #4869 from bunnei/improve-gpu-sync
...
Improvements to GPU synchronization & various refactoring
2020-11-04 18:36:55 +11:00
Lioncash
5c55f3b585
core: Remove usage of unicorn
...
Unicorn long-since lost most of its use, due to dynarmic gaining support
for handling most instructions. At this point any further issues
encountered should be used to make dynarmic better.
This also allows us to remove our dependency on Python.
2020-11-03 20:22:05 -05:00
bunnei
04f9045b01
Merge pull request #4878 from bunnei/unload-nrr
...
hle: service: ldr: Implement UnloadNrr.
2020-11-03 08:52:40 -08:00
bunnei
f8b764dbf2
fixup! hle service: nvdrv: nvhost_gpu: Update to use SyncpointManager and other improvements.
2020-11-01 01:52:38 -07:00
bunnei
0e90fce8d4
core: Initialize GPU before services.
2020-11-01 01:52:38 -07:00
bunnei
57f20d0d70
hle service: nvdrv: nvhost_gpu: Update to use SyncpointManager and other improvements.
...
- Refactor so that SubmitGPFIFO and KickoffPB use shared functionality.
- Implement add_wait and add_increment flags.
2020-11-01 01:52:38 -07:00
bunnei
d787a5bfde
service: hle: nvflinger: Fix potential shutdown crash when GPU is destroyed.
2020-11-01 01:52:38 -07:00
bunnei
617372b751
hle service: nvdrv: nvhost_ctrl: Update to use SyncpointManager.
2020-11-01 01:52:37 -07:00
bunnei
df095c8963
hle service: nvdrv: Update to instantiate SyncpointManager.
2020-11-01 01:52:34 -07:00
bunnei
317c2ac884
hle: service: nvdrv: Implement SyncpointManager, to manage syncpoints.
2020-11-01 01:51:54 -07:00
Levi Behunin
381586d56c
Rename to align with switchbrew and remove gpu function ( #4714 )
...
* Rename to align with switchbrew
* Rename to align with switchbrew and remove gpu function that checks if clearing should be done.
2020-11-01 01:24:17 -07:00
bunnei
4c09a6399c
hle: service: ldr: Implement UnloadNrr.
...
- Used by Final Fantasy X/X-2 HD Remaster.
2020-10-31 01:22:53 -07:00
Jan Beich
c751be210e
video_core: unbreak -Werror in NVDEC with Clang
...
src/core/hle/service/nvdrv/devices/nvhost_nvdec_common.cpp:41:15: error: unused variable 'OutOfMemory' [-Werror,-Wunused-const-variable]
constexpr u32 OutOfMemory{static_cast<u32>(-12)};
^
2020-10-30 16:43:10 +00:00
Lioncash
3e654ff0d0
General: Resolve a few missing initializer warnings
...
Resolves a few -Wmissing-initializer warnings.
2020-10-29 19:37:07 -04:00
Morph
fc09a13d34
kernel/process: Add missing <ctime> include
...
Fixes compilation on MSVC
2020-10-29 03:17:20 -04:00
bunnei
b4556dd78d
Merge pull request #4835 from lat9nq/rng-default-time
...
kernel: Use the current time as the default RNG seed
2020-10-28 22:51:29 -07:00
bunnei
f3f1558313
Merge pull request #4846 from lioncash/service-fn
...
service: Update function tables
2020-10-28 13:47:56 -07:00
Lioncash
0368d43dff
service: Update function tables
...
Updates function tables according to info on SwitchBrew.
2020-10-27 21:19:46 -04:00
bunnei
89e414a2fb
Merge pull request #4729 from ameerj/nvdec-prod
...
video_core: NVDEC Implementation
2020-10-26 23:02:42 -07:00
ReinUsesLisp
1a1ca86eb5
hle/kernel: Remove unused registered_core_threads to fix data races
...
This member was only used on asserts and it triggered data races.
Remove it to fix them.
2020-10-27 01:55:39 -03:00
bunnei
5815928653
Merge pull request #4832 from bunnei/cpu-manager-microprofile-fix
...
core: cpu_manager: Add missing call to MicroProfileOnThreadExit().
2020-10-26 21:29:09 -07:00
bunnei
fc2d916976
Merge pull request #4833 from bunnei/timezonemanager-explicit
...
hle: services: TimeZoneContentManager: This can be made explicit.
2020-10-26 21:28:45 -07:00
ameerj
9ef5c53e52
video_core: NVDEC Implementation
...
This commit aims to implement the NVDEC (Nvidia Decoder) functionality, with video frame decoding being handled by the FFmpeg library.
The process begins with Ioctl commands being sent to the NVDEC and VIC (Video Image Composer) emulated devices. These allocate the necessary GPU buffers for the frame data, along with providing information on the incoming video data. A Submit command then signals the GPU to process and decode the frame data.
To decode the frame, the respective codec's header must be manually composed from the information provided by NVDEC, then sent with the raw frame data to the ffmpeg library.
Currently, H264 and VP9 are supported, with VP9 having some minor artifacting issues related mainly to the reference frame composition in its uncompressed header.
Async GPU is not properly implemented at the moment.
Co-Authored-By: David <25727384+ogniK5377@users.noreply.github.com>
2020-10-26 23:07:36 -04:00
bunnei
5760a283f6
Merge pull request #4834 from lioncash/copy-fn
...
controller: Pass ControllerParameters by reference in ReconfigureControllers()
2020-10-26 18:49:26 -07:00
lat9nq
2974d72a2a
kernel: Use the current time as the default RNG seed
...
Use the current time, not zero, as the default RNG seed.
2020-10-26 21:42:11 -04:00
Lioncash
c3f019b9eb
controller: Pass ControllerParameters by reference in ReconfigureControllers()
...
Prevents unnecessary copies and heap reallocations from occurring.
2020-10-26 21:06:15 -04:00
bunnei
379ef37035
hle: services: TimeZoneContentManager: This can be made explicit.
2020-10-26 16:11:45 -07:00
bunnei
321fbec267
core: cpu_manager: Add missing call to MicroProfileOnThreadExit().
...
- Fixes an occasional crash when trying to launch subsequent games.
2020-10-26 16:09:15 -07:00
Rodrigo Locatti
e790827d99
Merge pull request #4828 from lioncash/lockguard
...
general: Use template deduction guides for lock_guard
2020-10-25 16:55:54 -03:00
Lioncash
59a56fa810
general: Use template deduction guides for lock_guard
...
Same behavior, less code.
2020-10-25 13:53:22 -04:00
bunnei
8246151e3a
Merge pull request #4792 from bunnei/rtc-fix
...
service: time: Update current time with changes to RTC setting.
2020-10-22 20:46:54 -07:00
Lioncash
c7b6027f34
core: Fix clang build pt.3
...
Should finally resolve building with clang.
2020-10-21 22:14:23 -04:00
Lioncash
2d48020ca5
core: Fix clang build pt.2
...
Resolves the clang build issue in a more unintrusive way.
2020-10-20 22:16:03 -04:00
bunnei
deb3536936
Revert "core: Fix clang build"
2020-10-20 19:07:39 -07:00
Lioncash
1367e8fb75
kernel: Fix build with recent compiler flag changes
...
This slipped through the cracks due to another change being merged
before the compiler flag changes.
2020-10-20 20:23:18 -04:00
LC
b02702a86a
Merge pull request #4796 from lioncash/clang
...
core: Fix clang build
2020-10-20 19:19:12 -04:00
bunnei
28b9805482
Merge pull request #4390 from ogniK5377/get-applet-inf-stub
...
nifm: GetAppletInfo stub
2020-10-20 15:59:19 -07:00
David Marcec
b54f39b1d4
Added remaining params
2020-10-20 16:45:01 +11:00
David Marcec
83cb5a2c74
nifm: GetAppletInfo stub
...
Fixes crash for Catherine Full Body
2020-10-20 16:42:40 +11:00
bunnei
639ff00184
Merge pull request #4788 from ReinUsesLisp/lockfree-host-thread
...
kernel: Implement host thread register methods without locking
2020-10-19 22:31:52 -07:00
bunnei
b1883e0c5f
Merge pull request #4785 from Morph1984/fs-hades
...
filesystem: Fix CreateDirectory and DeleteFile
2020-10-19 16:04:01 -07:00
bunnei
8e2a35be16
Merge pull request #4802 from lioncash/bcat
...
core: Add boxcat sources with target_sources
2020-10-19 12:40:49 -07:00
bunnei
65569c049e
Merge pull request #4783 from bunnei/nvdrv-freespace
...
hle: service: nvdrv: Implement nvhost_as_gpu::FreeSpace.
2020-10-18 12:41:18 -07:00
Lioncash
a1b5ea953f
core: Add boxcat sources with target_sources
...
Same behavior, minus a script variable.
2020-10-18 08:09:06 -04:00
bunnei
91e384c640
Merge pull request #4801 from lioncash/missing-bound
...
mii/manager: Make use of unused lower bound in GetRandomValue()
2020-10-17 23:32:40 -07:00
Lioncash
18636013c9
core: Fix clang build
...
Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.
Fixes #4795
2020-10-17 19:50:39 -04:00
Lioncash
ab33132ccb
mii/manager: Make use of unused lower bound in GetRandomValue()
...
Previously, the lower bound wasn't being used and zero was being used as
the lower bound every time this function was called.
This affects the outcome of some of the randomized entries a little bit,
for example, the lower-bound for beard and mustache flags was supposed
to be 1, not 0.
Aside from these cases, the bug didn't affect anything else.
2020-10-17 09:50:04 -04:00
bunnei
bf6d4d3052
service: bcat: Check client connection before interacting with socket.
...
- Fixes a crash when BCAT service is offline.
2020-10-16 21:16:56 -07:00
bunnei
1ccbb35400
Merge pull request #4784 from bunnei/cancelbuffer
...
hle: service: vi: Implement BufferQueue::CancelBuffer.
2020-10-15 19:57:27 -07:00
bunnei
de8829370d
service: acc: Stub IManagerForApplication::StoreOpenContext.
...
- Used by Super Mario 3D All-Stars.
2020-10-14 20:06:33 -07:00
bunnei
cab012dd01
hle: service: vi: Implement BufferQueue::CancelBuffer.
...
- This is used by Super Mario 3D All-Stars.
2020-10-13 22:11:52 -07:00
ReinUsesLisp
a13623c68b
kernel: Implement host thread register methods without locking
...
Locks on GetCurrentHostThreadID were causing performance issues
according to Visual Studio's profiler. It was consuming twice the time
as arm_interface.Run(). The cost was not in the function itself but in
the lockinig it required.
Reimplement these functions using atomics and static storage instead of
an unordered_map. This is a side effect to avoid locking and using linked
lists for reads.
Replace unordered_map with a linear search.
2020-10-13 18:00:25 -03:00
Lioncash
16de0a6a96
core/CMakeLists: Make some warnings errors
...
Makes our error coverage a little more consistent across the board by
applying it to Linux side of things as well. This also makes it more
consistent with the warning settings in other libraries in the project.
This also updates httplib to 0.7.9, as there are several warning
cleanups made that allow us to enable several warnings as errors.
2020-10-13 13:16:49 -04:00
Morph
585838ca42
filesystem: Fix CreateDirectory and DeleteFile
...
Add a check if dir is nullptr (does not exist)
Fixes save game creation in Hades
2020-10-13 00:57:04 -04:00
bunnei
3fb8109c94
service: time: Update current time with changes to RTC setting.
...
- This can be used to advance time, e.g. for Pokemon Sword/Shield pokejobs.
2020-10-12 18:09:15 -07:00
bunnei
77bf864c94
Merge pull request #3929 from FearlessTobi/ticket-keys
...
file_sys/nsp: Make SetTicketKeys actually do something
2020-10-12 17:58:36 -07:00
bunnei
649a262f4e
hle: service: nvdrv: Implement nvhost_as_gpu::FreeSpace.
...
- This is used by Super Mario 3D All-Stars.
2020-10-12 17:39:14 -07:00
bunnei
44641fe2a9
Merge pull request #4736 from Morph1984/home-button-input-protection-stub
...
hid: Stub HomeButtonInputProtection service commands
2020-10-07 14:54:05 -07:00
bunnei
a2784b68b7
Merge pull request #4710 from Morph1984/fix-integrated-updates
...
submission_package: Fix updates integrated into cartridge images.
2020-10-06 22:27:52 -07:00
bunnei
d2850ea1f9
Merge pull request #4737 from Morph1984/setshimlibraryversion-stub
...
capsrv: Stub 3 variants of SetShimLibraryVersion
2020-10-06 21:39:38 -07:00
bunnei
49806f49a3
Merge pull request #4742 from german77/InputFilter
...
HID: Only use inputs corresponding to controller type
2020-10-05 21:40:09 -07:00
bunnei
1a09214fd5
Merge pull request #4734 from german77/motionfusion
...
HID: Add Stub for EnableSixAxisSensorFusion
2020-10-01 22:39:39 -07:00
german
3fa9068948
Only use inputs corresponding to controller type
2020-10-01 19:39:53 -05:00
german
450a3c0f42
Stubbed EnableSixAxisSensorFusion
2020-09-30 10:00:24 -05:00
David
99e921f52e
Merge pull request #4291 from german77/ImplementControllerRumble
...
input_common: First implementation of controller rumble
2020-09-30 21:24:11 +10:00
David
bf47adf1b3
Merge pull request #4726 from lioncash/applet
...
frontend/controller: Eliminate dependency on the global system instance
2020-09-30 21:22:45 +10:00
Morph
ba883c8c84
caps_c: Stub SetShimLibraryVersion
...
- Used by caps_su SetShimLibraryVersion
2020-09-30 07:19:46 -04:00
Morph
e1d561f647
caps_u: Stub SetShimLibraryVersion
...
- Used in Super Smash Bros. Ultimate
2020-09-30 07:19:46 -04:00
Morph
a03d4d663c
caps_su: Properly stub SetShimLibraryVersion
2020-09-30 07:19:46 -04:00
Morph
f3e928bb6a
hid: Stub HomeButtonInputProtection service commands
...
- Used in 1-2 Switch. Given that we do not emulate the functionality of the home button yet, we can stub this for now.
2020-09-30 06:38:24 -04:00
bunnei
3266cc0a32
Merge pull request #4705 from german77/SplitMotionPoller
...
HID: Use different timing for motion
2020-09-30 01:04:22 -07:00
bunnei
7d55163e1d
Merge pull request #1703 from DarkLordZach/nvdec-ioctl
...
nvdrv: Stub nvdec/vic ioctls to bypass nvdec movies
2020-09-29 15:00:48 -07:00
german
782aab6cf2
First implementation of controller rumble
2020-09-29 10:38:25 -04:00
Lioncash
dba567cfbf
core: Mark GetInstance() as deprecated
...
This way it's obvious that this function shouldn't be used in any future
code.
2020-09-25 19:23:23 -04:00
Lioncash
9861290969
frontend/controller: Eliminate dependency on the global system instance
2020-09-25 19:23:20 -04:00
LC
d2d0909b84
Merge pull request #4717 from lioncash/debug
...
service: Restore "unused" function
2020-09-25 00:07:19 -04:00
Lioncash
711c5c7bdf
service: Restore "unused" function
...
Turns out this function is actually used, but within a trace log.
2020-09-25 00:06:40 -04:00
Morph
58f0798f1f
submission_package: Fix updates integrated into cartridge images.
2020-09-24 17:23:14 -04:00
bunnei
221e4c3e41
Merge pull request #4678 from Morph1984/LoadOpenContext-partial-impl
...
acc: Partially implement LoadOpenContext
2020-09-24 11:21:25 -07:00
german
c3fb504201
Use different timing for motion
2020-09-23 19:09:33 -05:00
Lioncash
3abd28c35a
memory: Resolve a -Wdocumentation warning
...
memory doesn't exist as a parameter any more.
2020-09-23 13:39:27 -04:00
Lioncash
e457001dce
General: Make use of std::nullopt where applicable
...
Allows some implementations to avoid completely zeroing out the internal
buffer of the optional, and instead only set the validity byte within
the structure.
This also makes it consistent how we return empty optionals.
2020-09-22 17:32:33 -04:00
Lioncash
485eec243d
ips_layer: Eliminate a redundant copy in Parse()
...
Prevents unnecessary copying of the line being parsed.
2020-09-22 16:38:45 -04:00
bunnei
292693b696
Merge pull request #4675 from Morph1984/fix-boot-multicontent
...
submission_package: Account for multi-content NSPs
2020-09-21 16:36:46 -07:00
Morph
152b529a00
acc: Stub LoadOpenContext
...
This is used in multiple games such as:
- Clubhouse Games: 51 Worldwide Classics
- Grandia HD Collection
- XCOM 2 Collection
- Baldur's Gate 1/2
- Dr Kawashima's Brain Training
- Super Mario 3D All-Stars
2020-09-21 01:01:02 -04:00
bunnei
24b421b14c
Merge pull request #4683 from Morph1984/NpadHandheldActivationMode-impl
...
hid: Implement Get/SetNpadHandheldActivationMode
2020-09-20 12:39:20 -07:00
bunnei
1a3f019bad
Merge pull request #4643 from FearlessTobi/decrease-pad-update-interval
...
Test: Decrease pad_update_ns
2020-09-19 00:39:50 -07:00
Morph
505ce79b9d
hid: Implement Get/SetNpadHandheldActivationMode
...
- Used in Clubhouse Games: 51 Worldwide Classics
2020-09-18 10:10:30 -04:00
Morph
5435e0ee39
am: Stub GetPreviousProgramIndex
...
- Used in Super Mario 3D All-Stars
2020-09-17 22:03:02 -04:00
Morph
0b72422a10
submission_package: Account for multi-content NSPs
...
Previously we assumed a submission package can only contain one Program NCA with a single TitleID.
However, Super Mario 3D All-Stars contains four Program NCAs, each with their unique TitleIDs.
This accounts for the existence of multi-content games such as this one.
- Fixes booting Super Mario 3D All-Stars from the games list.
2020-09-17 20:44:51 -04:00
Rodrigo Locatti
2ca7e7160a
Merge pull request #4670 from lioncash/initializer
...
arm_dynarmic_cp15: Initialize member variables
2020-09-17 21:20:53 +00:00
Rodrigo Locatti
c1fdda9ff9
Merge pull request #4665 from lioncash/sm-kernel
...
service/sm: Eliminate dependency on the global system instance
2020-09-17 21:20:39 +00:00
Rodrigo Locatti
3a962913c7
Merge pull request #4666 from lioncash/unused-func
...
service: Remove unused funcation
2020-09-17 21:19:48 +00:00
Rodrigo Locatti
70b922675e
Merge pull request #4671 from lioncash/nfp-copy
...
command_generator/nfp: Eliminate unnecessary copies
2020-09-17 21:19:12 +00:00
bunnei
9a2553c952
Merge pull request #4594 from german77/MotionHID
...
hid/configuration: Implement motion controls to HID
2020-09-17 12:39:01 -07:00
Lioncash
45a608088c
nfp: Eliminate two unnecessary copies
...
GetAmiiboBuffer() returns by const reference, so we can use a reference
instead of taking the returned buffer by value.
2020-09-17 13:35:55 -04:00
Lioncash
4d0fa3544f
arm_dynarmic_cp15: Initialize member variables
...
Ensures that the member variables are always initialized to a
deterministic value on creation.
2020-09-17 13:03:49 -04:00
Lioncash
43a09c9bfc
control_metadata: Resolve typo in Portuguese language name
...
This isn't used anywhere, so this is a trivial fix.
2020-09-17 11:45:30 -04:00
Lioncash
341c612474
service: Remove unused funcation
...
This is now completely unused, so it can be removed.
2020-09-17 11:03:26 -04:00
Lioncash
e4747039da
service/sm: Slightly more efficient string name validation
...
We can check the end of the string first for null-termination, rather
than the beginning of the string.
2020-09-17 10:54:12 -04:00
Lioncash
95e8dff0d7
service/sm: Eliminate dependency on the global system instance
2020-09-17 10:43:54 -04:00
Lioncash
7824da5961
file_sys/romfs_factory: Eliminate usage of the global system accessor
2020-09-16 19:15:19 -04:00
Lioncash
e45b727db5
file_sys/bis_factory: Eliminate usage of the global system accessor
2020-09-16 18:16:04 -04:00
Lioncash
279b79c880
loader/nso: Remove unnecessary [[maybe_unused]]
2020-09-16 18:09:01 -04:00
Lioncash
bcb796ee92
core/loader: Remove dependencies on the global system instance
...
Now all that remains is:
18 instances in file_sys code
14 instances in GDB stub code (this can be tossed wholesale)
4 instances in HLE code
2 instances in settings code.
2020-09-16 08:46:59 -04:00
Rodrigo Locatti
d05ab5ec3c
Merge pull request #4658 from lioncash/copy3
...
nca_patch: Reduce stack usage size within SearchBucketEntry()
2020-09-16 00:25:11 +00:00
Lioncash
80e57658ac
nca_patch: Significantly reduce the stack usage size within SearchBucketEntry()
...
Previously this function was using ~16KB of stack (16528 bytes), which
was caused by the function arguments being taken by value rather than by
reference.
We can make this significantly lighter on the stack by taking them by
reference.
2020-09-15 09:10:58 -04:00
Lioncash
a92c6ddd22
nca_patch: Make SearchBucketEntry() internally linked
...
This is only used internally and doesn't depend on any class state, so
we can make it fully internal.
2020-09-15 09:06:46 -04:00
Lioncash
15fa8f52fc
cheat_engine: Convert ExtractName into a non-template function
...
We don't need to create two separate instantiations of the same code, we
can simply make the character template argument a regular function
parameter.
2020-09-15 03:24:44 -04:00
Lioncash
6711031e7d
cheat_engine: Remove unnecessary system argument to CheatParser's Parse function
...
This isn't used within the function at all in any implementations, so we
can remove it entirely.
2020-09-15 03:20:40 -04:00
Lioncash
5c77fffc80
patch_manager: Resolve implicit truncations in FormatTitleVersion()
...
We make it explicit that we're truncating arithmetic here to resolve
compiler warnings (even if the sizes weren't u32/u64 arithmetic
generally promotes to int :<)
2020-09-14 19:19:59 -04:00
Lioncash
7abb47303e
patch_manager: Make use of type aliases
...
We can use these to avoid typing the same type redundantly. This way, if
these ever change, only a single location needs to be modified.
2020-09-14 19:17:50 -04:00
Lioncash
e8092e4099
patch_manager: Make a few functions internally linked
...
These functions are only used within this translation unit, so we can
make them internally linked.
2020-09-14 19:04:51 -04:00
Lioncash
767fcd8a81
crypto/key_manager: Remove dependency on the global system accessor
...
We can supply the content provider as an argument instead of hardcoding
a global accessor in the implementation.
2020-09-14 16:49:59 -04:00
Lioncash
f700c48cc0
kernel: Remove all dependencies on the global system instance
...
With this, the kernel finally doesn't depend directly on the global
system instance anymore.
2020-09-14 14:03:13 -04:00
bunnei
35a0ff1d6f
Merge pull request #4636 from lioncash/kernel-hle
...
service: Remove two usages of the global system accessor
2020-09-14 09:17:10 -07:00
bunnei
7b536a07f2
Merge pull request #4323 from ReinUsesLisp/no-spin
...
kernel/scheduler: Use std::mutex instead of spin lock
2020-09-11 23:23:53 -07:00
bunnei
cbe7cdf7ca
Merge pull request #4634 from lioncash/blocking
...
bsd: Resolve a few warnings
2020-09-11 15:17:34 -07:00
bunnei
b205c01a95
Merge pull request #4310 from ogniK5377/apollo-1-prod
...
audio_core: Apollo Part 1, AudioRenderer refactor
2020-09-11 10:57:27 -04:00
bunnei
c2ad9f6fc9
Merge pull request #4597 from Morph1984/mjolnir-p2
...
Project Mjölnir: Part 2 - Controller Applet
2020-09-10 19:28:23 -04:00
FearlessTobi
b3d2fd39d3
Test: Decrease pad_update_ns
...
There have been reports of quite heavy input lag in the past.
Compared to Citra for example, our pad_update_ns value is very high.
So let's decrease it and see if it helps with this problem.
2020-09-10 16:38:53 +02:00
Rodrigo Locatti
8fcafa37a8
Merge pull request #4633 from ReinUsesLisp/gpu-init
...
video_core: Remove all Core::System references in renderer
2020-09-10 02:28:54 +00:00
Lioncash
054735e3fe
service: Remove two usages of the global system accessor
...
Removes more instances of reliance on global state.
2020-09-07 03:18:45 -04:00
Lioncash
b1c64e8c4f
bsd: Resolve unused value within SendToImpl
...
Previously the address provided to SendToImpl would never be propagated
to SendTo(). This fixes that.
2020-09-07 01:06:30 -04:00
Lioncash
0bf0d9d3c3
bsd: Resolve sign comparison warnings
2020-09-07 01:06:27 -04:00
Lioncash
3467cfb357
sockets_translate: Make use of designated initializers
...
Same behavior, less typing.
2020-09-07 00:53:10 -04:00
Lioncash
2c196e7c6e
blocking_worker: Make use of templated lambda
...
We can simplify this a little by explicitly specifying the typename for
the lambda function.
2020-09-07 00:47:46 -04:00
Lioncash
0d180e23f0
blocking_worker: Resolve -Wdocumentation warning
2020-09-07 00:45:53 -04:00
ReinUsesLisp
8efb2c5537
video_core: Remove all Core::System references in renderer
...
Now that the GPU is initialized when video backends are initialized,
it's no longer needed to query components once the game is running: it
can be done when yuzu is booting.
This allows us to pass components between constructors and in the
process remove all Core::System references in the video backend.
2020-09-06 05:28:48 -03:00
bunnei
a6945afa54
Merge pull request #4397 from ReinUsesLisp/bsd
...
services: Implement most of bsd:s and GetCurrentIpAddress from nifm
2020-09-05 22:40:59 -04:00
Morph
55db7a4e0a
configure_input: Hook up the motion button and checkbox
...
This allows toggling motion on or off, and allows access to the motion configuration.
Also changes the [waiting] text for motion buttons to Shake! as this is how motion is connected to a player.
2020-09-05 09:46:34 -04:00
german
82eb4be33b
Add cemu hook changes related to PR #4609
2020-09-04 21:48:13 -05:00
german
17b48f8d42
Remove RealMotionDevice
2020-09-04 21:48:13 -05:00
Morph
a04a7174c7
controllers/npad: Simplify motion entry assignment
...
Simplifies the motion assignment in the Dual Joycon entry and assigns index 1 of the motion entry (Motion 2) for the right joycon.
2020-09-04 21:48:13 -05:00
german
876e6fc255
Include HID and configuration changes related to motion
2020-09-04 21:48:03 -05:00
Morph
ce1c6f2eea
hid: Implement MergeSingleJoyasDualJoy
...
- Used in multiple games such as Super Mario Odyssey.
2020-09-04 15:38:33 -04:00
Morph
0ce52a8070
applets/controller: Resolve several compiler warnings
...
Resolves -Wsign-compare and -Wunused-variable
2020-09-04 12:23:26 -04:00
Morph
5c853d4dc7
Address feedback
2020-09-04 12:23:25 -04:00
Morph
b9cde4fa6d
applets/controller: Set min_players to have a minimum value of 1.
...
- Some games like Shipped have a minimum requirement of 0 connected players and is undesired behavior. We must require a minimum of 1 player connected regardless of what games may ask.
2020-09-04 12:23:25 -04:00
Morph
212b4a584d
applets/controller: Modify heuristic to account for certain games
...
Now left and right joycons have the same priority (meaning both needs to be supported by the game).
Explanation of the new heuristic:
Assign left joycons to even player indices and right joycons to odd player indices.
We do this since Captain Toad Treasure Tracker expects a left joycon for Player 1 and a right Joycon for Player 2 in 2 Player Assist mode.
2020-09-04 12:23:25 -04:00
Morph
3742ae763c
applets/controller: Implement fallback applet for the SDL frontend
...
Implement the fallback applet for the SDL frontend, connecting only the minimum amount of players required.
2020-09-04 12:23:25 -04:00
Morph
00df69232a
applets/controller: Implement "Explain Text"
...
"Explain Text" is additional text that is shown for each player in the controller applet.
2020-09-04 12:23:25 -04:00
Morph
4c621b9b09
Project Mjölnir: Part 2 - Controller Applet
...
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-09-04 12:23:25 -04:00
bunnei
2af4f1ac07
Merge pull request #4590 from ReinUsesLisp/tsan-sched
...
hle/scheduler: Fix data race in is_context_switch_pending
2020-09-03 14:39:57 -04:00
ReinUsesLisp
5bccefe24c
file_sys/patch_manager: Add missing include
...
Fixes build issues
2020-09-03 04:51:49 -03:00
bunnei
faea0ddc85
Merge pull request #4568 from lioncash/fsp
...
fsp_srv: Resolve -Wmaybe_uninitialized warning in OpenSaveDataFileSystem()
2020-09-02 23:07:03 -04:00
bunnei
40d236b401
Merge pull request #4564 from lioncash/file-include
...
file_sys: Replace inclusions with forward declarations where applicable
2020-09-02 23:06:38 -04:00
bunnei
99ae6cfc68
Merge pull request #4382 from FearlessTobi/port-udp-config
...
yuzu: Add motion and touch configuration from Citra
2020-09-01 13:56:37 -04:00
bunnei
15cf2bfbcb
Merge pull request #4589 from ReinUsesLisp/tsan-host
...
hle/kernel: Fix data race in GetCurrentHostThreadID
2020-08-31 21:20:49 -04:00
LC
ce88bb3f00
Merge pull request #4461 from comex/thread-names
...
Fix thread naming on Linux, which limits names to 15 bytes.
2020-08-31 15:31:48 -04:00
FearlessTobi
ee199ead59
Address second batch of reviews
2020-08-30 00:43:25 +02:00
FearlessTobi
2903f0f7ce
yuzu: Add motion and touch configuration
2020-08-29 18:56:34 +02:00
bunnei
9fd13dd80a
Merge pull request #4586 from yuzu-emu/tsan-cpu-interrupt
...
cpu_interrupt_handler: Make is_interrupted an atomic
2020-08-28 09:21:47 -04:00
Morph
9b0f5da0c6
controllers/npad: Fix inconsistencies with controller connection statuses
2020-08-26 02:32:32 -04:00
Morph
4d6a8f3e8f
controllers/npad: Fix LibNX controller connection statuses
...
This allows homebrew applications to be able to properly detect connected controllers.
2020-08-26 02:32:32 -04:00
Morph
9fc2eb2ee0
controllers/npad: Fix LedPattern for P1-4
2020-08-26 02:32:32 -04:00
Morph
34a209d15c
Project Mjölnir: Part 1
...
Co-authored-by: James Rowe <jroweboy@gmail.com>
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-08-26 02:32:32 -04:00
ReinUsesLisp
8f050dd1d9
hle/scheduler: Fix data race in is_context_switch_pending
...
As reported by tsan, SelectThreads could write to
is_context_switch_pending holding a mutex while SwitchToCurrent reads it
without holding any.
It is assumed that the author didn't want an atomic here, so the code is
reordered so that whenever is_context_switch_pending is read inside
SwitchToContext, the mutex is locked.
2020-08-26 02:56:05 +00:00
ReinUsesLisp
6bf10ea8cf
hle/kernel: Fix data race in GetCurrentHostThreadID
...
As reported by tsan, host_thread_ids could be read while
any of the RegisterHostThread variants were called.
To fix this, lock the register mutex when yuzu is running in multicore
mode and GetCurrentHostThreadID is called.
2020-08-26 02:52:50 +00:00
ReinUsesLisp
ad0306e520
cpu_interrupt_handler: Misc style changes
2020-08-26 02:43:26 +00:00
ReinUsesLisp
7eb6cc742a
cpu_interrupt_handler: Make is_interrupted an atomic
...
Fixes a race condition detected from tsan
2020-08-26 02:43:15 +00:00
bunnei
e0b4361aaf
Merge pull request #4563 from lioncash/rcache
...
registered_cache: Make use of designated initializers
2020-08-25 10:07:33 -04:00
M&M
c6f9cad218
logging/settings: Increase maximum log size to 100 MB and add extended logging option
...
The extended logging option is automatically disabled on boot but can be enabled afterwards, allowing the log file to go up to 1 GB during that session.
This commit also fixes a few errors that are present in the general debug menu.
2020-08-24 21:39:56 -07:00
bunnei
420c6d11be
Merge pull request #4562 from lioncash/loop
...
cpu_manager: Make use of ranged for where applicable
2020-08-24 17:58:41 -04:00
bunnei
18cce1dc8a
Merge pull request #4561 from lioncash/key-constexpr
...
key_manager: Make data arrays constexpr
2020-08-23 20:41:05 -04:00
bunnei
88cf35db7d
Merge pull request #4549 from lioncash/files
...
vfs_real: Avoid redundant map lookups
2020-08-23 19:08:36 -04:00
Lioncash
6eeeebeb9d
fsp_srv: Resolve -Wunused-but-set-variable warning
...
We can just log out the parameters in the meantime.
2020-08-23 17:16:32 -04:00
Lioncash
da15e9f8a7
file_sys: Replace inclusions with forward declarations where applicable
...
Same behavior, minus unnecessary inclusions where not necessary.
2020-08-23 17:02:55 -04:00
Lioncash
c26b29c2c6
fsp_srv: Resolve -Wmaybe_uninitialized warning in OpenSaveDataFileSystem()
...
Initialize id to a deterministic value and also mark the unreachable
cases in the switch with UNREACHABLE().
2020-08-23 16:37:57 -04:00
Lioncash
942badd1e7
registered_cache: Make use of ends_with for string suffix checking
...
Simplifies code.
2020-08-23 11:25:45 -04:00
Lioncash
a185b6cf21
registered_cache: Make use of designated initializers
...
Removes the need for comments to indicate the fields being assigned.
2020-08-23 10:26:20 -04:00
bunnei
5a675f4633
Merge pull request #4560 from lioncash/convert
...
core_timing: Resolve sign conversion warning
2020-08-23 02:11:14 -04:00
Lioncash
ebe30ea145
key_manager: Make data arrays constexpr
...
We can convert these maps into constexpr arrays to eliminate some
runtime static constructors.
2020-08-22 22:47:24 -04:00
Lioncash
beca7a0429
cpu_manager: Make use of ranged for where applicable
...
We can simplify a few loops by making use of ranged for.
2020-08-22 22:43:19 -04:00
Lioncash
96214f8600
core_timing: Remove unused header
2020-08-22 22:12:37 -04:00
Lioncash
aae74a55da
core_timing: Move clock initializer into constructor initializer list
...
Same behavior, minus unnecessary zeroing out of the pointer.
2020-08-22 20:26:48 -04:00
Lioncash
41c74f4f0c
core_timing: Resolve sign conversion warning
...
This constant is only ever assigned to downcount, which is a s64, not a
u64.
2020-08-22 20:26:45 -04:00
bunnei
915aeb2550
Merge pull request #4541 from MerryMage/yolo
...
dynarmic: Add unsafe optimizations
2020-08-21 23:06:21 -04:00
Lioncash
ecb9029c6a
common/telemetry: Migrate namespace into the Common namespace
...
Migrates the Telemetry namespace into the Common namespace to make the
code consistent with the rest of our common code.
2020-08-18 15:08:32 -04:00
Lioncash
d9fc3abc1f
vfs_real: Resolve sign conversion warnings
2020-08-18 14:58:33 -04:00
Lioncash
182739ce1b
vfs_real: Avoid redundant map lookups
...
Avoids some trivially avoidable map lookups by keeping the result of
find operations around and querying them.
2020-08-18 14:58:29 -04:00
bunnei
ab2ebb773e
Merge pull request #4535 from lioncash/fileutil
...
common/fileutil: Convert namespace to Common::FS
2020-08-17 22:35:30 -04:00
bunnei
337c9de4bd
Merge pull request #4494 from lioncash/transcode
...
aes_util: Make use of non-template variant of Transcode
2020-08-17 03:50:35 -04:00
MerryMage
1057908c3a
dynarmic: Add unsafe optimizations
2020-08-16 14:15:39 +01:00
Lioncash
a87209e09d
common/fileutil: Convert namespace to Common::FS
...
Migrates a remaining common file over to the Common namespace, making it
consistent with the rest of common files.
This also allows for high-traffic FS related code to alias the
filesystem function namespace as
namespace FS = Common::FS;
for more concise typing.
2020-08-16 06:52:40 -04:00
bunnei
81eae1562a
Merge pull request #4526 from lioncash/core-semi
...
core: Resolve several -Wextra-semi warnings
2020-08-15 02:14:11 -04:00
bunnei
2f477fe630
Merge pull request #4527 from lioncash/pessimizing2
...
software_keyboard: Resolve a pessimizing move warning
2020-08-15 02:13:44 -04:00
bunnei
a191355688
Merge pull request #4492 from lioncash/linkage
...
system_control: Make functions internally linked where applicable
2020-08-15 02:11:49 -04:00
bunnei
88fdc4c659
Merge pull request #4463 from lioncash/lockdiscard
...
kernel/scheduler: Mark SchedulerLock constructor as nodiscard
2020-08-15 01:31:23 -04:00
Lioncash
b86bba9f7e
time_zone_content_manager: Collapse auto and default case
...
Prevents a useless self-assignment from occurring.
2020-08-14 10:58:58 -04:00
Lioncash
910dff8816
software_keyboard: Resolve a pessimizing move warning
...
A std::vector created in place like this is already an rvalue and
doesn't need to be moved.
2020-08-14 09:14:54 -04:00
Lioncash
0c78ed16df
core: Resolve several -Wextra-semi warnings
...
We can amend one of the cascade macros to require semicolons in order to
compile. In other cases, we can just remove the superfluous semicolons.
2020-08-14 09:09:20 -04:00
Lioncash
f44ad07f2f
emu_window: Mark Scoped constructor and Acquire() as nodiscard
...
Ensures that callers make use of the constructor, preventing bugs from
silently occurring.
2020-08-14 04:43:44 -04:00
Lioncash
8d7e58562f
kernel/scheduler: Mark SchedulerLock constructor as nodiscard
...
Allows the compiler to warn about cases where the constructor is used
but then immediately discarded, which is a potential cause of
locking/unlocking bugs.
2020-08-14 04:43:44 -04:00
Rodrigo Locatti
2740be0f9d
Merge pull request #4495 from lioncash/conv
...
cheat_engine: Resolve implicit bool->u64 conversion
2020-08-14 03:10:17 -03:00
LC
77a3efb1c5
Merge pull request #4511 from lioncash/build2
...
General: Tidy up clang-format warnings part 2
2020-08-13 15:13:21 -04:00
Lioncash
78ddcbe3ba
General: Tidy up clang-format warnings part 2
2020-08-13 14:19:08 -04:00
bunnei
d7958019b6
Merge pull request #4497 from lioncash/freezer-alg
...
freezer: Make use of std::erase_if
2020-08-11 23:07:17 -04:00
bunnei
10c4fff79c
Merge pull request #4496 from lioncash/ce-desig
...
cheat_engine: Make use of designated initializers
2020-08-10 13:53:43 -04:00
bunnei
16993fc92b
Merge pull request #4491 from lioncash/unused-vars
...
kernel: Remove unused variables
2020-08-10 12:04:30 -04:00
bunnei
51bfe3397f
Merge pull request #4488 from lioncash/file
...
vfs_vector: Make creation of array vfs files less verbose
2020-08-09 17:19:34 -04:00
bunnei
7483e76613
Merge pull request #4457 from ogniK5377/SetScreenShotPermission
...
am: Unstub SetScreenShotPermission
2020-08-07 09:34:20 -04:00
Lioncash
80d04c0daa
common/concepts: Rename IsBaseOf to DerivedFrom
...
This makes it more inline with its currently unavailable standardized
analogue std::derived_from.
While we're at it, we can also make the template match the requirements
of the standardized variant as well.
2020-08-07 08:09:57 -04:00
bunnei
27636c8a7a
Merge pull request #4483 from lioncash/constexpr-hex
...
partition_data_manager: Make data arrays constexpr
2020-08-06 23:14:14 -04:00
bunnei
556422d711
Merge pull request #4490 from lioncash/arbiter
...
address_arbiter/scheduler: Resolve sign conversion warnings
2020-08-06 22:28:11 -04:00
Lioncash
21229948aa
freezer: Move entry finding to its own function
...
Cleans up the callsites in other functions.
2020-08-06 03:11:21 -04:00
Lioncash
4a54d99f0d
freezer: Take address values by value
...
VAddr will always be 64-bit, so there's no need to take a trivial
primitive alias by reference.
2020-08-06 03:04:54 -04:00
Lioncash
b67eb6746b
freezer: Make use of std::erase_if
...
With C++20 we can simplify the erasing idiom.
2020-08-06 03:03:05 -04:00
Lioncash
304da7bfc8
cheat_engine: Resolve implicit bool->u64 conversion
...
We can just return zero here.
2020-08-06 02:55:47 -04:00
Lioncash
6c2392941b
cheat_engine: Make use of designated initializers
...
Same behavior, but makes the member being assigned obvious.
2020-08-06 02:48:13 -04:00
Lioncash
accf36193b
partition_data_manager: Update master key hashes
...
Fills in some hashes that were previously unhandled.
2020-08-06 02:42:01 -04:00
Lioncash
b0c3f66dc7
partition_data_manager: Make data arrays constexpr
...
Previously the constructor for all of these would run at program
startup, consuming time before the application can enter main().
This is also particularly dangerous, given the logging system wouldn't
have been initialized properly yet, yet the program would use the logs
to signify an error.
To rectify this, we can replace the literals with constexpr functions
that perform the conversion at compile-time, completely eliminating the
runtime cost of initializing these arrays.
2020-08-06 02:41:58 -04:00
Lioncash
c4f9130264
partition_data_manager: Eliminate magic value
...
We can use sizeof to make it obvious at the call site where the value is
coming from.
2020-08-06 02:34:10 -04:00
Lioncash
8b8cb4da9f
aes_util: Make use of non-template variant of Transcode
...
Same behavior, less template instantiations.
2020-08-06 02:31:19 -04:00
comex
23523e4c0a
Fix thread naming on Linux, which limits names to 15 bytes.
...
- In `SetCurrentThreadName`, when on Linux, truncate to 15 bytes, as (at
least on glibc) `pthread_set_name_np` will otherwise return `ERANGE` and
do nothing.
- Also, add logging in case `pthread_set_name_np` returns an error
anyway. This is Linux-specific, as the Apple and BSD versions of
`pthread_set_name_np return `void`.
- Change the name for CPU threads in multi-core mode from
"yuzu:CoreCPUThread_N" (19 bytes) to "yuzu:CPUCore_N" (14 bytes) so it
fits into the Linux limit. Some other thread names are also cut off,
but I didn't bother addressing them as you can guess them from the
truncated versions. For a CPU thread, truncation means you can't see
which core it is!
2020-08-05 20:34:49 -07:00
bunnei
f0be76a50a
Merge pull request #4489 from lioncash/typesafe
...
ipc_helpers: Only allow trivially copyable objects with PushRaw() and PopRaw()
2020-08-05 23:20:23 -04:00
bunnei
7f6689983f
Merge pull request #4484 from lioncash/aesutil
...
aes_util: Allow SetIV() to be non-allocating
2020-08-05 22:35:41 -04:00
bunnei
c6ea0b876c
Merge pull request #4475 from lioncash/bqueue
...
buffer_queue: Make use of designated initializers/std::nullopt where applicable
2020-08-05 16:56:46 -04:00
Lioncash
9e72b1df7d
system_control: Make functions internally linked where applicable
...
These functions are only ever used internally as implementation details
for GenerateRandomRange(), so these can be given internal linkage.
2020-08-05 15:34:27 -04:00
Lioncash
3ea31a9922
kernel: Remove unused variables
...
Resolves a few compiler warnings.
2020-08-05 15:19:48 -04:00
Lioncash
353cd8dc24
scheduler: Resolve sign conversion warning
2020-08-05 15:12:29 -04:00
Lioncash
792c1666f7
address_arbiter: Resolve sign conversion warning
...
Makes our type conversion explicit.
2020-08-05 15:07:19 -04:00
bunnei
88efb0c4ce
Merge pull request #4444 from lioncash/volatile
...
common/atomic_ops: Don't cast away volatile from pointers
2020-08-05 14:22:36 -04:00
Lioncash
43ef4a7305
ipc_helpers: Only allow trivially copyable objects with PushRaw() and PopRaw()
...
It's undefined behavior to use non-trivially copyable objects with
std::memcpy, so we can add asserts to catch usages of these at
compile-time.
2020-08-05 14:08:28 -04:00
Lioncash
42c79b8507
vfs_vector: Make creation of array vfs files less verbose
...
We can add a helper function to make creation of these files nicer.
While we're at it, we can eliminate an unnecessary std::array copy in
the constructor. This makes the overhead on some of these functions way
less intensive, given some arrays were quite large.
e.g. The timezone location names are 9633 bytes in size.
2020-08-05 12:37:00 -04:00
bunnei
ccd9337ec7
Merge pull request #4466 from ogniK5377/loader-type-safe
...
loader: Make IdentifyFile typesafe
2020-08-05 12:34:25 -04:00
bunnei
460d686bbd
Merge pull request #4476 from lioncash/tz
...
time_zone_binary: Make use of designated initializers
2020-08-04 18:56:28 -04:00
bunnei
4e96278c63
Merge pull request #4401 from ogniK5377/GetIndirectLayerImageRequiredMemoryInfo
...
vi: IApplicationDisplayService:GetIndirectLayerImageRequiredMemoryInfo
2020-08-04 18:45:11 -04:00
bunnei
09bd480eab
Merge pull request #4430 from bunnei/new-gpu-vmm
...
hle: nvdrv: Rewrite of GPU memory management.
2020-08-04 18:44:26 -04:00
bunnei
e909b4731b
Merge pull request #4472 from lioncash/const-get
...
perf_stats: Mark GetMeanFrametime() as const
2020-08-04 07:00:23 -07:00
David
614476af30
Merge pull request #4470 from lioncash/qualifier
...
patch_manager: Resolve -Wignored-qualifier warnings
2020-08-04 14:09:48 +10:00
David
82f4fb21e8
Merge pull request #4481 from lioncash/cpp-dep
...
yuzu: Resolve C++20 deprecation warnings related to lambda captures
2020-08-04 14:06:07 +10:00
David
a7fa221005
Merge pull request #4474 from lioncash/hle-profile
...
profile_manager: Make use of designated initializers
2020-08-04 13:51:15 +10:00
bunnei
a4ff924420
Merge pull request #4473 from lioncash/cheat-desig
...
dmnt_cheat_vm: Make use of designated initializers
2020-08-03 18:07:17 -07:00
bunnei
cf35405a71
Merge pull request #4456 from Morph1984/stub-really-long-fs-func
...
fsp-srv: Stub Read/WriteSaveDataFileSystemExtraDataWithMaskBySaveDataAttribute
2020-08-03 18:06:48 -07:00
Lioncash
c28e7f51f3
aes_util: Allow SetIV to be non-allocating
...
In a few places, the data to be set as the IV is already within an array.
We shouldn't require this data to be heap-allocated if it doesn't need
to be. This allows certain callers to reduce heap churn.
2020-08-03 14:29:58 -04:00
bunnei
cdd9f577b4
Merge pull request #4482 from lioncash/ldr-sign
...
service/ldr: Resolve sign mismatch warnings
2020-08-03 11:27:13 -07:00
bunnei
70a59da903
Merge pull request #4468 from lioncash/regcache
...
registered_cache: Resolve -Wmaybe_uninitialized warnings
2020-08-03 11:26:45 -07:00
bunnei
9a685a6c85
Merge pull request #4471 from ogniK5377/sm-getservice-concept
...
sm: Make use of IsBaseOf for GetService
2020-08-03 11:11:22 -07:00
Lioncash
bb711ced9d
perf_stats: Make use of designated initializers
...
Same behavior, but allows us to avoid a now-unnecessary zero
initialization.
2020-08-03 12:33:40 -04:00
Lioncash
2a2bc9c147
perf_stats: Mark GetMeanFrametime() as const
...
The general pattern is to mark mutexes as mutable when it comes to
matters of constness, given the mutex acts as a transient member of a
data structure.
2020-08-03 12:33:35 -04:00
Lioncash
08e30e0240
yuzu: Resolve C++20 deprecation warnings related to lambda captures
...
C++20 deprecates capturing the this pointer via the '=' capture.
Instead, we replace it or extend the capture specification.
2020-08-03 11:54:04 -04:00
Lioncash
78ff298d6d
service/ldr: Resolve sign mismatch warnings
...
We were performing an int < size_t comparison. We can just correct the
type of the induction variable.
2020-08-03 11:48:16 -04:00
bunnei
be05759325
Merge pull request #4467 from lioncash/mode
...
file_sys/mode: Make use of DECLARE_ENUM_FLAG_OPERATORS with Mode
2020-08-03 08:07:56 -07:00
Lioncash
607a02edda
time_zone_binary: Make use of designated initializers
2020-08-03 10:42:38 -04:00
Lioncash
a1aab876e6
buffer_queue: Make use of std::nullopt
...
Allows compilers to eliminate unnecessary zeroing out of the optional's
buffer.
2020-08-03 09:31:51 -04:00
Lioncash
9b1ab372a7
buffer_queue: Make use of designated initializers
2020-08-03 09:31:51 -04:00
Lioncash
5430961f0d
profile_manager: Make use of std::nullopt
...
Allows some implementations to completely avoid unnecessarily zeroing
out the internal buffer.
2020-08-03 09:03:42 -04:00
Lioncash
1f909d614c
profile_manager: Make use of designated initializers
...
More compact code.
2020-08-03 09:01:31 -04:00
Lioncash
743ed2b727
dmnt_cheat_vm: Make use of designated initializers
...
Allows for more compact code.
2020-08-03 08:50:51 -04:00
Lioncash
2fa750dd6b
file_sys/mode: Make use of DECLARE_ENUM_FLAG_OPERATORS with Mode
...
Same behavior, minus a hand-rolled operator.
2020-08-03 07:52:36 -04:00
David Marcec
4d0ba04c73
sm: Make use of IsBaseOf for GetService
2020-08-03 21:46:14 +10:00
Lioncash
39ac833461
patch_manager: Resolve -Wignored-qualifier warnings
...
Top level const will always be ignored in this case, so it can be
removed.
2020-08-03 07:42:56 -04:00
Lioncash
872200c7a9
registered_cache: Resolve -Wmaybe_uninitialized warnings
...
While we're at it, we can avoid a redundant map lookup.
2020-08-03 07:34:46 -04:00
David Marcec
b20f4de430
Place in anonymous namespace
2020-08-03 21:31:28 +10:00
David Marcec
46d3c84839
loader: Make IdentifyFile typesafe
...
Relies on #4465 for concept.h Common::IsBaseOf
2020-08-03 21:31:27 +10:00
David
ecaac59acd
ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer ( #4465 )
...
* ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer
With the support of C++20, we can use concepts to deduce if a type is an STL container or not.
* More agressive concept for stl containers
* Add -fconcepts
* Move to common namespace
* Add Common::IsBaseOf
2020-08-03 07:28:54 -04:00
David
6b05ff83bb
Merge pull request #4439 from lioncash/cpu
...
cpu_manager: Remove redundant std::function declarations
2020-08-03 20:58:31 +10:00
Morph
f6fa311cf9
minor nits
2020-07-31 11:02:59 -04:00
David Marcec
542ea8c6e8
am: Unstub SetScreenShotPermission
2020-08-01 00:44:14 +10:00
Morph
488cacca52
fsp-srv: Stub Read/WriteSaveDataFileSystemExtraDataWithMaskBySaveDataAttribute
...
Stub these 2 service commands required for Animal Crossing: New Horizons Update 1.4.0
2020-07-30 15:39:44 -04:00
Morph
06adef078c
fs: Rename SaveDataDescriptor to SaveDataAttribute
2020-07-30 15:29:39 -04:00
Morph
4a6d4ab839
xts_archive: Check if the file is nullptr prior to parsing
...
Fixes an access violation where the file no longer exists at the specified path while being parsed.
2020-07-29 06:50:30 -04:00
Morph
0724e89467
registered_cache: Add support for removing folder ncas
2020-07-29 06:50:30 -04:00
bunnei
04a8b17939
Merge pull request #4442 from lioncash/devicemem
...
device_memory: Remove unused system member
2020-07-28 13:03:30 -07:00
Morph
9fa696c0d5
configure_graphics: Remove Force 30 FPS mode
...
The introduction of multicore rendered this setting non-functional as timing code was changed.
This removes the setting entirely.
2020-07-28 08:07:26 -04:00
Lioncash
32ce1467e5
common/atomic_ops: Don't cast away volatile from pointers
...
Preserves the volatility of the pointers being casted.
2020-07-28 04:36:53 -04:00
ReinUsesLisp
87e6485855
service/bsd: Handle Poll with no entries accurately
...
Testing shows that Poll called with zero entries returns -1 and signals
an errno of zero.
2020-07-28 01:51:47 -03:00
ReinUsesLisp
853ee47a15
services/bsd: Implement most of bsd:s
...
This implements: Socket, Poll, Accept, Bind, Connect, GetPeerName,
GetSockName, Listen, Fcntl, SetSockOpt, Shutdown, Recv, RecvFrom,
Send, SendTo, Write, and Close
The implementation was done referencing: SwIPC, switchbrew, testing
with libnx and inspecting its code, general information about bsd
sockets online, and analysing official software.
Not everything from these service calls is implemented, but everything
that is not implemented will be logged in some way.
2020-07-28 01:48:42 -03:00
ReinUsesLisp
20ac4ae8b7
service/sockets: Add worker pool abstraction
...
Manage worker threads with an easy to use abstraction.
We can expand this to support thread deletion in the future.
2020-07-28 01:47:03 -03:00
ReinUsesLisp
3cd68cade4
service/sockets: Add worker abstraction to execute blocking calls asynchronously
...
This abstraction allows executing blocking functions (like recvfrom on a
socket configured for blocking) without blocking the service thread.
It is intended to be used with SleepClientThread.
2020-07-28 01:47:03 -03:00
ReinUsesLisp
8a8f687fd2
service/sockets: Add translate functions
...
These functions translate from Network enumerations/structures to guest
enumerations/structures and viceversa.
2020-07-28 01:47:03 -03:00
ReinUsesLisp
c2a607014a
service/sockets: Add enumerations and structures
...
Add guest enumerations and structures used in socket services
2020-07-28 01:47:03 -03:00
ReinUsesLisp
bd466d12be
services/nifm: Implement GetCurrentIpAddress
...
This is trivially implemented using the Network abstraction
- Used by ftpd
2020-07-28 01:47:03 -03:00
Lioncash
078b7446c7
device_memory: Remove unused system member
...
This isn't used by anything in particular, so it can be removed.
2020-07-27 23:37:49 -04:00
Lioncash
3c31a08802
cpu_manager: Remove redundant std::function declarations
...
We can just return the function directly. Making for less reading.
2020-07-27 21:57:05 -04:00
bunnei
1bd1d08fc4
Update src/core/hle/service/nvdrv/devices/nvmap.cpp
...
Co-authored-by: LC <mathew1800@gmail.com>
2020-07-27 18:27:20 -07:00
Lioncash
7decda6bc2
core_timing: Make use of uintptr_t to represent user_data
...
Makes the interface future-proofed for supporting other platforms in the event we ever support platforms with differing pointer sizes. This way, we have a type in place that is always guaranteed to be able to represent a pointer exactly.
2020-07-27 21:21:01 -04:00
CrazyMax
ac316a25a1
remove unused variable;
2020-07-27 10:36:26 +03:00
bunnei
991aca142e
hle: nvdrv: Rewrite of GPU memory management.
2020-07-26 00:49:43 -04:00
Lioncash
f35d0d8f83
nvflinger: Mark interface functions with return values as [[nodiscard]]
...
Not using the return value of these functions are undeniably the source
of a bug. This way we allow compilers to loudly make any future misuses
evident.
2020-07-25 19:42:45 -04:00
Lioncash
94ae1a0bf1
nvflinger: Use return value of Lock()
...
comex reported in #4424 that we were incorrectly discarding the return
value of Lock() which is correct.
2020-07-25 19:04:53 -04:00
bunnei
34f9706950
Merge pull request #4350 from ogniK5377/hid-update-connected
...
hid: Only update keyboard & debug pad inputs if enabled
2020-07-25 11:57:24 -07:00
bunnei
2f7d9afee7
Merge pull request #4380 from ogniK5377/swkbd-inline-1
...
swkbd: Return result for Calc request for inlined swkbd
2020-07-24 22:31:24 -07:00
David Marcec
81b2b4fbe9
audio_core: Apollo Part 1, AudioRenderer refactor
2020-07-25 12:39:34 +10:00
Jan Beich
423d410d7c
network: add missing include for BSDs
...
src/core/network/network.cpp:112:28: error: use of undeclared identifier 'SHUT_RD'
constexpr int SD_RECEIVE = SHUT_RD;
^
src/core/network/network.cpp:113:25: error: use of undeclared identifier 'SHUT_WR'
constexpr int SD_SEND = SHUT_WR;
^
src/core/network/network.cpp:114:25: error: use of undeclared identifier 'SHUT_RDWR'
constexpr int SD_BOTH = SHUT_RDWR;
^
src/core/network/network.cpp:120:37: error: unknown type name 'in_addr'; did you mean 'in_addr_t'?
constexpr IPv4Address TranslateIPv4(in_addr addr) {
^~~~~~~
in_addr_t
/usr/include/netdb.h:66:20: note: 'in_addr_t' declared here
typedef __uint32_t in_addr_t;
^
src/core/network/network.cpp:121:27: error: member reference base type 'in_addr_t' (aka 'unsigned int') is not a structure or union
const u32 bytes = addr.s_addr;
~~~~^~~~~~~
src/core/network/network.cpp:121:15: error: variables defined in a constexpr function must be initialized
const u32 bytes = addr.s_addr;
^
src/core/network/network.cpp:126:10: error: incomplete result type 'sockaddr' in function definition
sockaddr TranslateFromSockAddrIn(SockAddrIn input) {
^
/usr/include/netdb.h:142:9: note: forward declaration of 'sockaddr'
struct sockaddr *ai_addr; /* binary address */
^
src/core/network/network.cpp:127:5: error: unknown type name 'sockaddr_in'; did you mean 'sockaddr'?
sockaddr_in result;
^~~~~~~~~~~
sockaddr
/usr/include/netdb.h:142:9: note: 'sockaddr' declared here
struct sockaddr *ai_addr; /* binary address */
^
src/core/network/network.cpp:127:17: error: variable has incomplete type 'sockaddr'
sockaddr_in result;
^
/usr/include/netdb.h:142:9: note: forward declaration of 'sockaddr'
struct sockaddr *ai_addr; /* binary address */
^
src/core/network/network.cpp:131:29: error: use of undeclared identifier 'AF_INET'
result.sin_family = AF_INET;
^
src/core/network/network.cpp:135:29: error: use of undeclared identifier 'AF_INET'
result.sin_family = AF_INET;
^
src/core/network/network.cpp:139:23: error: use of undeclared identifier 'htons'
result.sin_port = htons(input.portno);
^
src/core/network/network.cpp:143:14: error: variable has incomplete type 'sockaddr'
sockaddr addr;
^
/usr/include/netdb.h:142:9: note: forward declaration of 'sockaddr'
struct sockaddr *ai_addr; /* binary address */
^
src/core/network/network.cpp:156:1: error: unknown type name 'linger'
linger MakeLinger(bool enable, u32 linger_value) {
^
src/core/network/network.cpp:157:5: error: unknown type name 'linger'
linger value;
^
src/core/network/network.cpp:185:16: error: use of undeclared identifier 'AF_INET'
return AF_INET;
^
src/core/network/network.cpp:195:16: error: use of undeclared identifier 'SOCK_STREAM'
return SOCK_STREAM;
^
src/core/network/network.cpp:197:16: error: use of undeclared identifier 'SOCK_DGRAM'
return SOCK_DGRAM;
^
src/core/network/network.cpp:207:16: error: use of undeclared identifier 'IPPROTO_TCP'
return IPPROTO_TCP;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2020-07-22 22:10:15 +00:00
David Marcec
56c3c62a45
vi: IApplicationDisplayService:GetIndirectLayerImageRequiredMemoryInfo
...
Needed for dark souls and monster hunter
2020-07-21 23:06:18 +10:00
David
9263c9af72
Merge pull request #4306 from ReinUsesLisp/bsd-network
...
core/network: Add network abstraction
2020-07-21 16:05:47 +10:00
David Marcec
87a838304b
Address issues
2020-07-20 11:52:07 +10:00
David Marcec
7ca5dcb7df
swkbd: Return result for Calc request for inlined swkbd
...
Fixes random swkbd popups in monster hunter
2020-07-19 18:56:16 +10:00
ReinUsesLisp
fc8ff7f4ef
core/network: Add network abstraction
...
This commit adds a network abstraction designed to implement bsd:s but
at the same time work as a generic abstraction to implement any
networking code we have to use from core.
This is implemented on top of BSD sockets on Unix systems and winsock on
Windows. The code is designed around winsocks having compatibility
definitions to support both BSD and Windows sockets.
2020-07-19 04:12:40 -03:00
bunnei
01588e3e91
Merge pull request #4348 from lioncash/nano
...
core_timing: Make usage of nanoseconds more consistent in the interface
2020-07-18 01:45:10 -04:00
bunnei
5891a0bf07
Merge pull request #4345 from Morph1984/fix-createfile
...
filesystem: Create subdirectories prior to creating a file
2020-07-18 00:59:26 -04:00
bunnei
54f4821375
Merge pull request #4273 from ogniK5377/async-shaders-prod
...
video_core: Add asynchronous shader decompilation and compilation
2020-07-18 00:48:27 -04:00
bunnei
3968c41ffa
Merge pull request #4365 from lioncash/mii
...
mii/manager: Make use of designated initializers
2020-07-17 22:20:15 -04:00
bunnei
1d166b80ae
Merge pull request #4366 from lioncash/mii-sign
...
mii/manager: Resolve sign mismatch warnings
2020-07-17 20:13:06 -04:00
FearlessTobi
f7cf5430b0
file_sys/nsp: Make SetTicketKeys actually do something
...
Previously, the method wasn't modifying any class state and therefore not having any effects when called.
Since this has been the case for a very long time now, I'm not sure if we couldn't just remove this method altogether.
2020-07-18 02:02:39 +02:00
bunnei
d9a40d2422
Merge pull request #4344 from VolcaEM/c3
...
dmnt_cheat_vm: Implement opcode 0xC3 (ReadWriteStaticRegister)
2020-07-17 17:11:52 -04:00
bunnei
ad5d8431f5
Merge pull request #4309 from Morph1984/fix-romfs-bug
...
fs: Fix RomFS building when zero byte files are present
2020-07-17 17:01:20 -04:00
David Marcec
3a127edd0b
Drop settings namespace
2020-07-17 17:23:24 +10:00
David Marcec
74d8c9e0dd
Rebase for per game settings
2020-07-17 14:26:14 +10:00
David
6825b4911d
Merge pull request #4347 from lioncash/logging
...
settings: Make use of std::string_view over std::string for logging
2020-07-17 13:25:06 +10:00
David
be744bfa16
Merge pull request #4371 from lioncash/cmake2
...
core/CMakeLists: Add missing physical_memory.h header file
2020-07-17 13:22:19 +10:00
David
ba106cc5e7
Merge pull request #4357 from lioncash/unused4
...
kernel: Remove unused variables
2020-07-17 13:18:31 +10:00
David
8e8a332ce3
Merge pull request #4358 from lioncash/unused5
...
kernel/thread: Remove unimplemented function prototype
2020-07-17 13:17:52 +10:00
Lioncash
f128be35fe
core/CMakeLists: Add missing physical_memory.h header file
...
Allows this header file to show up in IDE CMake generators.
2020-07-16 22:56:31 -04:00
Lioncash
7e7daed253
constants: Add missing <array> include
...
Eliminates reliance on an indirect include.
2020-07-16 21:43:20 -04:00
Lioncash
214247f203
mii/manager: Resolve sign mismatch warnings
...
Previously the loop termination condition was testing variables of
different signedness.
2020-07-16 21:07:04 -04:00
Lioncash
29a5f65f31
mii/manager: Make use of designated initializers
...
Allows returning the structure in a more concise manner.
2020-07-16 20:45:33 -04:00
bunnei
669dfb415e
Merge pull request #4292 from bunnei/mii-rewrite
...
hle: service: mii: Rewrite service to properly support creation of random and default miis.
2020-07-16 20:05:40 -04:00
Rodrigo Locatti
10abdf0147
Merge pull request #4327 from lioncash/desig2
...
address_space_info: Make use of designated initializers
2020-07-16 17:41:55 -03:00
Lioncash
e05eec5d51
kernel/thread: Remove unimplemented function prototype
...
This isn't used, so it can be removed.
2020-07-16 14:32:46 -04:00
Lioncash
3fe863c8f2
kernel: Remove unused variables
...
Resolves some compiler warnings in the Linux build.
2020-07-16 14:17:50 -04:00
Lioncash
0a5524a15b
kernel: Add missing include
2020-07-16 13:51:51 -04:00
Lioncash
02ff5e8d81
cpu_manager: Mark function getters as static
...
All these do are return std::function instances of static functions, so
these can be used without an instance of the CPU manager.
2020-07-16 13:30:56 -04:00
Lioncash
59f9dcf6cd
cpu_manager: Remove unused preemption_count variable
...
Shrinks the data structure by 8 bytes.
2020-07-16 13:24:25 -04:00
Lioncash
7f032388fd
cpu_manager: Add missing includes
...
Previously this header was relying on indirect inclusions that are no
longer satisfied.
2020-07-16 13:22:58 -04:00
bunnei
8fd2e0d2ea
Merge pull request #4337 from lat9nq/fix-per-game-async
...
main: Set async gpu properly after loading per-game setting
2020-07-16 11:33:51 -04:00
David
2aa1af8abb
Merge pull request #4346 from lioncash/thread
...
kernel/handle_table: Remove usages of the global system instance
2020-07-16 23:02:04 +10:00
David Marcec
255847b16d
hid: Only update keyboard & debug pad inputs if enabled
...
Previously we would ignore this setting and would update the states regardless of the user setting
2020-07-16 22:28:49 +10:00
David
524a16f9c4
Merge pull request #4249 from Morph1984/delete-update-aoc-on-overwrite
...
registered_cache: Remove previous update/dlc if it exists on install
2020-07-16 20:36:22 +10:00
Morph
5a7b65b6d5
Check for empty section0 and CNMT prior to install
2020-07-16 05:22:51 -04:00
Morph
6bba209bba
Add comment to clarify the nullptr check
2020-07-16 00:15:27 -04:00
Morph
7f908ceb00
filesystem: Create subdirectories prior to creating a file
...
If subdirectories exist in the given path parameter and don't exist in the real filesystem create them prior to creating the files within.
This fixes the softlocks upon save creation in The Legend of Zelda: Breath of the Wild
2020-07-16 00:15:27 -04:00
bunnei
3f9b1b22bc
Merge pull request #4328 from lioncash/unused-var3
...
memory_layout: Remove unused data member
2020-07-15 22:08:05 -04:00
Lioncash
66e6dccc66
core_timing: Remove unused data member
...
Shrinks the size of the CoreTiming class by 8 bytes.
2020-07-15 19:41:37 -04:00
Lioncash
56054fe86d
core_timing: Make TimedCallback take std::chrono::nanoseconds
...
Enforces our desired time units directly with a concrete type.
2020-07-15 19:41:22 -04:00
Lioncash
9e113a2b67
core_timing: Make use of std::chrono with ScheduleEvent
2020-07-15 18:54:15 -04:00
Lioncash
3ce5234599
settings: Resolve a sign conversion warning within GetTimeZoneString()
...
A sign conversion warning was occurring due to an int < size_t
comparison.
2020-07-15 13:45:22 -04:00
Lioncash
1d41247fce
kernel/process: Move name and system context to the bottom of the member list
...
These aren't directly important or commonly used within the process, so
we can move these to the bottom to allow everything else to be more
likely to be within a cache line.
2020-07-15 13:40:18 -04:00
Lioncash
9346d1e257
kernel/handle_table: Remove usages of the global system instance
...
Removes even more usages of the global system instance, trimming away
more dependencies on global variables and making them explicit in the
interface.
2020-07-15 13:40:15 -04:00
Lioncash
8c0ba1ce84
settings: Make use of std::string_view over std::string for logging
...
In all usages of LogSetting(), string literals are provided.
std::string_view is better suited here, as we won't churn a bunch of
string allocations every time the settings are logged out.
While we're at it, we can fold LogSetting() into LogSettings(), given
it's only ever used there.
2020-07-15 13:37:33 -04:00
Lioncash
7deb699566
kernel/thread: Remove global GetCurrentThread()
...
This is only used in one place, so we can fold it into the calling code,
eliminating a place for the global system instance to be used.
2020-07-15 13:28:05 -04:00
Morph
63f16db2e6
clang format
2020-07-15 13:27:04 -04:00
Morph
9dc8b2f03c
Use proper install result when overwriting files
2020-07-15 13:27:04 -04:00
Morph
c530630c1c
Remove global system instance and address feedback
2020-07-15 13:27:04 -04:00
Morph
5054a6c429
registered_cache: Remove previous update/dlc if it exists on install
...
- This checks for and removes old updates or dlc based on title id. If a content meta nca exists within the registered cache, it will attempt to remove all the ncas associated with the content meta before installing a new update/dlc
2020-07-15 13:27:04 -04:00
VolcaEM
67310a4623
clang-format
2020-07-15 01:22:52 +02:00
VolcaEM
bec0bdabc8
dmnt_cheat_vm: Implement opcode 0xC3 (ReadWriteStaticRegister)
...
This was based on Atmosphére's DMNT Cheat VM:
- https://github.com/Atmosphere-NX/Atmosphere/blob/master/stratosphere/dmnt/source/cheat/impl/dmnt_cheat_vm.hpp
- https://github.com/Atmosphere-NX/Atmosphere/blob/master/stratosphere/dmnt/source/cheat/impl/dmnt_cheat_vm.cpp
From Atmosphére's documentation: "Code type 0xC3 reads or writes a static register with a given register"
There are now only two remaining opcodes to implement (PauseProcess and BreakProcess)
This is untested because I don't have any experience in testing cheats on yuzu
2020-07-15 01:19:22 +02:00
lat9nq
ca132f7dfb
clang-format
2020-07-14 13:46:42 -04:00
lat9nq
be59d82047
settings: Move settings sanitization to its own function
...
Creates a new function that can be expanded later to fix other settings that are known to cause emulation errors across executables.
2020-07-14 13:36:09 -04:00
bunnei
c4ce38fcb5
Merge pull request #4294 from MerryMage/cpu-opt-settings
...
configuration: Add settings to enable/disable specific CPU optimizations
2020-07-14 12:38:03 -04:00
bunnei
f1b2cb5eec
Merge pull request #4282 from Morph1984/fs-size
...
filesystem: Set various NAND partition sizes to their defaults
2020-07-14 12:16:42 -04:00
Lioncash
ed658d92dc
memory_layout: Remove unused data member
...
This isn't used, so it can be removed entirely, shrinking the structure
size by 8 bytes.
2020-07-13 10:51:23 -04:00
Lioncash
14332845af
address_space_info: Use type alias to simplify code
...
We can define an alias for the index arrays and then just reuse it to
make the code nicer to read.
2020-07-13 10:42:52 -04:00
Lioncash
c8b9f7bd14
address_space_info: Make use of designated initializers
...
We can alter the structure so that we can use designated initializers in
the array, eliminating the comments that indicate their field names.
2020-07-13 10:42:49 -04:00
ReinUsesLisp
43e15338e2
kernel/scheduler: Use std::mutex instead of spin lock
...
Profiling shows that this is a highly contested mutex, causing dimishing
results compared to a OS lock. std::mutex implementations can spin for a
while before falling back to an OS lock.
This avoids wasting precious CPU cycles in a no-op.
2020-07-12 21:27:24 -03:00