Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2023-07-03 | Use spans over guest memory where possible instead of copying data. | Kelebek1 | 1 | -1/+1 | |
2023-07-02 | core_timing: Remove GetCurrentTimerResolution in CoreTiming loop | Morph | 1 | -0/+8 | |
Other programs may change this value, but if thousands of syscalls in this loop is undesirable, then we can just set this once. | |||||
2023-06-08 | core_timing: Fix SingleCore cycle timer | Morph | 1 | -1/+1 | |
2023-06-08 | (wall, native)_clock: Add GetGPUTick | Morph | 1 | -0/+3 | |
Allows us to directly calculate the GPU tick without double conversion to and from the host clock tick. | |||||
2023-06-08 | core_timing: Use CNTPCT as the guest CPU tick | Morph | 1 | -9/+2 | |
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. | |||||
2023-03-12 | general: fix spelling mistakes | Liam | 1 | -1/+1 | |
2023-03-05 | core_timing: Use higher precision sleeps on Windows | Morph | 1 | -1/+5 | |
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. | |||||
2023-01-14 | timing: wait for completion on unregister | Liam | 1 | -3/+6 | |
2022-10-19 | core: core_timing: Re-initialize if single/multicore state changes. | bunnei | 1 | -0/+2 | |
2022-10-19 | core: core_timing: Remove unused IsHostTiming. | bunnei | 1 | -5/+0 | |
2022-10-19 | core: Partially persist emulation state across game boots. | bunnei | 1 | -5/+2 | |
2022-09-13 | Remove pause callbacks from coretiming | Kelebek1 | 1 | -6/+0 | |
2022-07-28 | Revert Coretiming PRs 8531 and 7454 (#8591) | Maide | 1 | -14/+11 | |
2022-07-10 | Rework CoreTiming | Kelebek1 | 1 | -4/+19 | |
2022-07-02 | Core timing: use only one thread. | Fernando Sahmkow | 1 | -2/+0 | |
2022-06-30 | Adress Feedback. | Fernando Sahmkow | 1 | -1/+3 | |
2022-06-28 | Core: Protect each event from race conditions within it. | Fernando Sahmkow | 1 | -0/+1 | |
2022-06-28 | Core: add missing include. | Fernando Sahmkow | 1 | -0/+1 | |
2022-06-28 | Core: Reimplement Core Timing. | Fernando Sahmkow | 1 | -10/+11 | |
2022-04-23 | general: Convert source file copyright comments over to SPDX | Morph | 1 | -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. | |||||
2022-04-12 | hle: kernel: Use std::mutex instead of spin locks for most kernel locking. | bunnei | 1 | -3/+3 | |
2021-11-04 | core: Remove unused includes | ameerj | 1 | -1/+0 | |
2021-05-03 | core: Resolve misc cases of variable shadowing | Lioncash | 1 | -1/+1 | |
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). | |||||
2020-12-03 | audio_core: Make shadowing and unused parameters errors | Lioncash | 1 | -4/+4 | |
Moves the audio code closer to enabling warnings as errors in general. | |||||
2020-07-28 | core_timing: Make use of uintptr_t to represent user_data | Lioncash | 1 | -3/+4 | |
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. | |||||
2020-07-16 | core_timing: Remove unused data member | Lioncash | 1 | -2/+0 | |
Shrinks the size of the CoreTiming class by 8 bytes. | |||||
2020-07-16 | core_timing: Make TimedCallback take std::chrono::nanoseconds | Lioncash | 1 | -6/+4 | |
Enforces our desired time units directly with a concrete type. | |||||
2020-07-16 | core_timing: Make use of std::chrono with ScheduleEvent | Lioncash | 1 | -4/+4 | |
2020-06-27 | Audio: Correct buffer release for host timing. | Fernando Sahmkow | 1 | -0/+5 | |
2020-06-27 | SingleCore: Use Cycle Timing instead of Host Timing. | Fernando Sahmkow | 1 | -3/+11 | |
2020-06-27 | SingleCore: Move Host Timing from a sepparate thread to main cpu thread. | Fernando Sahmkow | 1 | -0/+7 | |
2020-06-27 | Kernel: Corrections to Scheduling. | Fernando Sahmkow | 1 | -1/+1 | |
2020-06-27 | HostTiming: Pause the hardware clock on pause. | Fernando Sahmkow | 1 | -0/+1 | |
2020-06-27 | General: Recover Prometheus project from harddrive failure | Fernando Sahmkow | 1 | -51/+57 | |
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. | |||||
2019-11-27 | core_timing: Use better reference tracking for EventType. (#3159) | bunnei | 1 | -25/+20 | |
* 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. | |||||
2019-10-11 | Core_Timing: Address Feedback and suppress warnings. | Fernando Sahmkow | 1 | -1/+1 | |
2019-10-09 | Core Timing: General corrections and added tests. | Fernando Sahmkow | 1 | -0/+1 | |
2019-10-09 | Core Timing: Rework Core Timing to run all cores evenly. | Fernando Sahmkow | 1 | -3/+21 | |
2019-06-16 | Core_Timing: Make core_timing threadsafe by default. | Fernando Sahmkow | 1 | -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-24 | core/core_timing: Make callback parameters consistent | Lioncash | 1 | -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-16 | core_timing: Convert core timing into a class | Lioncash | 1 | -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-12 | core_timing: Rename CoreTiming namespace to Core::Timing | Lioncash | 1 | -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-13 | Core::CoreTiming: add UnscheduleEventThreadsafe | B3n30 | 1 | -0/+1 | |
2018-08-06 | core_timing: Make GetGlobalTimeUs() return std::chrono::microseconds | Lioncash | 1 | -1/+2 | |
Enforces the time unit being returned and also allows using the standard time utilities to manipulate it. | |||||
2018-08-06 | core_timing: Convert typedef into a type alias | Lioncash | 1 | -4/+4 | |
Makes the alias a little more readable from left-to-right. | |||||
2018-07-24 | core_timing: Split off utility functions into core_timing_util | MerryMage | 1 | -53/+0 | |
2018-05-03 | core_timing: Don't include the log header in core timing's header | Lioncash | 1 | -47/+4 | |
Avoids propagating logging macros and facilities to files that may not need them. This also allows hiding an internal constant. | |||||
2018-04-30 | core_timing: Namespace all functions and constants in core_timing's header | Lioncash | 1 | -2/+2 | |
All of these variables and functions are related to timings and should be within the namespace. | |||||
2018-04-26 | core: Replace remaining old non-generic logger usages with fmt-capable equivalents | Lioncash | 1 | -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-09 | core_timing: Use 1.020GHz for core clock rate. | bunnei | 1 | -5/+3 | |
2018-01-09 | CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119) | B3n30 | 1 | -77/+124 | |
* CoreTiming: New CoreTiming; Add Test for CoreTiming | |||||
2018-01-07 | core_timing: Increase clock speed for Switch docked. | bunnei | 1 | -1/+1 | |
2017-09-30 | Moved down_count to CoreTiming | Huw Pascoe | 1 | -0/+6 | |
2017-01-16 | CoreTiming: use named constant for ARM11 clock rate | wwylele | 1 | -0/+1 | |
2016-09-21 | Remove empty newlines in #include blocks. | Emmanuel Gil Peyrot | 1 | -4/+2 | |
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation. | |||||
2016-09-18 | Sources: Run clang-format on everything. | Emmanuel Gil Peyrot | 1 | -5/+4 | |
2016-07-23 | CoreTiming: avoid overflow | wwylele | 1 | -1/+1 | |
2015-05-29 | Remove every trailing whitespace from the project (but externals). | Emmanuel Gil Peyrot | 1 | -1/+1 | |
2015-05-07 | Common: Remove common.h | Yuri Kunde Schlesner | 1 | -1/+1 | |
2015-01-07 | CoreTiming: Ported the CoreTiming namespace from PPSSPP | Subv | 1 | -23/+54 | |
Implemented the required calls to make it work. CoreTiming: Added a new logging class Core_Timing. | |||||
2014-12-21 | License change | purpasmart96 | 1 | -2/+2 | |
2014-11-18 | Remove extraneous semicolons | Lioncash | 1 | -1/+1 | |
2014-04-09 | fixed project includes to use new directory structure | bunnei | 1 | -1/+1 | |
2014-04-09 | got rid of 'src' folders in each sub-project | bunnei | 1 | -0/+0 | |
2014-04-09 | fixed licensing issue with core_timing being GPL v2+ instead of Dolphin's GPL v2 | bunnei | 1 | -66/+50 | |
2013-10-02 | added core_timing and system modules to core vcproj | ShizZy | 1 | -0/+125 | |