Liam
61ef65ab25
cpu_manager: properly check idle on return from preemption
4 years ago
Liam
83f1ecb73b
kernel: make current thread pointer thread local
4 years ago
Liam
91beb87df0
core: fix initialization in single core, sync GPU mode
4 years ago
Liam
a6c1036ddc
core: centralize profile scope for Dynarmic
4 years ago
Liam
59a6d88625
kernel: implement KProcess suspension
4 years ago
Liam
5772327b39
CpuManager: simplify pausing
4 years ago
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.
4 years ago
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.
4 years ago
bunnei
6fd0256f77
core: cpu_manager: Use invalid core_id on init and simplify shutdown.
4 years ago
bunnei
1d5872511c
core: cpu_manager: Use KScopedDisableDispatch.
4 years ago
ameerj
d27abf5546
core: Remove unused includes
4 years ago
bunnei
14d3f114a5
core: cpu_manager: Use jthread.
4 years ago
bunnei
5e600cba3a
Revert "kernel: Various improvements to scheduler"
4 years ago
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.
4 years ago
bunnei
79c64bf1ee
core: cpu_manager: Use invalid core_id on init and simplify shutdown.
4 years ago
bunnei
62b84a3e96
core: cpu_manager: Use KScopedDisableDispatch.
4 years ago
bunnei
b0cb5c830c
core: cpu_manager: Use jthread.
4 years ago
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.
5 years ago
bunnei
e4b692bd16
common: Fiber: use a reference for YieldTo.
- Fixes another small leak.
5 years ago
bunnei
845a217d5e
Revert "core: Switch to unique_ptr for usage of Common::Fiber."
5 years ago
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.
5 years ago
bunnei
f6ea864471
core: cpu_manager: Remove unused variable.
5 years ago
bunnei
f34dd04d09
hle: kernel: Recode implementation of KThread to be more accurate.
5 years ago
bunnei
d49e29d866
hle: kernel: Move single core "phantom mode" out of KThread.
- This is a workaround that does not belong in a kernel primitive.
5 years ago
bunnei
e74f682506
hle: kernel: KThread: Remove thread types that do not exist.
5 years ago
bunnei
3d70b4a4ea
core: hle: kernel: Rename Thread to KThread.
5 years ago
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.
5 years ago
bunnei
039844bbb9
hle: kernel: Rewrite scheduler implementation based on Mesopshere.
5 years ago
bunnei
aaffe73f47
hle: kernel: multicore: Replace n-JITs impl. with 4 JITs.
5 years ago
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.
5 years ago
bunnei
28843b094f
core: cpu_manager: Fix shutdown crash when closing before emulation starts.
5 years ago
bunnei
321fbec267
core: cpu_manager: Add missing call to MicroProfileOnThreadExit().
- Fixes an occasional crash when trying to launch subsequent games.
5 years ago
Lioncash
beca7a0429
cpu_manager: Make use of ranged for where applicable
We can simplify a few loops by making use of ranged for.
5 years ago
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!
5 years ago
Lioncash
3c31a08802
cpu_manager: Remove redundant std::function declarations
We can just return the function directly. Making for less reading.
5 years ago
Fernando Sahmkow
fb07639438
General: Tune the priority of main emulation threads so they have higher priority than less important helper threads.
6 years ago
Fernando Sahmkow
543b6b315f
General: Correct rebase, sync gpu and context management.
6 years ago
Fernando Sahmkow
9f7adff3d3
SingleCore: Correct ticks reset to be on preemption.
6 years ago
Fernando Sahmkow
1146679de6
Bootmanager/CPU_Manager: Correct shader caches and sync GPU on OpenGL.
6 years ago
Fernando Sahmkow
4132ba96da
SingleCore: Improve Cycle timing Behavior and replace mutex in global scheduler for spinlock.
6 years ago
Fernando Sahmkow
f0f2fc4243
SingleCore: Use Cycle Timing instead of Host Timing.
6 years ago
Fernando Sahmkow
db60ca2704
General: Move ARM_Interface into Threads.
6 years ago
Fernando Sahmkow
287ea2d3b4
SingleCore: Move Host Timing from a sepparate thread to main cpu thread.
6 years ago
Fernando Sahmkow
1bcceea736
GUI: Make multicore only work with Async and add GUI for multicore.
6 years ago
Fernando Sahmkow
5f8acb6397
CPU_Manager: Correct stopping on SingleCore.
6 years ago
Fernando Sahmkow
b121009e03
General: Fix microprofile on dynarmic/svc, fix wait tree showing which threads were running.
6 years ago
Fernando Sahmkow
ebb640e968
CPU_Manager: Unload/Reload threads on preemption on SingleCore
6 years ago
Fernando Sahmkow
cc2f7dcd08
General: Initial Setup for Single Core.
6 years ago
Fernando Sahmkow
78eeea9f17
General: Add better safety for JIT use.
6 years ago
Fernando Sahmkow
7932cf9617
SVC: Correct races on physical core switching.
6 years ago