summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorOatmealDome <julian@oatmealdome.me>2026-03-20 21:22:22 -0400
committerOatmealDome <julian@oatmealdome.me>2026-03-21 11:16:14 -0400
commit750c6ed705071bf70cf4b35161cdb327043fecde (patch)
tree5ecd5e0df759679c2f8fac72a154df102ccac52c /Source
parent36d8dbc590580bd5694b143c62350f092c4fcdb6 (diff)
DriverDetails: Use macOS version as the driver version
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/VideoBackends/Metal/MTLUtil.mm4
-rw-r--r--Source/Core/VideoCommon/DriverDetails.cpp14
2 files changed, 15 insertions, 3 deletions
diff --git a/Source/Core/VideoBackends/Metal/MTLUtil.mm b/Source/Core/VideoBackends/Metal/MTLUtil.mm
index ad52653ee3..719a38dca2 100644
--- a/Source/Core/VideoBackends/Metal/MTLUtil.mm
+++ b/Source/Core/VideoBackends/Metal/MTLUtil.mm
@@ -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
diff --git a/Source/Core/VideoCommon/DriverDetails.cpp b/Source/Core/VideoCommon/DriverDetails.cpp
index 705bd66bab..099afeab73 100644
--- a/Source/Core/VideoCommon/DriverDetails.cpp
+++ b/Source/Core/VideoCommon/DriverDetails.cpp
@@ -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();