summaryrefslogtreecommitdiffstats
path: root/src/core/core_timing.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-06-16Core_Timing: Make core_timing threadsafe by default.Fernando Sahmkow1-19/+4
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.
2019-03-24core/core_timing: Make callback parameters consistentLioncash1-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.
2019-02-16core_timing: Convert core timing into a classLioncash1-75/+136
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.
2019-02-12core_timing: Rename CoreTiming namespace to Core::TimingLioncash1-2/+2
Places all of the timing-related functionality under the existing Core namespace to keep things consistent, rather than having the timing utilities sitting in its own completely separate namespace.
2018-08-13Core::CoreTiming: add UnscheduleEventThreadsafeB3n301-0/+1
2018-08-06core_timing: Make GetGlobalTimeUs() return std::chrono::microsecondsLioncash1-1/+2
Enforces the time unit being returned and also allows using the standard time utilities to manipulate it.
2018-08-06core_timing: Convert typedef into a type aliasLioncash1-4/+4
Makes the alias a little more readable from left-to-right.
2018-07-24core_timing: Split off utility functions into core_timing_utilMerryMage1-53/+0
2018-05-03core_timing: Don't include the log header in core timing's headerLioncash1-47/+4
Avoids propagating logging macros and facilities to files that may not need them. This also allows hiding an internal constant.
2018-04-30core_timing: Namespace all functions and constants in core_timing's headerLioncash1-2/+2
All of these variables and functions are related to timings and should be within the namespace.
2018-04-26core: Replace remaining old non-generic logger usages with fmt-capable equivalentsLioncash1-8/+8
LOG_GENERIC usages will be amended in a follow-up to keep API changes separate from interface changes, as it will require removing a parameter from the relevant function in the VMManager class.
2018-01-09core_timing: Use 1.020GHz for core clock rate.bunnei1-5/+3
2018-01-09CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119)B3n301-77/+124
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2018-01-07core_timing: Increase clock speed for Switch docked.bunnei1-1/+1
2017-09-30Moved down_count to CoreTimingHuw Pascoe1-0/+6
2017-01-16CoreTiming: use named constant for ARM11 clock ratewwylele1-0/+1
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot1-4/+2
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot1-5/+4
2016-07-23CoreTiming: avoid overflowwwylele1-1/+1
2015-05-29Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot1-1/+1
2015-05-07Common: Remove common.hYuri Kunde Schlesner1-1/+1
2015-01-07CoreTiming: Ported the CoreTiming namespace from PPSSPPSubv1-23/+54
Implemented the required calls to make it work. CoreTiming: Added a new logging class Core_Timing.
2014-12-21License changepurpasmart961-2/+2
2014-11-18Remove extraneous semicolonsLioncash1-1/+1
2014-04-09fixed project includes to use new directory structurebunnei1-1/+1
2014-04-09got rid of 'src' folders in each sub-projectbunnei1-0/+0
2014-04-09fixed licensing issue with core_timing being GPL v2+ instead of Dolphin's GPL v2bunnei1-66/+50
2013-10-02added core_timing and system modules to core vcprojShizZy1-0/+125