// // Copyright 2013 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // SystemInfo_internal.h: Functions used by the SystemInfo_* files and unittests #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 { // Defined in SystemInfo_libpci when GPU_INFO_USE_LIBPCI is defined. bool GetPCIDevicesWithLibPCI(std::vector *devices); // Defined in SystemInfo_x11 when GPU_INFO_USE_X11 is defined. bool GetNvidiaDriverVersionWithXNVCtrl(std::string *version); // Target specific helper functions that can be compiled on all targets // Live in SystemInfo.cpp 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) // Helper to get the active GPU ID from a given Core Graphics display ID. uint64_t GetGpuIDFromDisplayID(uint32_t displayID); # if ANGLE_ENABLE_CGL // Helper to get the active GPU ID from an OpenGL display mask. uint64_t GetGpuIDFromOpenGLDisplayMask(uint32_t displayMask); # endif #endif #if defined(ANGLE_PLATFORM_MACOS) && ANGLE_ENABLE_METAL // Get VendorID from metal device's registry ID VendorID GetVendorIDFromMetalDeviceRegistryID(uint64_t registryID); #endif } // namespace angle #endif // GPU_INFO_UTIL_SYSTEM_INFO_INTERNAL_H_