summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/gpu_info_util/SystemInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/angle/src/gpu_info_util/SystemInfo.cpp')
-rw-r--r--src/3rdparty/angle/src/gpu_info_util/SystemInfo.cpp171
1 files changed, 0 insertions, 171 deletions
diff --git a/src/3rdparty/angle/src/gpu_info_util/SystemInfo.cpp b/src/3rdparty/angle/src/gpu_info_util/SystemInfo.cpp
deleted file mode 100644
index f8d744342d..0000000000
--- a/src/3rdparty/angle/src/gpu_info_util/SystemInfo.cpp
+++ /dev/null
@@ -1,171 +0,0 @@
-//
-// Copyright (c) 2013-2017 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.cpp: implementation of the system-agnostic parts of SystemInfo.h
-
-#include "gpu_info_util/SystemInfo.h"
-
-#include <cstring>
-#include <sstream>
-
-#include "common/debug.h"
-#include "common/string_utils.h"
-
-namespace angle
-{
-
-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 IsAMD(VendorID vendorId)
-{
- return vendorId == kVendorID_AMD;
-}
-
-bool IsIntel(VendorID vendorId)
-{
- return vendorId == kVendorID_Intel;
-}
-
-bool IsNvidia(VendorID vendorId)
-{
- return vendorId == kVendorID_Nvidia;
-}
-
-bool IsQualcomm(VendorID vendorId)
-{
- return vendorId == kVendorID_Qualcomm;
-}
-
-bool ParseAMDBrahmaDriverVersion(const std::string &content, std::string *version)
-{
- const size_t begin = content.find_first_of("0123456789");
- if (begin == std::string::npos)
- {
- return false;
- }
-
- const size_t end = content.find_first_not_of("0123456789.", begin);
- if (end == std::string::npos)
- {
- *version = content.substr(begin);
- }
- else
- {
- *version = content.substr(begin, end - begin);
- }
- return true;
-}
-
-bool ParseAMDCatalystDriverVersion(const std::string &content, std::string *version)
-{
- std::istringstream stream(content);
-
- std::string line;
- while (std::getline(stream, line))
- {
- static const char kReleaseVersion[] = "ReleaseVersion=";
- if (line.compare(0, std::strlen(kReleaseVersion), kReleaseVersion) != 0)
- {
- continue;
- }
-
- if (ParseAMDBrahmaDriverVersion(line, version))
- {
- return true;
- }
- }
- return false;
-}
-
-bool ParseMacMachineModel(const std::string &identifier,
- std::string *type,
- int32_t *major,
- int32_t *minor)
-{
- size_t numberLoc = identifier.find_first_of("0123456789");
- if (numberLoc == std::string::npos)
- {
- return false;
- }
-
- size_t commaLoc = identifier.find(',', numberLoc);
- if (commaLoc == std::string::npos || commaLoc >= identifier.size())
- {
- return false;
- }
-
- const char *numberPtr = &identifier[numberLoc];
- const char *commaPtr = &identifier[commaLoc + 1];
- char *endPtr = nullptr;
-
- int32_t majorTmp = std::strtol(numberPtr, &endPtr, 10);
- if (endPtr == numberPtr)
- {
- return false;
- }
-
- int32_t minorTmp = std::strtol(commaPtr, &endPtr, 10);
- if (endPtr == commaPtr)
- {
- return false;
- }
-
- *major = majorTmp;
- *minor = minorTmp;
- *type = identifier.substr(0, numberLoc);
-
- return true;
-}
-
-bool CMDeviceIDToDeviceAndVendorID(const std::string &id, uint32_t *vendorId, uint32_t *deviceId)
-{
- unsigned int vendor = 0;
- unsigned int device = 0;
-
- bool success = id.length() >= 21 && HexStringToUInt(id.substr(8, 4), &vendor) &&
- HexStringToUInt(id.substr(17, 4), &device);
-
- *vendorId = vendor;
- *deviceId = device;
- return success;
-}
-
-void FindPrimaryGPU(SystemInfo *info)
-{
- ASSERT(!info->gpus.empty());
-
- // On dual-GPU systems we assume the non-Intel GPU is the primary one.
- int primary = 0;
- bool hasIntel = false;
- for (size_t i = 0; i < info->gpus.size(); ++i)
- {
- if (IsIntel(info->gpus[i].vendorId))
- {
- hasIntel = true;
- }
- if (IsIntel(info->gpus[primary].vendorId))
- {
- primary = static_cast<int>(i);
- }
- }
-
- // Assume that a combination of AMD or Nvidia with Intel means Optimus or AMD Switchable
- info->primaryGPUIndex = primary;
- info->isOptimus = hasIntel && IsNvidia(info->gpus[primary].vendorId);
- info->isAMDSwitchable = hasIntel && IsAMD(info->gpus[primary].vendorId);
-}
-
-} // namespace angle