aboutsummaryrefslogtreecommitdiff
path: root/src/core/core_timing.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* CoreTiming: Correct rebase bugs and other miscellaneous things.Fernando Sahmkow2020-06-271-0/+2
|
* General: Tune the priority of main emulation threads so they have higher ↵Fernando Sahmkow2020-06-271-0/+1
| | | | priority than less important helper threads.
* CoreTiming/CycleTimer: Correct Idling.Fernando Sahmkow2020-06-271-2/+5
|
* SingleCore: Use Cycle Timing instead of Host Timing.Fernando Sahmkow2020-06-271-8/+33
|
* SingleCore: Move Host Timing from a sepparate thread to main cpu thread.Fernando Sahmkow2020-06-271-7/+13
|
* General: Fix Stop functionFernando Sahmkow2020-06-271-0/+1
|
* Kernel: Corrections to Scheduling.Fernando Sahmkow2020-06-271-4/+7
|
* HostTiming: Pause the hardware clock on pause.Fernando Sahmkow2020-06-271-0/+6
|
* General: Setup yuzu threads' microprofile, naming and registry.Fernando Sahmkow2020-06-271-2/+3
|
* General: Recover Prometheus project from harddrive failure Fernando Sahmkow2020-06-271-112/+96
| | | | | | | This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host Timing, Reworks the Kernel's Scheduler, Introduce Idle State and Suspended State, Recreates the bootmanager, Initializes Multicore system.
* Core: Set all hardware emulation constants in a single file.Fernando Sahmkow2020-02-111-1/+2
|
* core_timing: Use better reference tracking for EventType. (#3159)bunnei2019-11-261-31/+22
| | | | | | | * core_timing: Use better reference tracking for EventType. - Moves ownership of the event to the caller, ensuring we don't fire events for destroyed objects. - Removes need for unique names - we won't be using this for save states anyways.
* Core_Timing: Address Remaining feedback.Fernando Sahmkow2019-10-121-5/+4
|
* Core_Timing: Address Feedback and suppress warnings.Fernando Sahmkow2019-10-111-8/+7
|
* Core Timing: Correct Idle and remove lefting pragmaFernando Sahmkow2019-10-091-2/+1
|
* Core Timing: General corrections and added tests.Fernando Sahmkow2019-10-091-4/+11
|
* Core Timing: Rework Core Timing to run all cores evenly.Fernando Sahmkow2019-10-091-16/+50
|
* Core_Timing: Make core_timing threadsafe by default.Fernando Sahmkow2019-06-161-27/+7
| | | | | | The old implementation had faulty Threadsafe methods where events could be missing. This implementation unifies unsafe/safe methods and makes core timing thread safe overall.
* core/core_timing: Make callback parameters consistentLioncash2019-03-241-1/+1
| | | | | | | | | | | In some cases, our callbacks were using s64 as a parameter, and in other cases, they were using an int, which is inconsistent. To make all callbacks consistent, we can just use an s64 as the type for late cycles, given it gets rid of the need to cast internally. While we're at it, also resolve some signed/unsigned conversions that were occurring related to the callback registration.
* core_timing: Convert core timing into a classLioncash2019-02-151-109/+80
| | | | | | | | | | | Gets rid of the largest set of mutable global state within the core. This also paves a way for eliminating usages of GetInstance() on the System class as a follow-up. Note that no behavioral changes have been made, and this simply extracts the functionality into a class. This also has the benefit of making dependencies on the core timing functionality explicit within the relevant interfaces.