summaryrefslogtreecommitdiffstats
path: root/src/common/x64/cpu_detect.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-07-06common/x64: Use TSC clock rate from CPUID when availableMarshall Mohror1-0/+5
The current method used to estimate the TSC is fairly accurate - within a few kHz - but the exact value can be extracted from CPUID if available.
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-2/+3
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-03-11cpu_detect: Add additional x86 flags and telemetryWunkolo1-3/+18
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-09cpu_detect: Refactor cpu/manufacturer identificationWunkolo1-9/+16
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: Compact capability fieldsWunkolo1-20/+21
As this structure gets more explicit, bools can be bitfields and small enums can use smaller types for their span of values.
2020-06-20common/cpu_detect: Add AVX512 detectionMorph1-0/+1
2020-06-18Common: Implement WallClock Interface and implement a native clock for x64Fernando Sahmkow1-0/+12
2020-01-18Remove unused CPU Vendor string and telemtry fieldJames Rowe1-31/+0
The information is duplicated in the brand string and the telemetry field is unused
2015-08-16Common: Cleanup CPU capability detection code.bunnei1-57/+42
2015-08-16Common: Move cpu_detect to x64 directory.bunnei1-0/+0
2015-08-15Common: Ported over Dolphin's code for x86 CPU capability detection.bunnei1-17/+20
2014-12-21License changepurpasmart961-2/+2
2014-08-17Common: Move header guards over to pragma onceLioncash1-4/+1
Also replaced C headers with the C++ equivalent ones
2014-04-09got rid of 'src' folders in each sub-projectbunnei1-0/+0
2014-04-02convert tabs to spacesbunnei1-50/+50
2013-09-05replaced common code with dolphin commonShizZy1-0/+81