Commit graph

1760 commits

Author SHA1 Message Date
Morph c3855de299 steady_clock: Introduce a real time clock 2023-03-07 21:17:46 -05:00
Morph afa678be3a native_clock: Re-adjust the RDTSC frequency
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.
2023-03-07 21:17:46 -05:00
liamwhite 4bdcafda58 Merge pull request #9889 from Morph1984/time-is-ticking
core_timing: Reduce CPU usage on Windows
2023-03-07 10:54:13 -05:00
Ikko Eltociear Ashimine 538c3df844 fix typo in settings.h
Intial -> Initial
2023-03-06 20:28:47 +09:00
Morph 38db5c2026 native_clock: Round RDTSC frequency to the nearest 1000 2023-03-05 02:36:31 -05:00
Morph 56547b9b88 timer_resolution: Set current process to High QoS
Ensures that this process is treated as a high performance process by the Windows scheduler.
2023-03-05 02:36:31 -05:00
Morph e25334b8b3 core_timing: Use higher precision sleeps on Windows
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-03-05 02:36:31 -05:00
Morph 22d58e43dc wall_clock: Make use of SteadyClock 2023-03-05 02:36:31 -05:00
Morph 59b8488e90 common: Implement a method to change the Windows timer resolution
This utilizes undocumented NtDll functions to change the current timer resolution from the default of 1ms.
2023-03-05 01:41:28 -05:00
Morph f869dabc4a common: Implement a high resolution steady clock
This implementation provides a consistent, high performance, and high resolution clock where/when std::chrono::steady_clock does not provide sufficient precision.
2023-03-05 01:41:19 -05:00
Liam c191cf75bb nvnflinger: fix name 2023-03-01 10:39:49 -05:00
Alexandre Bouvier e9ec2e4cf0 cmake: use correct boost imported targets 2023-02-28 17:56:01 +01:00
Narr the Reg 2e388209d7 Revert "yuzu: config: Remove player 8 and 9 from config file" 2023-02-26 14:39:13 -06:00
liamwhite b385fc2cd1 Merge pull request #9849 from ameerj/async-astc
texture_cache: Add asynchronous ASTC texture decoding
2023-02-26 09:20:12 -05:00
Narr the Reg f6531fb17c yuzu: config: Remove player 8 and 9 from config file 2023-02-25 22:20:32 -06:00
ameerj c5386e2179 configuration: Add async ASTC decode setting 2023-02-22 18:21:09 -05:00
ameerj 08c1dc9587 texture_cache: Add async texture decoding 2023-02-22 00:26:07 -05:00
Narr the Reg 1156e6ae8f settings: Add more input settings to the log 2023-02-21 19:48:38 -06:00
m-HD fa7436638c Update settings.cpp
added missing graphical settings to RestoreGlobalState()
2023-02-12 02:58:39 +01:00
Narr the Reg 75039440f3 input_common: Reintroduce custom pro controller support 2023-02-09 20:08:54 -06:00
ameerj 7cc5da4a9f Revert "Merge pull request #9718 from yuzu-emu/revert-9508-hle-ipc-buffer-span"
This reverts commit 153fa289d2, reversing
changes made to 20676b3b5a.
2023-02-03 00:08:45 -05:00
liamwhite f74a95b6fb Revert "hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer" 2023-02-02 15:53:28 -05:00
bunnei b781b8621f Merge pull request #9696 from german77/please_forgive_me_for_this_sin
input_common: Implement turbo buttons
2023-02-01 12:08:34 -08:00
german77 db99ab5431 input_common: Implement turbo buttons 2023-02-01 12:42:05 -06:00
bunnei 8d052680ee Merge pull request #9508 from ameerj/hle-ipc-buffer-span
hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer
2023-01-30 12:17:09 -08:00
Levi Behunin 2ff6c44168 Move to Clang Format 15
Depends on https://github.com/yuzu-emu/build-environments/pull/69

clang-15 primary run
2023-01-29 17:49:42 -07:00
Liam 6237e8d92f polyfill_thread: satisfy execution ordering requirements of stop_callback 2023-01-27 21:34:49 -05:00
Morph 337f943c97 polyfill_thread: Implement StoppableTimedWait
StoppableTimedWait allows for a timed wait to be stopped immediately after a stop is requested.
This is useful in cases where long duration thread sleeps are needed and allows for immediate joining of waiting threads after a stop is requested.

Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
2023-01-25 16:43:04 -05:00
bunnei b292986fc5 Merge pull request #9662 from abouvier/cmake-llvm
cmake: prefer system llvm library
2023-01-24 11:03:14 -08:00
liamwhite 6c7db928fd Merge pull request #9492 from german77/joycon_release
Input_common: Implement custom joycon driver v2
2023-01-24 09:29:37 -05:00
Alexandre Bouvier 8768e16b6c cmake: prefer system llvm library 2023-01-23 06:23:00 +01:00
liamwhite 87eef91dab Merge pull request #9613 from Kelebek1/demangle
Add stacktrace symbol demangling
2023-01-22 13:13:58 -05:00
german77 5cbeb6f1c4 input_common: Use DriverResult on all engines 2023-01-19 18:05:22 -06:00
Narr the Reg 216bdb7884 input_common: Disable SDL driver with switch controllers 2023-01-19 18:05:20 -06:00
Narr the Reg 0e41ae9595 input_common: Initial skeleton for custom joycon driver 2023-01-19 18:05:20 -06:00
Kelebek1 8fea4c21b2 Be careful of mangled out of bounds read 2023-01-14 19:53:55 +00:00
Kelebek1 a665621670 Move demangle impl to cpp 2023-01-14 05:12:41 +00:00
Kelebek1 90f546cba4 Add stacktrace symbol demangling 2023-01-14 04:43:21 +00:00
Matías Locatti 7297ab36c1 Update settings.h 2023-01-13 04:56:25 -03:00
Matías Locatti a724435c8b CPP 2023-01-13 04:55:26 -03:00
Matías Locatti cf9e60d883 1.5X resolution scaler option 2023-01-13 02:34:24 -03:00
Liam a9d96415c4 renderer_vulkan: disable turbo by default 2023-01-08 11:38:30 -05:00
bunnei dfbfc1b89b Merge pull request #9563 from german77/crash_not_allowed
input_common: Create an update engine
2023-01-07 13:41:27 -08:00
liamwhite 41958ff4ae Merge pull request #9552 from liamwhite/turbo
vulkan: implement 'turbo mode' clock booster
2023-01-06 09:59:59 -05:00
Narr the Reg 243f2931b5 input_common: Create an update engine 2023-01-05 19:24:29 -06:00
Wollnashorn 1011652852 config: Set the Vulkan driver pipeline cache option to be global 2023-01-05 21:03:01 +01:00
Wollnashorn 0b17b4edd2 config: Better wording for VK pipeline cache option and enable by default 2023-01-05 21:03:01 +01:00
Wollnashorn ef0b585b0b video_core/vulkan: Added VkPipelineCache to store Vulkan pipelines
As an optional feature which can be enabled in the advanced graphics configuration, all pipelines that get built at the initial shader loading are stored in a VkPipelineCache object and are dumped to the disk.

These vendor specific pipeline cache files are located at `/shader/GAME_ID/vulkan_pipelines.bin`. This feature was mainly added because of an issue with the AMD driver (see yuzu-emu#8507) causing invalidation of the cache files the driver builds automatically.
2023-01-05 21:02:44 +01:00
Liam d9b2bc7f04 common: add setting for renderer clock workaround 2023-01-04 22:22:01 -05:00
Fernando Sahmkow e5d02ff039 yuzu-ui: Add setting for disabling macro HLE 2023-01-04 14:56:52 -05:00