Related to CPUID detecting:

* fixed a bug on display info for AMD CPUs.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6612 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
gnick79 2010-12-19 15:06:30 +00:00
parent 05ad8d01d3
commit c68ae8e91e
1 changed files with 2 additions and 2 deletions

View File

@ -173,7 +173,7 @@ void CPUInfo::Detect()
if (apic_id_core_id_size == 0) { if (apic_id_core_id_size == 0) {
// New mechanism for modern CPUs. // New mechanism for modern CPUs.
num_cores = logical_cpu_count; num_cores = logical_cpu_count;
if (HTT) { if (HTT && vendor == VENDOR_INTEL) {
__cpuid(cpu_id, 0x00000004); __cpuid(cpu_id, 0x00000004);
int cores_x_package = ((cpu_id[0] >> 26) & 0x3F) + 1; int cores_x_package = ((cpu_id[0] >> 26) & 0x3F) + 1;
cores_x_package = ((logical_cpu_count % cores_x_package) == 0) ? cores_x_package : 1; cores_x_package = ((logical_cpu_count % cores_x_package) == 0) ? cores_x_package : 1;
@ -200,7 +200,7 @@ std::string CPUInfo::Summarize()
else else
{ {
sum = StringFromFormat("%s, %i cores", cpu_string, num_cores); sum = StringFromFormat("%s, %i cores", cpu_string, num_cores);
if (HTT) sum += StringFromFormat(" (%i logical IDs per physical core)", logical_cpu_count); if (HTT && vendor == VENDOR_INTEL) sum += StringFromFormat(" (%i logical IDs per physical core)", logical_cpu_count);
} }
if (bSSE) sum += ", SSE"; if (bSSE) sum += ", SSE";
if (bSSE2) sum += ", SSE2"; if (bSSE2) sum += ", SSE2";