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
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
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
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
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
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
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
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
a1bc0b56de
Merge pull request #5172 from lioncash/svc-wide
...
svc: Remove unnecessary casts
2020-12-11 17:39:30 -08:00
bunnei
a00c2d6fca
Merge pull request #5123 from Morph1984/nim-IsLargeResourceAvailable
...
nim: Stub IsLargeResourceAvailable
2020-12-10 11:34:18 -08: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
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
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
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