mirror of https://github.com/PCSX2/pcsx2.git
parent
de24ce0a8f
commit
37de84d55f
|
@ -53,6 +53,8 @@ public:
|
||||||
// x86 CPU Capabilities Section (all boolean flags!)
|
// x86 CPU Capabilities Section (all boolean flags!)
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
union {
|
||||||
|
struct {
|
||||||
u32 hasFloatingPointUnit :1;
|
u32 hasFloatingPointUnit :1;
|
||||||
u32 hasVirtual8086ModeEnhancements :1;
|
u32 hasVirtual8086ModeEnhancements :1;
|
||||||
u32 hasDebuggingExtensions :1;
|
u32 hasDebuggingExtensions :1;
|
||||||
|
@ -96,17 +98,17 @@ public:
|
||||||
// AMD-specific CPU Features
|
// AMD-specific CPU Features
|
||||||
u32 hasAMD64BitArchitecture :1;
|
u32 hasAMD64BitArchitecture :1;
|
||||||
u32 hasStreamingSIMD4ExtensionsA :1;
|
u32 hasStreamingSIMD4ExtensionsA :1;
|
||||||
|
};
|
||||||
|
|
||||||
|
u32 AllCapabilities;
|
||||||
|
};
|
||||||
|
|
||||||
// Core Counts!
|
// Core Counts!
|
||||||
u32 PhysicalCores;
|
u32 PhysicalCores;
|
||||||
u32 LogicalCores;
|
u32 LogicalCores;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
x86capabilities()
|
x86capabilities();
|
||||||
{
|
|
||||||
isIdentified = false;
|
|
||||||
VendorID = x86Vendor_Unknown;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Identify();
|
void Identify();
|
||||||
void CountCores();
|
void CountCores();
|
||||||
|
|
|
@ -24,6 +24,26 @@ __aligned16 x86capabilities x86caps;
|
||||||
// Recompiled code buffer for SSE and MXCSR feature testing.
|
// Recompiled code buffer for SSE and MXCSR feature testing.
|
||||||
static __pagealigned u8 targetFXSAVE[512];
|
static __pagealigned u8 targetFXSAVE[512];
|
||||||
|
|
||||||
|
x86capabilities::x86capabilities() :
|
||||||
|
isIdentified(false),
|
||||||
|
VendorID(x86Vendor_Unknown),
|
||||||
|
FamilyID(0),
|
||||||
|
Model(0),
|
||||||
|
TypeID(0),
|
||||||
|
StepID(0),
|
||||||
|
Flags(0),
|
||||||
|
Flags2(0),
|
||||||
|
EFlags(0),
|
||||||
|
EFlags2(0),
|
||||||
|
SEFlag(0),
|
||||||
|
AllCapabilities(0),
|
||||||
|
PhysicalCores(0),
|
||||||
|
LogicalCores(0)
|
||||||
|
{
|
||||||
|
memzero(VendorName);
|
||||||
|
memzero(FamilyName);
|
||||||
|
}
|
||||||
|
|
||||||
// Warning! We've had problems with the MXCSR detection code causing stack corruption in
|
// Warning! We've had problems with the MXCSR detection code causing stack corruption in
|
||||||
// MSVC PGO builds. The problem was fixed when I moved the MXCSR code to this function, and
|
// MSVC PGO builds. The problem was fixed when I moved the MXCSR code to this function, and
|
||||||
// moved the recSSE[] array to a global static (it was local to cpudetectInit). Commented
|
// moved the recSSE[] array to a global static (it was local to cpudetectInit). Commented
|
||||||
|
|
Loading…
Reference in New Issue