Lioncash
723edb4c06
alignment: Simplify AlignmentAllocator implementation
...
With C++20, much of the allocator interface has been simplified, so we
can make the same adjustments.
2020-07-17 08:30:12 -04:00
Lioncash
9f027b1af2
common/swap: Make use of std::endian
...
Allows removing a bunch of defines in favor of a two liner.
2020-07-14 16:26:54 -04:00
Tobias
80a0f2a118
common/alignment: Fix compilation errors ( #4303 )
2020-07-12 16:45:49 +02:00
bunnei
1074c87f18
Revert "Port citra-emu/citra#5441 : "Common: remove a mod from AlignUp""
2020-07-11 19:28:09 -04:00
Marshall Mohror
a4306b9e56
Common: remove a mod from AlignUp ( #5441 )
...
In cases where the size is not a known constant when inlining, AlignUp<std::size_t> currently generates two 64-bit div instructions.
This generates one div and a cmov which is significantly cheaper.
2020-07-11 18:39:00 +02:00
David Marcec
bd2feb6873
cmake: Fix libfmt linking errors
2020-07-10 14:04:06 +10:00
John Galt
95cd2e17ab
cmake: fix fmt linking when found
...
This is a new attempt at #4206 that shouldn't break windows builds.
If someone else could test on windows, it would be much appreciated.
Previously, the build bot passed but the actual builds failed.
2020-07-09 11:35:28 -04:00
bunnei
98fcd3ba5d
Revert "cmake: fix fmt linking"
2020-07-02 22:53:12 -04:00
bunnei
064b7bfa5f
Merge pull request #4206 from RealJohnGalt/linkfix
...
cmake: fix fmt linking
2020-07-02 22:23:39 -04:00
Jan Beich
3b1683a152
common: switch to nullptr for sysctl's empty new value
2020-06-30 23:00:18 +00:00
Jan Beich
e6085ea35f
common: add sysconf() fallback
...
src/common/memory_detect.cpp:15:10: fatal error: 'sys/sysinfo.h' file not found
#include <sys/sysinfo.h>
^~~~~~~~~~~~~~~
2020-06-29 22:41:22 +00:00
John Galt
765e37aa35
cmake: fix fmt linking
...
On gcc/ld, and clang/lld, fmt::v6 symbols are excluded, so linking
fails. This fixes the issue.
Note: This was included in the FindBoost changes I shared with
BlinkHawk, however only they were merged. I'm not sure if it was missed,
or if there was an issue with this part of the change.
2020-06-29 07:10:07 -04:00
Fernando Sahmkow
2f8947583f
Core/Common: Address Feedback.
2020-06-27 18:20:06 -04:00
Fernando Sahmkow
7fd7d05838
Common/Kernel: Corrections and small bug fixing.
2020-06-27 11:36:21 -04:00
Fernando Sahmkow
3165152396
Common/NativeClockx86: Reduce native clock accuracy further.
2020-06-27 11:36:18 -04:00
Fernando Sahmkow
7b1804dab4
Common/AtomicOps: Correct GCC Intrinsic argument ordering.
2020-06-27 11:36:16 -04:00
Fernando Sahmkow
467d43570e
Clang Format.
2020-06-27 11:36:14 -04:00
Fernando Sahmkow
528b19a842
General: Tune the priority of main emulation threads so they have higher priority than less important helper threads.
2020-06-27 11:36:09 -04:00
Fernando Sahmkow
534466754f
X64 Clock: Reduce accuracy to be less or equal to guest accuracy.
2020-06-27 11:35:55 -04:00
Fernando Sahmkow
cd1c38be8d
ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.
2020-06-27 11:35:37 -04:00
Fernando Sahmkow
18dcb09342
HostTiming: Pause the hardware clock on pause.
2020-06-27 11:35:10 -04:00
Fernando Sahmkow
e31425df38
General: Recover Prometheus project from harddrive failure
...
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host
Timing, Reworks the Kernel's Scheduler, Introduce Idle State and
Suspended State, Recreates the bootmanager, Initializes Multicore
system.
2020-06-27 11:35:06 -04:00
David
0ea4a8bcc4
Merge pull request #3396 from FernandoS27/prometheus-1
...
Implement SpinLocks, Fibers and a Host Timer
2020-06-28 01:34:07 +10:00
Fernando Sahmkow
7b893c7963
Common: Fix non-conan build
2020-06-26 12:25:19 -04:00
Morph
97ba520434
common/telemetry: Add AVX512 to telemetry
2020-06-20 00:31:37 -04:00
Morph
d6474b4aca
common/cpu_detect: Add AVX512 detection
2020-06-20 00:31:37 -04:00
Fernando Sahmkow
e77ee67bfa
Common/Fiber: Address Feedback and Correct Memory leaks.
2020-06-18 16:29:27 -04:00
Fernando Sahmkow
b6655aa2e4
Common/Fiber: Implement Rewind on Boost Context.
2020-06-18 16:29:27 -04:00
Fernando Sahmkow
59ce6e6d06
Common/uint128: Correct MSVC Compilation in old versions.
2020-06-18 16:29:26 -04:00
Fernando Sahmkow
18f54f7486
Common/Fiber: Document fiber interexchange.
2020-06-18 16:29:26 -04:00
Fernando Sahmkow
137d862d9b
Common/Fiber: Implement Rewinding.
2020-06-18 16:29:25 -04:00
Fernando Sahmkow
41013381d6
Common/Fiber: Additional corrections to f_context.
2020-06-18 16:29:25 -04:00
Fernando Sahmkow
7d2b1a6ec4
Common/Fiber: Correct f_context based Fibers.
2020-06-18 16:29:24 -04:00
Fernando Sahmkow
49a7e0984a
Core/HostTiming: Allow events to be advanced manually.
2020-06-18 16:29:22 -04:00
Fernando Sahmkow
1f7dd36499
Common/Tests: Address Feedback
2020-06-18 16:29:21 -04:00
Fernando Sahmkow
3398f701ee
Common: Make MinGW build use Windows Fibers instead of fcontext_t
2020-06-18 16:29:20 -04:00
Fernando Sahmkow
1bd706344e
Common/Tests: Clang Format.
2020-06-18 16:29:19 -04:00
Fernando Sahmkow
03e4f5dac4
Common: Correct fcontext fibers.
2020-06-18 16:29:19 -04:00
Fernando Sahmkow
e3524d1142
Common: Refactor & Document Wall clock.
2020-06-18 16:29:18 -04:00
Fernando Sahmkow
234b5ff6a9
Common: Implement WallClock Interface and implement a native clock for x64
2020-06-18 16:29:17 -04:00
Fernando Sahmkow
0f8e5a1465
Tests: Add base tests to host timing
2020-06-18 16:29:17 -04:00
Fernando Sahmkow
be320a9e10
Common: Polish Fiber class, add comments, asserts and more tests.
2020-06-18 16:29:15 -04:00
Fernando Sahmkow
8d0e3c5422
Tests: Add tests for fibers and refactor/fix Fiber class
2020-06-18 16:29:15 -04:00
Fernando Sahmkow
bc266a9d98
Common: Implement a basic Fiber class.
2020-06-18 16:29:14 -04:00
Fernando Sahmkow
13ed9438fb
Common: Implement a basic SpinLock class
2020-06-18 16:29:13 -04:00
bunnei
a8ac99b619
Merge pull request #4086 from MerryMage/abi
...
xbyak_abi: Cleanup
2020-06-17 11:20:52 -04:00
MerryMage
7c6203dc5e
xbyak_abi: Prefer returning a struct to using out parameters in ABI_CalculateFrameSize
2020-06-15 19:07:11 +01:00
MerryMage
36362e9695
xbyak_abi: Register indexes should be unsigned
2020-06-15 19:07:11 +01:00
MerryMage
d563017dfe
xbyak_abi: Remove *GPS variants of stack manipulation functions
2020-06-15 18:59:54 +01:00
MerryMage
4417770ba9
xbyak_abi: Fix ABI_PushRegistersAndAdjustStack
...
Pushing GPRs twice.
2020-06-15 18:59:01 +01:00