Files
FEX-Emu--FEX/Source/Windows/Common/CPUFeatures.h
T
Ryan Houdek c0251dc8be FEXCore: Pass host type that changes codegen to FEXCore
Because these compile options change codegen, we need to make sure these
are runtime selected rather than compile-time selected. Will reduce
code-cache variance.
2026-06-26 12:06:30 -07:00

37 lines
769 B
C++

// SPDX-License-Identifier: MIT
#pragma once
#include <windef.h>
#include <winternl.h>
#include <Common/HostFeatures.h>
namespace FEXCore::Context {
class Context;
}
/**
* @brief Maps CPUID results to Windows CPU info structures
*/
namespace FEX::Windows {
class CPUFeatures {
public:
static FEXCore::HostFeatures FetchHostFeatures(bool IsWine, FEXCore::HostFeatures::HostTypeEnum HostType);
CPUFeatures(FEXCore::Context::Context& CTX);
/**
* @brief If the given PF_* feature is supported
*/
bool IsFeaturePresent(uint32_t Feature);
/**
* @brief Fills in `Info` according to the detected CPU features
*/
void UpdateInformation(SYSTEM_CPU_INFORMATION* Info);
private:
SYSTEM_CPU_INFORMATION CpuInfo {};
};
} // namespace FEX::Windows