aboutsummaryrefslogtreecommitdiff
path: root/src/core/core_timing.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add sync core speedPavel Barabanov2025-04-121-2/+13
|
* Rework time service to fix time passing offline.Kelebek12024-01-241-1/+1
|
* core_timing: block advance thread while clearing and signal afterLiam2023-12-231-1/+2
|
* core_timing: handle concurrent unscheduling of looping eventsLiam2023-12-231-3/+11
|
* core_timing: use static typing for no-wait unscheduleLiam2023-12-231-2/+3
|
* core_timing: remove user data valueLiam2023-12-231-21/+11
|
* core_timing: lock event queue accessLiam2023-11-141-0/+2
|
* core_timing: Attempt to reduce heap siftingMerry2023-09-161-11/+22
|
* core_timing: Use a fibonacci heapMerry2023-09-161-27/+29
|
* Use spans over guest memory where possible instead of copying data.Kelebek12023-07-021-2/+1
|
* core_timing: Remove GetCurrentTimerResolution in CoreTiming loopMorph2023-07-021-3/+6
| | | | Other programs may change this value, but if thousands of syscalls in this loop is undesirable, then we can just set this once.
* core_timing: Fix SingleCore cycle timerMorph2023-06-071-17/+9
|
* (wall, native)_clock: Add GetGPUTickMorph2023-06-071-0/+7
| | | | Allows us to directly calculate the GPU tick without double conversion to and from the host clock tick.
* core_timing: Use CNTPCT as the guest CPU tickMorph2023-06-071-27/+8
| | | | | Previously, we were mixing the raw CPU frequency and CNTFRQ. The raw CPU frequency (1020 MHz) should've never been used as CNTPCT (whose frequency is CNTFRQ) is the only counter available.
* core_timing: Make use of MicroSleep for x64 CPUsMorph2023-03-271-0/+8
| | | | For CPUs that support tpause, this should result in significant CPU power savings over thread yield in this spin wait.
* core: Promote CPU/GPU threads to time criticalMorph2023-03-071-1/+1
| | | | And also demote Audren and CoreTiming to High thread priority.
* core_timing: Use higher precision sleeps on WindowsMorph2023-03-051-22/+33
| | | | | | The precision of sleep_for and wait_for is limited to 1-1.5ms on Windows. Using SleepForOneTick() allows us to sleep for exactly one interval of the current timer resolution. This allows us to take advantage of systems that have a timer resolution of 0.5ms to reduce CPU overhead in the event loop.
* remove static from pointer sized or smaller types for aesthetics, change ↵arades792023-02-141-1/+1
| | | | | | constexpr static to static constexpr for consistency Signed-off-by: arades79 <scravers@protonmail.com>
* add static lifetime to constexpr values to force compile time evaluation ↵arades792023-02-141-1/+1
| | | | | | where possible Signed-off-by: arades79 <scravers@protonmail.com>
* timing: wait for completion on unregisterLiam2023-01-141-24/+18
|
* core: core_timing: Re-initialize if single/multicore state changes.bunnei2022-10-181-9/+14
|
* core: Partially persist emulation state across game boots.bunnei2022-10-181-16/+13
|
* core_timing: use high-precision sleeps on non-Windows targetsLiam2022-10-081-0/+4
|
* common: remove "yuzu:" prefix from thread namesLiam2022-10-031-1/+1
|
* Merge pull request #8650 from Kelebek1/vsyncbunnei2022-09-171-16/+37
|\ | | | | [Coretiming/NVNFlinger] Improve multi-core vsync timing, and core timing accuracy
| * core_timing: Sleep in discrete intervals, yield during spinMorph2022-08-021-12/+13
| |
| * Add missing looping event schedule signalKelebek12022-08-021-5/+9
| |
| * Make coretiming waiting more accurateKelebek12022-08-021-11/+27
| |
* | Remove pause callbacks from coretimingKelebek12022-09-131-14/+0
|/
* Revert Coretiming PRs 8531 and 7454 (#8591)Maide2022-07-271-95/+56
|
* Rework CoreTimingKelebek12022-07-101-8/+67
|
* Core timing: use only one thread.Fernando Sahmkow2022-07-021-10/+2
|
* Adress Feedback.Fernando Sahmkow2022-06-301-17/+26
|
* Address feedback.Fernando Sahmkow2022-06-281-13/+13
|
* Core: Protect each event from race conditions within it.Fernando Sahmkow2022-06-281-0/+1
|
* Core/Common: Corrections to core timing and add critical priority.Fernando Sahmkow2022-06-281-1/+1
|
* Core: Reimplement Core Timing.Fernando Sahmkow2022-06-281-44/+82
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | 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.
* core: Resolve misc cases of variable shadowingLioncash2021-05-031-2/+2
| | | | | | | | | 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).
* core: hle: Add missing calls to MicroProfileOnThreadExit.bunnei2021-01-111-0/+1
|
* Revert "core: Fix clang build"bunnei2020-10-201-7/+6
|
* core: Fix clang buildLioncash2020-10-171-6/+7
| | | | | | | Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
* core_timing: Remove unused headerLioncash2020-08-221-1/+1
|
* core_timing: Move clock initializer into constructor initializer listLioncash2020-08-221-4/+2
| | | | Same behavior, minus unnecessary zeroing out of the pointer.
* core_timing: Resolve sign conversion warningLioncash2020-08-221-2/+2
| | | | | This constant is only ever assigned to downcount, which is a s64, not a u64.
* core_timing: Make use of uintptr_t to represent user_dataLioncash2020-07-271-7/+9
| | | | 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.
* core_timing: Make TimedCallback take std::chrono::nanosecondsLioncash2020-07-151-3/+4
| | | | Enforces our desired time units directly with a concrete type.
* core_timing: Make use of std::chrono with ScheduleEventLioncash2020-07-151-4/+4
|
* core_timing,scheduler: Use std::scoped_lock when possibleReinUsesLisp2020-06-281-4/+2
| | | | | Simplifies the cognitive load of procedures using locks and makes locks safe against exceptions.
* Core/Common: Address Feedback.Fernando Sahmkow2020-06-271-16/+12
|