yuzu/src/common
merry 16784e5bb3 dynarmic: Inline exclusive memory accesses
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-27 19:40:05 +00:00
..
fs common: fs_util: Add buffer to string view utility functions 2022-02-13 18:53:21 -05:00
logging service/mnpp: Stub mnpp_app 2022-02-10 21:55:28 -06:00
x64 common: wall_clock: Utilize constants for ms, us, and ns ratios 2022-01-30 12:36:56 -05:00
algorithm.h common: Make use of [[nodiscard]] where applicable 2020-08-15 17:17:52 -04:00
alignment.h common/alignment: Fix VS2022 compilation 2021-10-20 01:22:00 -04:00
assert.cpp common: Move settings to common from core. 2021-04-14 16:24:03 -07:00
assert.h assert: Verify formatting 2021-08-05 17:46:22 +00:00
atomic_ops.h X86/NativeClock: Reimplement RTDSC access to be lock free. 2021-01-02 04:00:27 +01:00
bit_cast.h common/bit_cast: Add function matching std::bit_cast without constexpr 2020-11-20 01:52:37 -03:00
bit_field.h common: Make use of [[nodiscard]] where applicable 2020-08-15 17:17:52 -04:00
bit_set.h common: BitSet: Various style fixes based on code review feedback. 2020-12-06 00:27:13 -08:00
bit_util.h common: bit_util: Add IsPow2 helper function 2022-01-11 16:01:12 -05:00
cityhash.cpp common/cityhash: Use common types 2021-02-18 00:45:17 -03:00
cityhash.h common: add missing header after f3805376f7 2021-02-23 00:04:32 +00:00
CMakeLists.txt general: Rename NewUUID to UUID, and remove the previous UUID impl 2022-02-05 13:56:21 -05:00
common_funcs.h common_funcs: Add enum flag bitwise shift operator overloads 2021-09-13 16:01:20 -04:00
common_types.h common_types: Remove NonCopyable struct 2022-02-02 13:19:01 -05:00
concepts.h k_priority_queue: Fix concepts use 2020-12-29 14:33:41 -05:00
detached_tasks.cpp common/detached_tasks: Wait for tasks before shutting down 2021-06-22 04:27:44 -03:00
detached_tasks.h Review comments - part 5 2018-10-02 16:04:10 +02:00
div_ceil.h general: Update style to clang-format-12 2021-09-24 15:52:05 -04:00
dynamic_library.cpp common: Silence two discarded result warnings 2020-08-16 06:17:33 -04:00
dynamic_library.h common: Make use of [[nodiscard]] where applicable 2020-08-15 17:17:52 -04:00
error.cpp common: Move error handling to error.cpp/h 2021-09-11 17:19:14 -04:00
error.h common: Move error handling to error.cpp/h 2021-09-11 17:19:14 -04:00
expected.h common: Implement a subset of P0323 (std::expected) 2021-11-02 15:20:35 -04:00
fiber.cpp common: fiber: YieldTo: Avoid hard crash on nullptr previous_fiber. 2022-01-14 16:17:19 -08:00
fiber.h common: Fiber: use a reference for YieldTo. 2021-03-07 13:46:53 -08:00
hash.h common: Make use of [[nodiscard]] where applicable 2020-08-15 17:17:52 -04:00
hex_util.cpp partition_data_manager: Make data arrays constexpr 2020-08-06 02:41:58 -04:00
hex_util.h hex_util: Fix incorrect array size in AsArray 2021-08-04 22:16:29 -04:00
host_memory.cpp general: Add missing copyright notices 2021-12-05 16:18:53 -05:00
host_memory.h common/host_memory: Implement a fallback if fastmem fails. 2021-06-11 17:27:17 +02:00
input.h general: Rename NewUUID to UUID, and remove the previous UUID impl 2022-02-05 13:56:21 -05:00
intrusive_red_black_tree.h general: Update style to clang-format-12 2021-09-24 15:52:05 -04:00
literals.h common: Replace common_sizes into user-literals 2021-06-24 09:27:40 -07:00
lru_cache.h Garbage Collection: Adress Feedback. 2021-08-29 18:19:53 +02:00
lz4_compression.cpp lz4_compression: Make use of std::span 2021-05-24 15:00:59 -04:00
lz4_compression.h lz4_compression: Make use of std::span 2021-05-24 15:00:59 -04:00
math_util.h Video Core: fix building for GCC. 2021-11-16 22:11:31 +01:00
memory_detect.cpp common: switch to nullptr for sysctl's empty new value 2020-06-30 23:00:18 +00:00
memory_detect.h common: Make use of [[nodiscard]] where applicable 2020-08-15 17:17:52 -04:00
microprofile.cpp Integrate the MicroProfile profiling library 2015-08-24 22:16:28 -03:00
microprofile.h Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
microprofileui.h Common: Remove section measurement from profiler (#1731) 2016-04-29 00:07:10 -07:00
nvidia_flags.cpp common: fs: Rework the Common Filesystem interface to make use of std::filesystem (#6270) 2021-05-25 19:32:56 -04:00
nvidia_flags.h nvidia_flags: Add missing header guard 2021-04-12 19:18:48 -04:00
page_table.cpp fixup! core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory. 2022-02-19 00:14:27 -08:00
page_table.h fixup! core: hle: kernel: KPageTable: Improve Un/MapPhysicalMemory. 2022-02-19 00:14:27 -08:00
param_package.cpp common/logging: Reduce scope of fmt include 2021-10-01 20:48:49 -04:00
param_package.h Project Mjölnir: Part 1 2020-08-26 02:32:32 -04:00
parent_of_member.h parent_of_member: Make sign conversion explicit in OffsetOfImpl() 2021-05-10 08:07:33 -04:00
point.h common: Extract point into a common struct 2021-05-28 08:12:49 -04:00
quaternion.h Implement a basic class for motion devices 2020-08-27 17:19:21 -05:00
ring_buffer.h ring_buffer: Remove granularity template argument 2021-02-06 19:16:00 +00:00
scm_rev.cpp.in cmake: Remove shader cache version 2021-07-22 21:51:40 -04:00
scm_rev.h common: Add additional SCM revision fields 2019-10-05 00:09:49 -04:00
scope_exit.h common: scope_exit: Add a cancellable ScopeExit macro. 2021-02-05 14:03:36 -08:00
settings.cpp dynarmic: Inline exclusive memory accesses 2022-02-27 19:40:05 +00:00
settings.h dynarmic: Inline exclusive memory accesses 2022-02-27 19:40:05 +00:00
settings_input.cpp common: Move settings to common from core. 2021-04-14 16:24:03 -07:00
settings_input.h settings: Add debug setting to enable all controllers 2021-11-27 20:24:37 -06:00
spin_lock.cpp Core/Common: Address Feedback. 2020-06-27 18:20:06 -04:00
spin_lock.h General: Fix clang build 2020-11-05 10:07:16 -05:00
stream.cpp video_core: NVDEC Implementation 2020-10-26 23:07:36 -04:00
stream.h common/stream: Be explicit with copy and move operators 2020-10-29 22:57:35 -04:00
string_util.cpp string_util: Make use of std::string_view and add bounds checking 2021-10-14 14:09:34 -04:00
string_util.h string_util: Make use of std::string_view and add bounds checking 2021-10-14 14:09:34 -04:00
swap.h general: Fix various spelling errors 2021-01-02 10:23:41 -05:00
telemetry.cpp common/telemetry: Migrate namespace into the Common namespace 2020-08-18 15:08:32 -04:00
telemetry.h common: Add NullVisitor default constructor 2022-02-17 06:28:19 -08:00
thread.cpp common: Move error handling to error.cpp/h 2021-09-11 17:19:14 -04:00
thread.h common/thread: Fix data race in is_set 2020-08-26 02:50:51 +00:00
thread_queue_list.h Revert "core: Fix clang build" 2020-10-20 19:07:39 -07:00
thread_worker.h shader_recompiler,video_core: Cleanup some GCC and Clang errors 2021-07-22 21:51:26 -04:00
threadsafe_queue.h threadsafe_queue: Add std::stop_token overload to PopWait 2021-09-15 20:49:07 -04:00
time_zone.cpp Revert "common/time_zone: Simplify GetOsTimeZoneOffset()" 2020-08-19 18:27:31 -04:00
time_zone.h common: Make use of [[nodiscard]] where applicable 2020-08-15 17:17:52 -04:00
tiny_mt.h common: Add implementation of TinyMT (Mersenne Twister RNG). 2021-02-18 16:16:24 -08:00
tree.h common: tree: Avoid a crash on nullptr dereference. 2021-05-20 21:41:51 -07:00
uint128.h common: wall_clock: Fix integer overflow with StandardWallClock. 2021-02-19 18:04:23 -08:00
unique_function.h common: Add unique function 2021-07-08 19:03:19 -03:00
uuid.cpp common: uuid: Use sizeof(u64) instead of 8 in Hash() 2022-02-10 15:03:49 -05:00
uuid.h general: Rename NewUUID to UUID, and remove the previous UUID impl 2022-02-05 13:56:21 -05:00
vector_math.h general: Update style to clang-format-12 2021-09-24 15:52:05 -04:00
virtual_buffer.cpp page_table: Allow page tables to be moved 2020-11-17 20:08:20 -05:00
virtual_buffer.h core/memory: Read and write page table atomically 2020-12-29 21:54:49 -03:00
wall_clock.cpp common: wall_clock: Check precision against the emulated CPU and CNTFRQ 2022-01-30 12:57:23 -05:00
wall_clock.h common: wall_clock: Check precision against the emulated CPU and CNTFRQ 2022-01-30 12:57:23 -05:00
zstd_compression.cpp zstd_compression: Make use of std::span 2021-05-24 15:01:04 -04:00
zstd_compression.h zstd_compression: Make use of std::span 2021-05-24 15:01:04 -04:00