summaryrefslogtreecommitdiff
path: root/src/common
AgeCommit message (Collapse)Author
2022-03-24hle: nvflinger: Merge Rect with Common::Rectangle.bunnei
2022-03-24common: logging: Add a logger for NVFlinger.bunnei
2022-03-20general: Fix clang/gcc build errorsameerj
2022-03-19common: Reduce unused includesameerj
2022-03-19common: Reduce unused includesameerj
2022-03-14common: tree: Various updates.bunnei
2022-03-14common: intrusive_red_black_tree: Various updates.bunnei
2022-03-11cpu_detect: Add additional x86 flags and telemetryWunkolo
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.
2022-03-11common/telemetry: Update `AddField` name type to `string_view`Wunkolo
Non-owning `string_view` is flexable and avoids some of the many redundant copies made over `std::string`
2022-03-10backend: Ensure backend_thread is destructed before message_queueMerry
Ensures that stop_token signals that stop has been requested before destruction of conditional_variable
2022-03-09cpu_detect: Revert `__cpuid{ex}` array-type argumentWunkolo
Restores compatibility with MSVC's `__cpuid` intrinsic.
2022-03-09cpu_detect: Add missing `lzcnt` detectionWunkolo
2022-03-09cpu_detect: Refactor cpu/manufacturer identificationWunkolo
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(!)
2022-03-09cpu_detect: Update array-types to `span` and `array`Wunkolo
Update some uses of `int` into some more explicitly sized types as well
2022-03-09cpu_detect: Utilize `Bit<N>` utility functionWunkolo
2022-03-09cpu_detect: Compact capability fieldsWunkolo
As this structure gets more explicit, bools can be bitfields and small enums can use smaller types for their span of values.
2022-03-09bit_util: Add `bit` utility functionWunkolo
Extracts a singular bit, as a bool, from the specified compile-time index.
2022-03-06Merge pull request #7973 from Morph1984/debug-crashFernando S
host_memory: Fix fastmem crashes in debug builds
2022-03-02Merge pull request #7935 from Wunkolo/logging-join-fixbunnei
logging: Convert `backend_thread` into an `std::jthread`
2022-03-02host_memory: Fix fastmem crashes in debug buildsMorph
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>
2022-02-27logging: Convert `backend_thread` into an `std::jthread`Wunkolo
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.
2022-02-27dynarmic: Inline exclusive memory accessesmerry
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
2022-02-21settings: Add a new "use_extended_memory_layout" setting.bunnei
- This will be used to enable emulation of a larger memory arrangement.
2022-02-19fixup! core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.bunnei
2022-02-18core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory.bunnei
- Improves the implementations of MapPhysicalMemory and UnmapPhysicalMemory to more closely reflect latest HOS.
2022-02-17common: Add NullVisitor default constructorWunkolo
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.
2022-02-16Merge pull request #7878 from german77/mnppbunnei
service/mnpp: Stub mnpp_app
2022-02-13common: fs_util: Add buffer to string view utility functionsMorph
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.
2022-02-10service/mnpp: Stub mnpp_appNarr the Reg
Used in Super Nintendo Entertainment Systemâ„¢ - Nintendo Switch Online
2022-02-10common: uuid: Use sizeof(u64) instead of 8 in Hash()Morph
2022-02-05common: uuid: Return an invalid UUID if conversion from string failsMorph
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.
2022-02-05general: Rename NewUUID to UUID, and remove the previous UUID implMorph
This completes the removal of the old UUID implementation.
2022-02-05common: uuid: Add AsU128()Morph
This copies the internal bytes of the UUID into a u128 for backwards compatibility. This should not be used.
2022-02-05input/hid: Migrate to the new UUID implementationMorph
2022-02-05common: Implement NewUUIDMorph
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.
2022-02-02common_types: Remove NonCopyable structLioncash
Now that we're moved over to the YUZU_ defines, we can get rid of this struct.
2022-02-02general: Replace NonCopyable struct with equivalentsLioncash
2022-02-01Merge pull request #7807 from german77/moar-buttonsbunnei
input_common: Add home and hard touch press buttons to UDP controllers
2022-02-01Merge pull request #7809 from Morph1984/clock-constantsbunnei
common: wall_clock: Utilize constants for ms, us, and ns ratios
2022-02-01common/file: Remove [[nodiscard]] from Open()Lioncash
Since this has a void return value, there's nothing that can actually be used.
2022-01-30common: wall_clock: Check precision against the emulated CPU and CNTFRQMorph
In addition to requiring nanosecond precision, using the native clock requires that the hardware TSC has a precision greater than the emulated CPU and its clock counter.
2022-01-30common: wall_clock: Utilize constants for ms, us, and ns ratiosMorph
2022-01-30input_common: Add home and hard touch press buttons to UDP controllersgerman77
2022-01-28Merge pull request #7791 from german77/wall_clockMorph
wall_clock: Use standard wall clock if rtsc frequency is too low
2022-01-27wall_clock: use standard wall clock if rtsc frequency is too lowgerman77
2022-01-26common/xbyak_api: Make BuildRegSet() constexprLioncash
This allows us to eliminate any static constructors that would have been emitted due to the function not being constexpr.
2022-01-23yuzu: Add setting to disable controller navigationgerman77
2022-01-20Merge pull request #7695 from Morph1984/is-pow2bunnei
common: bit_util: Add IsPow2 helper function
2022-01-18Merge pull request #7725 from german77/mouse_in_motionbunnei
input_common: Reintroduce motion from mouse and use button names
2022-01-16input_common: Reintroduce motion from mouse and use button namesgerman77