#include "gpu_info_util/SystemInfo.h"
#include <cstring>
#include <iostream>
#include <sstream>
#include "anglebase/no_destructor.h"
#include "common/debug.h"
#include "common/string_utils.h"
#include "common/system_utils.h"
namespace angle
{
namespace
{
constexpr char kANGLEPreferredDeviceEnv[] = …;
}
std::string VendorName(VendorID vendor)
{ … }
GPUDeviceInfo::GPUDeviceInfo() = default;
GPUDeviceInfo::~GPUDeviceInfo() = default;
GPUDeviceInfo::GPUDeviceInfo(const GPUDeviceInfo &other) = default;
SystemInfo::SystemInfo() = default;
SystemInfo::~SystemInfo() = default;
SystemInfo::SystemInfo(const SystemInfo &other) = default;
bool SystemInfo::hasNVIDIAGPU() const
{ … }
bool SystemInfo::hasIntelGPU() const
{ … }
bool SystemInfo::hasAMDGPU() const
{ … }
std::optional<size_t> SystemInfo::getPreferredGPUIndex() const
{ … }
bool IsAMD(VendorID vendorId)
{ … }
bool IsARM(VendorID vendorId)
{ … }
bool IsBroadcom(VendorID vendorId)
{ … }
bool IsImgTec(VendorID vendorId)
{ … }
bool IsKazan(VendorID vendorId)
{ … }
bool IsIntel(VendorID vendorId)
{ … }
bool IsNVIDIA(VendorID vendorId)
{ … }
bool IsQualcomm(VendorID vendorId)
{ … }
bool IsGoogle(VendorID vendorId)
{ … }
bool IsVeriSilicon(VendorID vendorId)
{ … }
bool IsVMWare(VendorID vendorId)
{ … }
bool IsVirtIO(VendorID vendorId)
{ … }
bool IsVivante(VendorID vendorId)
{ … }
bool IsAppleGPU(VendorID vendorId)
{ … }
bool IsMicrosoft(VendorID vendorId)
{ … }
bool ParseAMDBrahmaDriverVersion(const std::string &content, std::string *version)
{ … }
bool ParseAMDCatalystDriverVersion(const std::string &content, std::string *version)
{ … }
bool CMDeviceIDToDeviceAndVendorID(const std::string &id, uint32_t *vendorId, uint32_t *deviceId)
{ … }
void GetDualGPUInfo(SystemInfo *info)
{ … }
void PrintSystemInfo(const SystemInfo &info)
{ … }
VersionInfo ParseNvidiaDriverVersion(uint32_t version)
{ … }
VersionInfo ParseMesaDriverVersion(uint32_t version)
{ … }
uint64_t GetSystemDeviceIdFromParts(uint32_t highPart, uint32_t lowPart)
{ … }
uint32_t GetSystemDeviceIdHighPart(uint64_t systemDeviceId)
{ … }
uint32_t GetSystemDeviceIdLowPart(uint64_t systemDeviceId)
{ … }
std::string GetPreferredDeviceString()
{ … }
}