Age | Commit message (Collapse) | Author |
|
Prevents needing to deduce the non-Switch setting in core. Instead, we
deduce the meaning of this setting where the heresy is committed, in
common.
settings: Remove strftime usage
GetTimeZoneString: Use standard features
Also forces GMT on MinGW due to broken strftime.
|
|
Track the private anonymous placeholder mappings created by Unmap() and
wherever possible, replace existing placeholders with larger ones
instead of creating many small ones.
This helps with the buildup of mappings in /proc/YUZU_PID/maps after a
longer gaming session, improving stability without having to increase
vm.max_map_count to a ridiculous value. The amount of placeholder
mappings will no longer outgrow the amount of actual memfd mappings in
cases of high memory fragmentation.
|
|
Implicit conversions are now disallowed in fmt 10. Use format_as to convert to the underlying type.
|
|
|
|
configure_graphics: Add option to enable compute pipelines for Intel proprietary
|
|
Allow Fermi blit accelerate to work without images in cache
|
|
already. Use ScratchBuffers in the software blit path.
|
|
|
|
|
|
|
|
For the Intel proprietary driver's deficiencies.
settings: Restore compute option global state
|
|
configuration: Expose separate swap present modes
|
|
yuzu: Add motion preview to controller input
|
|
|
|
|
|
|
|
|
|
settings: rename extended memory layout to unsafe, move from general to system
|
|
Not entirely sure if we need this, but there's also no reason not to
support it.
settings: Give VSyncMode values
|
|
Previously, yuzu would try and guess which vsync mode to use given
different scenarios, but apparently we didn't always get it right. This
exposes the separate modes in a drop-down the user can select.
If a mode isn't available in Vulkan, it defaults to FIFO.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
|
|
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>
|
|
waitpkg introduces 3 instructions, UMONITOR, UMWAIT and TPAUSE.
|
|
|
|
Ports a small subset of boost's hash_value implementation (<= 1.80.0).
|
|
|
|
bounded_threadsafe_queue: Use simplified impl of bounded queue
|
|
kernel: use KTypedAddress for addresses
|
|
|
|
Introduces PopModes to bring waiting logic into Pop, similar to Push.
|
|
|
|
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.
|
|
|
|
|
|
Provides a simplified SPSC, MPSC, and MPMC bounded queue implementation using mutexes.
|
|
|
|
|
|
|
|
native_clock: Re-adjust the RDTSC frequency to its real frequency
|
|
input_common: Increase mouse sensitivity range
|
|
kernel: avoid signed overflow UB on MSVC
|
|
common: make BitCast constexpr
|
|
It was experimentally determined to be sufficient.
|
|
We want to synchronize RDTSC to real time.
|