#ifndef GPU_INFO_UTIL_SYSTEM_INFO_INTERNAL_H_
#define GPU_INFO_UTIL_SYSTEM_INFO_INTERNAL_H_
#include "common/platform.h"
#include "gpu_info_util/SystemInfo.h"
namespace angle
{
bool GetPCIDevicesWithLibPCI(std::vector<GPUDeviceInfo> *devices);
bool GetNvidiaDriverVersionWithXNVCtrl(std::string *version);
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);
#if defined(ANGLE_PLATFORM_MACOS) || defined(ANGLE_PLATFORM_MACCATALYST)
bool GetSystemInfo_mac(SystemInfo *info);
#else
bool GetSystemInfo_ios(SystemInfo *info);
#endif
#if defined(ANGLE_PLATFORM_MACOS) || defined(ANGLE_PLATFORM_MACCATALYST)
uint64_t GetGpuIDFromDisplayID(uint32_t displayID);
# if ANGLE_ENABLE_CGL
uint64_t GetGpuIDFromOpenGLDisplayMask(uint32_t displayMask);
# endif
#endif
#if defined(ANGLE_PLATFORM_MACOS) && ANGLE_ENABLE_METAL
VendorID GetVendorIDFromMetalDeviceRegistryID(uint64_t registryID);
#endif
}
#endif