diff options
| author | 2023-03-21 21:13:03 -0400 | |
|---|---|---|
| committer | 2023-03-27 17:45:22 -0400 | |
| commit | d2cfe25b07906f36c688ccacde30e3dc50123e8f (patch) | |
| tree | e99fb164079a31fd1f619d0afedf8c7f07d9fc8a | |
| parent | Merge pull request #10002 from german77/log (diff) | |
| download | yuzu-d2cfe25b07906f36c688ccacde30e3dc50123e8f.tar.gz yuzu-d2cfe25b07906f36c688ccacde30e3dc50123e8f.tar.xz yuzu-d2cfe25b07906f36c688ccacde30e3dc50123e8f.zip | |
x64: cpu_detect: Add detection of waitpkg instructions
waitpkg introduces 3 instructions, UMONITOR, UMWAIT and TPAUSE.
Diffstat (limited to '')
| -rw-r--r-- | src/common/x64/cpu_detect.cpp | 1 | ||||
| -rw-r--r-- | src/common/x64/cpu_detect.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/src/common/x64/cpu_detect.cpp b/src/common/x64/cpu_detect.cpp index e54383a4a..72ed6e96c 100644 --- a/src/common/x64/cpu_detect.cpp +++ b/src/common/x64/cpu_detect.cpp | |||
| @@ -144,6 +144,7 @@ static CPUCaps Detect() { | |||
| 144 | caps.bmi2 = Common::Bit<8>(cpu_id[1]); | 144 | caps.bmi2 = Common::Bit<8>(cpu_id[1]); |
| 145 | caps.sha = Common::Bit<29>(cpu_id[1]); | 145 | caps.sha = Common::Bit<29>(cpu_id[1]); |
| 146 | 146 | ||
| 147 | caps.waitpkg = Common::Bit<5>(cpu_id[2]); | ||
| 147 | caps.gfni = Common::Bit<8>(cpu_id[2]); | 148 | caps.gfni = Common::Bit<8>(cpu_id[2]); |
| 148 | 149 | ||
| 149 | __cpuidex(cpu_id, 0x00000007, 0x00000001); | 150 | __cpuidex(cpu_id, 0x00000007, 0x00000001); |
diff --git a/src/common/x64/cpu_detect.h b/src/common/x64/cpu_detect.h index ca8db19d6..8253944d6 100644 --- a/src/common/x64/cpu_detect.h +++ b/src/common/x64/cpu_detect.h | |||
| @@ -67,6 +67,7 @@ struct CPUCaps { | |||
| 67 | bool pclmulqdq : 1; | 67 | bool pclmulqdq : 1; |
| 68 | bool popcnt : 1; | 68 | bool popcnt : 1; |
| 69 | bool sha : 1; | 69 | bool sha : 1; |
| 70 | bool waitpkg : 1; | ||
| 70 | }; | 71 | }; |
| 71 | 72 | ||
| 72 | /** | 73 | /** |