summaryrefslogtreecommitdiff
path: root/src/common (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | settings: remove pessimistic flushingGravatar Liam2023-05-032-2/+0
| |
* | Merge pull request #10124 from liamwhite/pebkacGravatar Morph2023-05-032-2/+4
|\ \ | |/ |/| settings: rename extended memory layout to unsafe, move from general to system
| * settings: rename extended memory layout to unsafe, move from general to systemGravatar Liam2023-04-302-2/+4
| |
* | vk_present_manager: Add toggle for async presentationGravatar GPUCode2023-05-012-0/+2
| |
* | common: add intrusive list typeGravatar Liam2023-04-291-0/+631
|/
* general: fixes for gcc 13Gravatar Liam2023-04-022-13/+0
|
* Fixes 'Continous' typoGravatar Max Dunbar2023-03-291-3/+3
|
* telemetry: Add waitpkg instructionGravatar Morph2023-03-271-0/+1
|
* x64: Simplify RDTSC on non-MSVC compilersGravatar Morph2023-03-272-16/+10
| | | | Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
* x64: Add MicroSleepGravatar Morph2023-03-273-0/+84
| | | | | | | MicroSleep allows the processor to pause for a "short" amount of time (in the microsecond range). This is useful for spin-waiting that does not require nanosecond precision. This uses the new TPAUSE instruction introduced on Intel's newest processors as part of the waitpkg instructions. For CPUs that do not support waitpkg instructions, this is equivalent to yield(). Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
* x64: cpu_detect: Add detection of waitpkg instructionsGravatar Morph2023-03-272-0/+2
| | | | waitpkg introduces 3 instructions, UMONITOR, UMWAIT and TPAUSE.
* container_hash: use climitsGravatar Liam2023-03-261-0/+1
|
* common: Port boost's hash_value implementationGravatar Morph2023-03-252-0/+92
| | | | Ports a small subset of boost's hash_value implementation (<= 1.80.0).
* zstd: Use ZSTD_getFrameContentSize instead of ZSTD_getDecompressedSizeGravatar Morph2023-03-231-1/+1
|
* Merge pull request #9971 from Morph1984/qGravatar liamwhite2023-03-232-121/+211
|\ | | | | bounded_threadsafe_queue: Use simplified impl of bounded queue
| * bounded_threadsafe_queue: Refactor PopGravatar Morph2023-03-211-140/+62
| | | | | | | | Introduces PopModes to bring waiting logic into Pop, similar to Push.
| * bounded_threadsafe_queue: Add producer cv to avoid busy waitingGravatar Morph2023-03-211-17/+29
| |
| * bounded_threadsafe_queue: Deduplicate and add PushModesGravatar Morph2023-03-212-87/+85
| | | | | | | | | | | | | | Adds the PushModes Try and Wait to allow producers to specify how they want to push their data to the queue if the queue is full. If the queue is full: - Try will fail to push to the queue, returning false. Try only returns true if it successfully pushes to the queue. This may result in items not being pushed into the queue. - Wait will wait until a slot is available to push to the queue, resulting in potential for deadlock if a consumer is not running.
| * bounded_threadsafe_queue: Add TryPushGravatar Morph2023-03-211-0/+71
| |
| * logging: Make use of bounded queueGravatar Morph2023-03-211-8/+8
| |
| * bounded_threadsafe_queue: Use simplified impl of bounded queueGravatar Morph2023-03-211-112/+199
| | | | | | | | Provides a simplified SPSC, MPSC, and MPMC bounded queue implementation using mutexes.
* | Merge pull request #9964 from liamwhite/typed-addressGravatar liamwhite2023-03-232-0/+321
|\ \ | |/ |/| kernel: use KTypedAddress for addresses
| * kernel: use KTypedAddress for addressesGravatar Liam2023-03-222-0/+321
| |
* | common: string_util: Use std::string_view for UTF16ToUTF8/UTF8ToUTF16W.Gravatar bunnei2023-03-182-11/+11
| |
* | common: bounded_threadsafe_queue: Use polyfill_thread.Gravatar bunnei2023-03-171-2/+3
|/
* general: fix spelling mistakesGravatar Liam2023-03-126-15/+15
|
* Merge pull request #9917 from Morph1984/the-real-timeGravatar liamwhite2023-03-104-7/+72
|\ | | | | native_clock: Re-adjust the RDTSC frequency to its real frequency
| * native_clock: Wait for 10 seconds instead of 30Gravatar Morph2023-03-071-3/+3
| | | | | | | | It was experimentally determined to be sufficient.
| * native_clock: Use RealTimeClock instead of SteadyClockGravatar Morph2023-03-071-4/+4
| | | | | | | | We want to synchronize RDTSC to real time.
| * steady_clock: Introduce a real time clockGravatar Morph2023-03-072-0/+36
| |
| * native_clock: Re-adjust the RDTSC frequencyGravatar Morph2023-03-072-5/+34
| | | | | | | | | | The RDTSC frequency reported by CPUID is not accurate to its true frequency. We will spawn a separate thread to calculate the true RDTSC frequency after a measurement period of 30 seconds has elapsed.
* | Merge pull request #9906 from german77/metroid2Gravatar bunnei2023-03-081-1/+1
|\ \ | | | | | | input_common: Increase mouse sensitivity range
| * | input_common: Increase mouse sensitivity rangeGravatar german772023-03-071-1/+1
| | |
* | | Merge pull request #9918 from liamwhite/fwrapvGravatar Morph2023-03-072-0/+23
|\ \ \ | | | | | | | | kernel: avoid signed overflow UB on MSVC
| * | | kernel: avoid signed overflow UB on MSVCGravatar Liam2023-03-072-0/+23
| | |/ | |/|
* | | Merge pull request #9920 from liamwhite/constexpr-bit-castGravatar Morph2023-03-071-9/+11
|\ \ \ | | | | | | | | common: make BitCast constexpr
| * | | common: make BitCast constexprGravatar Liam2023-03-071-9/+11
| |/ /
* / / input_common: Minor typo issues (#9922)Gravatar Narr the Reg2023-03-081-1/+1
|/ /
* | Merge pull request #9889 from Morph1984/time-is-tickingGravatar liamwhite2023-03-078-28/+267
|\ \ | | | | | | core_timing: Reduce CPU usage on Windows
| * | native_clock: Round RDTSC frequency to the nearest 1000Gravatar Morph2023-03-051-5/+12
| | |
| * | timer_resolution: Set current process to High QoSGravatar Morph2023-03-051-0/+22
| | | | | | | | | | | | Ensures that this process is treated as a high performance process by the Windows scheduler.
| * | core_timing: Use higher precision sleeps on WindowsGravatar Morph2023-03-052-0/+8
| | | | | | | | | | | | | | | | | | 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.
| * | wall_clock: Make use of SteadyClockGravatar Morph2023-03-051-23/+11
| | |
| * | common: Implement a method to change the Windows timer resolutionGravatar Morph2023-03-053-0/+133
| | | | | | | | | | | | This utilizes undocumented NtDll functions to change the current timer resolution from the default of 1ms.
| * | common: Implement a high resolution steady clockGravatar Morph2023-03-053-0/+81
| |/ | | | | | | This implementation provides a consistent, high performance, and high resolution clock where/when std::chrono::steady_clock does not provide sufficient precision.
* / fix typo in settings.hGravatar Ikko Eltociear Ashimine2023-03-061-4/+4
|/ | | Intial -> Initial
* nvnflinger: fix nameGravatar Liam2023-03-012-102/+102
|
* cmake: use correct boost imported targetsGravatar Alexandre Bouvier2023-02-281-1/+1
|
* Revert "yuzu: config: Remove player 8 and 9 from config file"Gravatar Narr the Reg2023-02-261-1/+1
|
* Merge pull request #9849 from ameerj/async-astcGravatar liamwhite2023-02-263-0/+4
|\ | | | | texture_cache: Add asynchronous ASTC texture decoding