DriverDetails: Use macOS version as the driver version

This commit is contained in:
OatmealDome
2026-03-20 21:22:22 -04:00
parent 36d8dbc590
commit 750c6ed705
2 changed files with 15 additions and 3 deletions

View File

@@ -253,9 +253,7 @@ void Metal::Util::PopulateBackendInfoFeatures(const VideoConfig& config, Backend
vendor = DriverDetails::VENDOR_INTEL;
else if (name.find("Apple") != std::string::npos)
vendor = DriverDetails::VENDOR_APPLE;
const NSOperatingSystemVersion cocoa_ver = [[NSProcessInfo processInfo] operatingSystemVersion];
double version = cocoa_ver.majorVersion * 100 + cocoa_ver.minorVersion;
DriverDetails::Init(DriverDetails::API_METAL, vendor, DriverDetails::DRIVER_APPLE, version,
DriverDetails::Init(DriverDetails::API_METAL, vendor, DriverDetails::DRIVER_APPLE, 0.0,
DriverDetails::Family::UNKNOWN, std::move(name));
#if TARGET_OS_OSX

View File

@@ -7,6 +7,10 @@
#include "Core/DolphinAnalytics.h"
#ifdef __APPLE__
#include "Common/CommonFuncs.h"
#endif
namespace DriverDetails
{
struct BugInfo
@@ -198,6 +202,16 @@ void Init(API api, Vendor vendor, Driver driver, const double version, const Fam
}
}
#ifdef __APPLE__
// The Metal graphics drivers are part of macOS, so we use the current macOS version as the
// driver version for Metal and Vulkan on Metal.
if (api == API_METAL || (api == API_VULKAN && driver == DRIVER_PORTABILITY))
{
Common::MacOSVersion mac_version = Common::GetMacOSVersion();
m_version = mac_version.major * 100 + mac_version.minor;
}
#endif
// Clear bug list, as the API may have changed
m_bugs.clear();