85cfd96f62
Merge pull request #5247 from comex/xx-concepts
...
k_priority_queue: Fix concepts use
2020-12-29 16:50:20 -08:00
82e0eeed21
hle: kernel: service_thread: Make thread naming more consistent.
2020-12-29 16:46:29 -08:00
a2a0f5318d
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
69e82d01d5
common: ThreadWorker: Add class to help do asynchronous work.
2020-12-29 16:46:29 -08:00
b02464f685
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
c192da3f82
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
8d55c8c855
Merge pull request #5248 from ReinUsesLisp/update-dynarmic
...
externals: Update Dynarmic
2020-12-29 18:11:30 -05:00
3f048c8646
externals: Update Dynarmic
...
Keeps yuzu up to date with the latest changes and introduces a change
needed for a lock-free optimization our side.
2020-12-29 19:30:52 -03:00
388cf58b31
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
b36896b90e
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
aa87278bf0
Merge pull request #5245 from ameerj/sleepthread-log
...
svc: demote SleepThread log to LOG_TRACE
2020-12-29 14:03:24 -05:00
0383363a8f
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
22ba437aa4
Merge pull request #5236 from gal20/udp_client_patch
...
input_common: process udp packets only for the correct pad
2020-12-29 02:51:40 -08:00
dfdac7d38a
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
f57be2e626
hle: kernel: service_thread: Add thread name and take weak_ptr of ServerSession.
2020-12-29 01:06:39 -08:00
7d77a3f88f
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
c7a06908ae
audio_core: stream: Ensure buffer is valid before release.
2020-12-28 21:33:34 -08:00
06f8c3dc01
core: Do not reset device_memory on shutdown.
...
- This will be reset on initialization.
2020-12-28 21:33:34 -08:00
d0649d0971
core: hle: kernel: Clear process list on boot.
2020-12-28 21:33:34 -08:00
954341763a
gpu: gpu_thread: Ensure MicroProfile is shutdown on exit.
2020-12-28 21:33:34 -08:00
994a9fec4e
hle: service: vi: Refactor to grab buffer only once.
2020-12-28 21:33:34 -08:00
6433b1dfd6
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
bea51d948d
hle: service: Ensure system is powered on before writing IPC result.
2020-12-28 16:33:48 -08:00
6d2f9428c5
core: kernel: Clear process list earlier.
2020-12-28 16:33:48 -08:00
4991620f89
video_core: gpu_thread: Do not wait when system is powered down.
2020-12-28 16:33:48 -08:00
916438a9de
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
40571c073f
video_core: gpu: Implement synchronous mode using threaded GPU.
2020-12-28 16:33:48 -08:00
14c825bd1c
video_core: gpu: Refactor out synchronous/asynchronous GPU implementations.
...
- We must always use a GPU thread now, even with synchronous GPU.
2020-12-28 16:33:48 -08:00
5d4715cc6a
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
87d6588cb5
hle: service: bsd: Update to work with service threads, removing SleepClientThread.
2020-12-28 16:33:48 -08:00
0c81b83ca9
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
8bc3d66354
hle: kernel: service_thread: Add parameter for thread pool size.
2020-12-28 16:33:47 -08:00
19a8f03ad5
hle: service: nvflinger: Refactor locking and interfaces.
2020-12-28 16:33:47 -08:00
b377da042b
hle: service: vi: Remove usage of SleepClientThread.
2020-12-28 16:33:47 -08:00
28281ae250
core: hle: server_session: Use separate threads for each service connection.
2020-12-28 16:33:47 -08:00
7dbdda908c
Merge pull request #5233 from german77/inverted
...
InputCommon: Allow to invert analog axis with right click
2020-12-28 14:06:21 -08:00
368b3ee227
.ci/templates: Enable QT translation for MSVC CI
...
Previously this flag was missing, causing translation files not to be shipped with CI builds of yuzu.
2020-12-28 15:54:02 +01:00
1defd0847a
udp client: process packets only for the correct pad
2020-12-27 22:22:48 +02:00
80fece4e08
Allow to invert analog axis with right click
2020-12-26 17:46:14 -06:00
661483f313
renderer_vulkan/fixed_pipeline_state: Move enabled bindings to static state
...
Without using VK_EXT_robustness2, we can't consider the 'enabled' (not
null) vertex buffers as dynamic state, as this leads to invalid Vulkan
state. Move this to static state that is always hashed and compared in
the pipeline key.
The bits for enabled vertex buffers are moved into the attribute state
bitfield. This is not 'correct' as it's not an attribute state, but that
struct has bits to spare, and it's used in an array of 32 elements (the
exact same number of vertex buffer bindings).
2020-12-25 23:34:38 -03:00
ff3aa5d380
yuzu/main: Add basic command line arguments
...
The following command line arguments are supported:
yuzu.exe "path_to_game" - Launches a game at "path_to_game"
yuzu.exe -f - Launches the next game in fullscreen
yuzu.exe -g "path_to_game" - Launches a game at "path_to_game"
yuzu.exe -f -g "path_to_game" - Launches a game at "path_to_game" in fullscreen
2020-12-25 15:41:00 -05:00
0dc4ab42cc
Merge pull request #5226 from ReinUsesLisp/c4715-vc
...
video_core: Enforce C4715 (not all control paths return a value)
2020-12-25 03:11:47 -03:00
453560fb3a
Merge pull request #5225 from ReinUsesLisp/always-vulkan
...
cmake: Always enable Vulkan
2020-12-25 02:52:29 -03:00
c8a4967c9d
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
1b9e08ab78
cmake: Always enable Vulkan
...
Removes the unnecesary burden of maintaining separate #ifdef paths and
allows us sharing generic Vulkan code across APIs.
2020-12-24 21:07:24 -03:00
1e191cc837
video_core: Enforce C4715 (not all control paths return a value)
...
Most of the time people write code that always returns a value,
terminates execution, throws an exception, or uses an unconventional
jump primitive.
This is not always true when we build without asserts on mainline builds.
To avoid introducing undefined behavior on our most used builds, enforce
this warning signalling an error and stopping the build from shipping.
2020-12-24 21:01:23 -03:00
5dbda22659
vk_shader_decompiler: Silence warning when compiling without asserts
2020-12-24 21:01:09 -03:00
5836530a87
Merge pull request #5217 from lat9nq/save-on-boot
...
yuzu/main: Save settings when starting guest
2020-12-23 01:45:24 -08:00
868c397cb6
Merge pull request #5223 from lat9nq/menu-navigation
...
yuzu/main: Improve menubar access keys
2020-12-22 19:39:45 -05:00
17badbc442
yuzu/main: Improve menubar access keys
...
Adds a unique access key to each action within each menu. A few actions
already had their own access key, so those were untouched.
2020-12-22 19:32:58 -05:00