Commit graph

63 commits

Author SHA1 Message Date
bunnei
e6f71e15a1 common: Merge uint128 to a single header file with inlines. 2021-02-15 14:46:04 -08:00
Fernando Sahmkow
659fb51dd9 X86/NativeClock: Reimplement RTDSC access to be lock free. 2021-01-02 04:00:27 +01:00
Fernando Sahmkow
50dd9a423a X86/NativeClock: Improve performance of clock calculations on hot path. 2021-01-02 00:43:47 +01:00
Lioncash
50516223e3 xbyak_abi: Shorten std::size_t to size_t
Makes for less reading.
2020-12-05 00:43:55 -05:00
Lioncash
65a52ab81a xbyak_abi: Avoid implicit sign conversions 2020-12-05 00:43:41 -05:00
Lioncash
29db886722 audio_core: Make shadowing and unused parameters errors
Moves the audio code closer to enabling warnings as errors in general.
2020-12-03 00:54:31 -05:00
Lioncash
38ffaef6eb common: Enable warnings as errors
Cleans up common so that we can enable warnings as errors.
2020-11-02 15:50:58 -05:00
ReinUsesLisp
a66d8bb49d common/wall_clock: Add virtual destructors
From -fsanitize=address, this code wasn't calling the proper destructor.
Adding virtual destructors for each inherited class and the base class
fixes this bug.

While we are at it, mark the functions as final.
2020-09-30 02:53:34 -03:00
Lioncash
1233d14175 externals: Update Xbyak to 5.96
I made a request on the Xbyak issue tracker to allow some constructors
to be constexpr in order to avoid static constructors from needing to
execute for some of our register constants.

This request was implemented, so this updates Xbyak so that we can make
use of it.
2020-08-30 05:09:48 -04:00
Fernando Sahmkow
94a51e6b21 Core/Common: Address Feedback. 2020-06-27 18:20:06 -04:00
Fernando Sahmkow
74c9ad1976 Common/NativeClockx86: Reduce native clock accuracy further. 2020-06-27 11:36:18 -04:00
Fernando Sahmkow
1cc7c426df X64 Clock: Reduce accuracy to be less or equal to guest accuracy. 2020-06-27 11:35:55 -04:00
Fernando Sahmkow
fb1d75a788 HostTiming: Pause the hardware clock on pause. 2020-06-27 11:35:10 -04:00
David
a83f0b607e Merge pull request #3396 from FernandoS27/prometheus-1
Implement SpinLocks, Fibers and a Host Timer
2020-06-28 01:34:07 +10:00
Morph
d0a762a6a8 common/cpu_detect: Add AVX512 detection 2020-06-20 00:31:37 -04:00
Fernando Sahmkow
0c789667d9 Common: Refactor & Document Wall clock. 2020-06-18 16:29:18 -04:00
Fernando Sahmkow
ee32067b10 Common: Implement WallClock Interface and implement a native clock for x64 2020-06-18 16:29:17 -04:00
MerryMage
f0054fb284 xbyak_abi: Prefer returning a struct to using out parameters in ABI_CalculateFrameSize 2020-06-15 19:07:11 +01:00
MerryMage
10e9220ec6 xbyak_abi: Register indexes should be unsigned 2020-06-15 19:07:11 +01:00
MerryMage
f60ab4ab14 xbyak_abi: Remove *GPS variants of stack manipulation functions 2020-06-15 18:59:54 +01:00
MerryMage
c1f6eaf06b xbyak_abi: Fix ABI_PushRegistersAndAdjustStack
Pushing GPRs twice.
2020-06-15 18:59:01 +01:00
David Marcec
4686c15c03 Add xbyak external 2020-05-30 10:55:27 +10:00
James Rowe
afd360f85d Remove unused CPU Vendor string and telemtry field
The information is duplicated in the brand string and the telemetry field is unused
2020-01-17 18:41:18 -07:00
Lioncash
7a14d90f97 common: Remove dependency on xbyak
Xbyak is currently entirely unused. Rather than carting it along, remove
it and get rid of a dependency. If it's ever needed in the future, then
it can be re-added (and likely be more up to date at that point in
time).
2018-11-21 03:43:41 -05:00
fearlessTobi
1190ea6ddb Port #4182 from Citra: "Prefix all size_t with std::" 2018-09-15 15:21:06 +02:00
Lioncash
c0f2f8a840 common/xbyak_abi: Mark defined functions in header as inline
Avoids potential One Definition Rule violations when these are used in
the future.
2018-08-14 18:29:56 -04:00
Lioncash
9b5b9205a5 common/xbyak: Use nested namespace specifiers where applicable 2018-08-14 18:27:27 -04:00
Lioncash
6b1e9244c0 common: Convert type traits templates over to variable template versions where applicable
Uses the C++17 inline variable variants
2018-08-07 19:34:47 -04:00
N00byKing
6b5f41b812 cpu_detect.cpp: Change comment from citra to yuzu 2018-03-26 21:43:39 +02:00
James Rowe
ea88c44eb8 Format: Run the new clang format on everything 2018-01-20 16:45:11 -07:00
Yuri Kunde Schlesner
8b55ffb74a Common: Fix some out-of-style includes 2017-05-27 16:14:10 -07:00
Yuri Kunde Schlesner
bc3f65a0ee common/cpu_detect: Add missing include and fix namespace scope 2017-03-12 21:55:15 -07:00
Weiyi Wang
6580180759 Common/x64: remove legacy emitter and abi (#2504)
These are not used any more since we moved shader JIT to xbyak.
2017-01-31 01:06:42 -08:00
Yuri Kunde Schlesner
2d892f845c VideoCore: Convert x64 shader JIT to use Xbyak for assembly 2016-12-14 20:06:08 -08:00
Jan Beich
6ddc8b49ff common: use system CPUID routine on DragonFly as well 2016-10-27 23:28:30 +00:00
Jan Beich
8e5d3f77fb common: some FreeBSD headers are incomplete to avoid namespace pollution
In file included from src/common/x64/cpu_detect.cpp:16:
/usr/include/machine/cpufunc.h:66:17: error: unknown type name 'u_int'
static __inline u_int
                ^
/usr/include/machine/cpufunc.h:67:6: error: unknown type name 'u_int'
bsfl(u_int mask)
     ^
/usr/include/machine/cpufunc.h:69:2: error: unknown type name 'u_int'
        u_int   result;
        ^
/usr/include/machine/cpufunc.h:75:17: error: unknown type name 'u_long'; did you mean 'long'?
static __inline u_long
                ^
/usr/include/machine/cpufunc.h:76:6: error: unknown type name 'u_long'; did you mean 'long'?
bsfq(u_long mask)
     ^
/usr/include/machine/cpufunc.h:78:2: error: use of undeclared identifier 'u_long'; did you mean
      'long'?
        u_long  result;
        ^
[...]
2016-10-27 23:28:30 +00:00
Yuri Kunde Schlesner
fa5d9d8266 Use negative priorities to avoid special-casing the self-include 2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot
1138ec0d49 Remove empty newlines in #include blocks.
This makes clang-format useful on those.

Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00
Yuri Kunde Schlesner
1e4a5da9f4 Manually tweak source formatting and then re-run clang-format 2016-09-18 21:14:25 -07:00
Emmanuel Gil Peyrot
628ed4376a Sources: Run clang-format on everything. 2016-09-18 09:38:01 +09:00
Emmanuel Gil Peyrot
c39a267974 VideoCore: Run include-what-you-use and fix most includes. 2016-04-30 17:02:41 +01:00
bunnei
2d9c714baf emitter: Add CALL that can be fixed up. 2016-04-13 23:04:50 -04:00
bunnei
98e70a3040 emitter: Support arbitrary FixupBranch targets. 2016-04-13 23:04:42 -04:00
Lioncash
11f0ba5143 emitter: templatize ImmPtr 2016-03-09 03:13:01 -05:00
Lioncash
adc46f6a4f emitter: constexpr-ify helper functions 2016-03-09 03:13:00 -05:00
Lioncash
eaf4973993 emitter: Get rid of CanDoOpWith
This was removed in Dolphin as there were no particular uses for it.
I'm sure the same will apply to citra.
2016-03-09 03:12:59 -05:00
Lioncash
fad503ce71 emitter: constexpr-ify OpArg 2016-03-09 03:12:53 -05:00
Lioncash
3a2c84f5a4 emitter: friend class OpArg with XEmitter 2016-03-09 02:25:00 -05:00
Lioncash
ba1b8314f4 emitter: Remove unimplemented prototype 2016-03-09 02:20:00 -05:00
MerryMage
7ca5dd5e08 x64 Emitter: Fix L bit in VEX prefix 2016-02-27 12:45:26 +00:00