summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Morph2023-03-21 21:13:03 -0400
committerGravatar Morph2023-03-27 17:45:22 -0400
commitd2cfe25b07906f36c688ccacde30e3dc50123e8f (patch)
treee99fb164079a31fd1f619d0afedf8c7f07d9fc8a
parentMerge pull request #10002 from german77/log (diff)
downloadyuzu-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.cpp1
-rw-r--r--src/common/x64/cpu_detect.h1
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/**