David
9b75481755
ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer ( #4465 )
* ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer
With the support of C++20, we can use concepts to deduce if a type is an STL container or not.
* More agressive concept for stl containers
* Add -fconcepts
* Move to common namespace
* Add Common::IsBaseOf
5 years ago
LC
e3503de588
common/string_util: Remove unimplemented function prototype ( #4414 )
This function was relocated to log.h as a constexpr function, so this
can be removed.
5 years ago
Lioncash
ca6ff01333
virtual_buffer: Mark size parameter of FreeMemoryPages() as [[maybe_unused]]
This isn't used on Windows, but is used on non-Windows operating
systems.
5 years ago
lat9nq
3848155c42
common: Add a screenshots directory
Adds a screenshots directory as a path managed by FileUtil.
6 years ago
Jan Beich
db43b37e15
alignment: explicitly include <new> after 723edb4c06
In file included from src/core/hle/kernel/memory/page_table.cpp:5:
src/./common/alignment.h:67:68: error: no member named 'align_val_t' in namespace 'std'
return static_cast<T*>(::operator new (n * sizeof(T), std::align_val_t{Align}));
~~~~~^
src/./common/alignment.h:71:51: error: no member named 'align_val_t' in namespace 'std'
::operator delete (p, n * sizeof(T), std::align_val_t{Align});
~~~~~^
6 years ago
Lioncash
723edb4c06
alignment: Simplify AlignmentAllocator implementation
With C++20, much of the allocator interface has been simplified, so we
can make the same adjustments.
6 years ago
Lioncash
9f027b1af2
common/swap: Make use of std::endian
Allows removing a bunch of defines in favor of a two liner.
6 years ago
Tobias
80a0f2a118
common/alignment: Fix compilation errors ( #4303 )
6 years ago
bunnei
1074c87f18
Revert "Port citra-emu/citra#5441 : "Common: remove a mod from AlignUp""
6 years ago
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.
6 years ago
David Marcec
bd2feb6873
cmake: Fix libfmt linking errors
6 years ago
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.
6 years ago
bunnei
98fcd3ba5d
Revert "cmake: fix fmt linking"
6 years ago
Jan Beich
3b1683a152
common: switch to nullptr for sysctl's empty new value
6 years ago
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>
^~~~~~~~~~~~~~~
6 years ago
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.
6 years ago
Fernando Sahmkow
2f8947583f
Core/Common: Address Feedback.
6 years ago
Fernando Sahmkow
7fd7d05838
Common/Kernel: Corrections and small bug fixing.
6 years ago
Fernando Sahmkow
3165152396
Common/NativeClockx86: Reduce native clock accuracy further.
6 years ago
Fernando Sahmkow
7b1804dab4
Common/AtomicOps: Correct GCC Intrinsic argument ordering.
6 years ago
Fernando Sahmkow
467d43570e
Clang Format.
6 years ago
Fernando Sahmkow
528b19a842
General: Tune the priority of main emulation threads so they have higher priority than less important helper threads.
6 years ago
Fernando Sahmkow
534466754f
X64 Clock: Reduce accuracy to be less or equal to guest accuracy.
6 years ago
Fernando Sahmkow
cd1c38be8d
ARM/Memory: Correct Exclusive Monitor and Implement Exclusive Memory Writes.
6 years ago
Fernando Sahmkow
18dcb09342
HostTiming: Pause the hardware clock on pause.
6 years ago
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.
6 years ago
Fernando Sahmkow
7b893c7963
Common: Fix non-conan build
6 years ago
Morph
97ba520434
common/telemetry: Add AVX512 to telemetry
6 years ago
Morph
d6474b4aca
common/cpu_detect: Add AVX512 detection
6 years ago
Fernando Sahmkow
e77ee67bfa
Common/Fiber: Address Feedback and Correct Memory leaks.
6 years ago
Fernando Sahmkow
b6655aa2e4
Common/Fiber: Implement Rewind on Boost Context.
6 years ago
Fernando Sahmkow
59ce6e6d06
Common/uint128: Correct MSVC Compilation in old versions.
6 years ago
Fernando Sahmkow
18f54f7486
Common/Fiber: Document fiber interexchange.
6 years ago
Fernando Sahmkow
137d862d9b
Common/Fiber: Implement Rewinding.
6 years ago
Fernando Sahmkow
41013381d6
Common/Fiber: Additional corrections to f_context.
6 years ago
Fernando Sahmkow
7d2b1a6ec4
Common/Fiber: Correct f_context based Fibers.
6 years ago
Fernando Sahmkow
49a7e0984a
Core/HostTiming: Allow events to be advanced manually.
6 years ago
Fernando Sahmkow
1f7dd36499
Common/Tests: Address Feedback
6 years ago
Fernando Sahmkow
3398f701ee
Common: Make MinGW build use Windows Fibers instead of fcontext_t
6 years ago
Fernando Sahmkow
1bd706344e
Common/Tests: Clang Format.
6 years ago
Fernando Sahmkow
03e4f5dac4
Common: Correct fcontext fibers.
6 years ago
Fernando Sahmkow
e3524d1142
Common: Refactor & Document Wall clock.
6 years ago
Fernando Sahmkow
234b5ff6a9
Common: Implement WallClock Interface and implement a native clock for x64
6 years ago
Fernando Sahmkow
0f8e5a1465
Tests: Add base tests to host timing
6 years ago
Fernando Sahmkow
be320a9e10
Common: Polish Fiber class, add comments, asserts and more tests.
6 years ago
Fernando Sahmkow
8d0e3c5422
Tests: Add tests for fibers and refactor/fix Fiber class
6 years ago
Fernando Sahmkow
bc266a9d98
Common: Implement a basic Fiber class.
6 years ago
Fernando Sahmkow
13ed9438fb
Common: Implement a basic SpinLock class
6 years ago
MerryMage
7c6203dc5e
xbyak_abi: Prefer returning a struct to using out parameters in ABI_CalculateFrameSize
6 years ago
MerryMage
36362e9695
xbyak_abi: Register indexes should be unsigned
6 years ago