Age | Commit message (Collapse) | Author |
|
native_clock: Use lfence with rdtsc
|
|
|
|
configuration: Add Paranoid CPU accuracy level
|
|
__forceinline required on MSVC for function to be inlined
|
|
|
|
|
|
|
|
|
|
|
|
Disables most optimizations for the paranoid.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Adds detection of additional CPU flags to cpu_detect and additions to telemetry output.
This is not exhaustive but guided by features that [dynarmic utilizes](https://github.com/merryhime/dynarmic/blob/bcfe377aaa5138af740e90af5be7a7dff7b62a52/src/dynarmic/backend/x64/host_feature.h#L12-L33) as well as features that are currently utilized but not reported to telemetry(invariant_tsc). This is intended to guide future optimizations.
AVX512 in particular is broken up into its individual subsets and some other processor features such as [sha](https://en.wikipedia.org/wiki/Intel_SHA_extensions) and [gfni](https://en.wikipedia.org/wiki/AVX-512#GFNI) are added to have some forward-facing data-points.
What used to be a single `CPU_Extension_x64_AVX512` telemetry field
is also broken up into individual `CPU_Extension_x64_AVX512{F,VL,CD,...}` fields.
|
|
Non-owning `string_view` is flexable and
avoids some of the many redundant copies made over `std::string`
|
|
Ensures that stop_token signals that stop has been requested before destruction of conditional_variable
|
|
Restores compatibility with MSVC's `__cpuid` intrinsic.
|
|
|
|
Set the zero-enum value to Unknown
Move the Manufacterer enum into the CPUCaps structure namespace
Add "ParseManufacturer" utility-function
Fix cpu/brand string buffer sizes(!)
|
|
Update some uses of `int` into some more explicitly sized types as well
|
|
|
|
As this structure gets more explicit, bools can be bitfields and
small enums can use smaller types for their span of values.
|
|
Extracts a singular bit, as a bool, from the specified compile-time index.
|
|
host_memory: Fix fastmem crashes in debug builds
|
|
logging: Convert `backend_thread` into an `std::jthread`
|
|
It is possible for virtual_offset to not be 0 when the iterator is at the beginning, and thus, std::prev(it) may be evaluated, leading to a crash in debug mode.
Co-Authored-By: Fernando S. <1731197+FernandoS27@users.noreply.github.com>
|
|
Was getting an unhandled `invalid_argument` [exception](https://en.cppreference.com/w/cpp/thread/thread/join) during
shutdown on my linux machine. This removes the need for a `StopBackendThread` function entirely since `jthread`
[automatically handles both checking if the thread is joinable and stopping the token before attempting to join](https://en.cppreference.com/w/cpp/thread/jthread/~jthread) in the case that `StartBackendThread` was never called.
|
|
Inlines implementation of exclusive instructions into JITted code,
improving performance of applications relying heavily on these
instructions.
We also fastmem these instructions for additional speed, with
support for appropriate recompilation on fastmem failure.
An unsafe optimization to disable the intercore global_monitor is also
provided, should one wish to rely solely on cmpxchg semantics for
safety.
See also: merryhime/dynarmic#664
|
|
- This will be used to enable emulation of a larger memory arrangement.
|
|
|
|
- Improves the implementations of MapPhysicalMemory and UnmapPhysicalMemory to more closely reflect latest HOS.
|
|
Addresses https://github.com/yuzu-emu/yuzu/issues/7881 to fix linux
builds.
`YUZU_NON_COPYABLE` deletes the `T(const T&)` constructor which will
cause the implicitly defined default ctor/dtor to no-longer generate.
|
|
service/mnpp: Stub mnpp_app
|
|
These functions allow to construct a string view from an input buffer, avoiding the copy done by the non string view counterparts. However, callers must be cognizant of the viewed buffer's lifetime to avoid a use-after-free.
|
|
Used in Super Nintendo Entertainment Systemâ„¢ - Nintendo Switch Online
|
|
|
|
The string constructor of UUID states:
Should the input string not meet the above requirements, an assert will be triggered and an invalid UUID is set instead.
|
|
This completes the removal of the old UUID implementation.
|
|
This copies the internal bytes of the UUID into a u128 for backwards compatibility. This should not be used.
|
|
|
|
This is a fixed and revised implementation of UUID that uses an array of bytes as its internal representation of a UUID instead of a u128 (which was an array of 2 u64s).
In addition to this, the generation of RFC 4122 Version 4 compliant UUIDs is also implemented.
|
|
Now that we're moved over to the YUZU_ defines, we can get rid of this
struct.
|
|
|
|
input_common: Add home and hard touch press buttons to UDP controllers
|
|
common: wall_clock: Utilize constants for ms, us, and ns ratios
|
|
Since this has a void return value, there's nothing that can actually be
used.
|