summaryrefslogtreecommitdiffstats
path: root/src/core/core_timing.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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-161-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.
* Merge pull request #2115 from lioncash/localbunnei2019-02-141-3/+3
|\ | | | | core_timing: Make EmptyTimedCallback a local variable
| * core_timing: Make EmptyTimedCallback a local variableLioncash2019-02-131-3/+3
| | | | | | | | | | Given this is only used in one place, it can be moved closest to its usage site.
* | threadsafe_queue: Remove NeedSize template parameterLioncash2019-02-131-2/+2
|/ | | | | | The necessity of this parameter is dubious at best, and in 2019 probably offers completely negligible savings as opposed to just leaving this enabled. This removes it and simplifies the overall interface.
* core_timing: Rename CoreTiming namespace to Core::TimingLioncash2019-02-121-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.
* Core::CoreTiming: add UnscheduleEventThreadsafeB3n302018-08-131-0/+10
|
* Kernel/Thread: Always use the threadsafe option when scheduling wakeups.Subv2018-08-131-2/+0
| | | | | | WakeAfterDelay might be called from any host thread, so err on the side of caution and use the thread-safe CoreTiming::ScheduleEventThreadsafe. Note that CoreTiming is still far from thread-safe, there may be more things we have to work on for it to be up to par with what we want.
* Merge pull request #934 from lioncash/chronobunnei2018-08-071-2/+2
|\ | | | | core_timing: Make GetGlobalTimeUs() return std::chrono::microseconds
| * core_timing: Make GetGlobalTimeUs() return std::chrono::microsecondsLioncash2018-08-061-2/+2
| | | | | | | | | | Enforces the time unit being returned and also allows using the standard time utilities to manipulate it.
* | core_timing: Use transparent functors where applicableLioncash2018-08-061-5/+5
|/ | | | | | Gets rid of the need to hardcode the type in multiple places. This will now be deduced automatically, based off the elements in the container being provided to the algorithm.
* core_timing: Split off utility functions into core_timing_utilMerryMage2018-07-241-52/+1
|
* Rename logging macro back to LOG_*James Rowe2018-07-031-8/+8
|
* core_timing: Don't include the log header in core timing's headerLioncash2018-05-031-1/+51
| | | | | Avoids propagating logging macros and facilities to files that may not need them. This also allows hiding an internal constant.
* general: Convert assertion macros over to be fmt-compatibleLioncash2018-04-271-1/+1
|
* Fixes some cast warnings, partial port of citra #3064 (#106)River City Ransomware2018-01-201-2/+2
| | | | | | | | * Fixes some cast warnings, partially fixes citra #3064 * Converted casts to uint32_t to u32 * Ran clang-format
* CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119)B3n302018-01-091-467/+143
| | | | * CoreTiming: New CoreTiming; Add Test for CoreTiming
* core_timing: Increase clock speed for Switch docked.bunnei2018-01-071-1/+1
|
* Moved down_count to CoreTimingHuw Pascoe2017-09-301-13/+23
|
* CoreTiming: use named constant for ARM11 clock ratewwylele2017-01-161-1/+1
|
* core: Replace "AppCore" nomenclature with just "CPU".bunnei2016-12-221-13/+13
|
* core: Consolidate core and system state, remove system module & cleanups.bunnei2016-12-221-14/+13
|
* Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner2016-09-211-1/+1
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-3/+1
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner2016-09-191-4/+2
|
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-19/+16
|
* general: Silence some warnings when using clangLioncash2015-09-161-1/+2
|
* general: Replace 0 literals with nullptr where applicableLioncash2015-09-121-1/+1
|
* Core : Fix Conversion Warningszawata2015-07-191-1/+1
|
* Core: Cleanup core includes.Emmanuel Gil Peyrot2015-06-281-2/+1
|
* Common: Fix FileUtil includes, and everything relying on those.Emmanuel Gil Peyrot2015-06-281-0/+1
|
* Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot2015-05-291-1/+1
|
* CoreTiming: Initialize static variables at bootup.bunnei2015-05-021-0/+10
|
* Remove the useless msg_handler compilation unit that was left over from Dolphinarchshift2015-02-191-2/+2
|
* core/video_core: Use in-place construction where possibleLioncash2015-02-171-1/+1
|
* Merge pull request #529 from Subv/masterbunnei2015-02-141-5/+5
|\ | | | | Build: Fixed some warnings
| * Build: Fixed some warningsSubv2015-02-121-5/+5
| |
* | core: Apply static to local functionsLioncash2015-02-131-7/+7
|/
* Asserts: break/crash program, fit to style guide; log.h->assert.harchshift2015-02-111-1/+1
| | | | | | | Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time) As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing) Also removed some GEKKO cruft.
* core_timing: Mark several variables as staticLioncash2015-01-201-14/+14
| | | | These are only used in this translation unit.
* Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner2015-01-091-0/+2
|
* CoreTiming: Ported the CoreTiming namespace from PPSSPPSubv2015-01-071-394/+315
| | | | | | Implemented the required calls to make it work. CoreTiming: Added a new logging class Core_Timing.
* License changepurpasmart962014-12-211-2/+2
|
* Convert old logging calls to new logging macrosYuri Kunde Schlesner2014-12-131-4/+4
|
* Change NULLs to nullptrs.Rohit Nirmal2014-12-031-6/+6
|
* Remove tabs in all files except in skyeye imports and in generated GL codeEmmanuel Gil Peyrot2014-11-191-24/+24
|
* Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot2014-11-191-2/+2
|
* Core: Replace a sprintf in core_timing with StringFromFormatLioncash2014-09-131-5/+7
|
* Removed common/std_xyz, instead using the std headerarchshift2014-09-071-1/+1
|
* Removed common/atomic, instead using std::atomicarchshift2014-09-031-4/+4
|
* fixed project includes to use new directory structurebunnei2014-04-091-6/+7
|
* got rid of 'src' folders in each sub-projectbunnei2014-04-091-0/+623