diff --git a/src/dxvk/hud/dxvk_hud_item.cpp b/src/dxvk/hud/dxvk_hud_item.cpp index 40707d64..cbabd658 100644 --- a/src/dxvk/hud/dxvk_hud_item.cpp +++ b/src/dxvk/hud/dxvk_hud_item.cpp @@ -125,17 +125,20 @@ namespace dxvk::hud { HudDeviceInfoItem::HudDeviceInfoItem(const Rc& device) { - VkPhysicalDeviceProperties props = device->adapter()->deviceProperties(); + const auto& props = device->properties(); - m_deviceName = props.deviceName; - m_driverVer = str::format("Driver: ", - VK_VERSION_MAJOR(props.driverVersion), ".", - VK_VERSION_MINOR(props.driverVersion), ".", - VK_VERSION_PATCH(props.driverVersion)); - m_vulkanVer = str::format("Vulkan: ", - VK_VERSION_MAJOR(props.apiVersion), ".", - VK_VERSION_MINOR(props.apiVersion), ".", - VK_VERSION_PATCH(props.apiVersion)); + std::string driverInfo = props.vk12.driverInfo; + + if (driverInfo.empty()) { + driverInfo = str::format( + VK_VERSION_MAJOR(props.core.properties.driverVersion), ".", + VK_VERSION_MINOR(props.core.properties.driverVersion), ".", + VK_VERSION_PATCH(props.core.properties.driverVersion)); + } + + m_deviceName = props.core.properties.deviceName; + m_driverName = str::format("Driver: ", props.vk12.driverName); + m_driverVer = str::format("Version: ", driverInfo); } @@ -157,13 +160,13 @@ namespace dxvk::hud { renderer.drawText(16.0f, { position.x, position.y }, { 1.0f, 1.0f, 1.0f, 1.0f }, - m_driverVer); + m_driverName); position.y += 20.0f; renderer.drawText(16.0f, { position.x, position.y }, { 1.0f, 1.0f, 1.0f, 1.0f }, - m_vulkanVer); + m_driverVer); position.y += 8.0f; return position; diff --git a/src/dxvk/hud/dxvk_hud_item.h b/src/dxvk/hud/dxvk_hud_item.h index 18f75054..6b0e93fd 100644 --- a/src/dxvk/hud/dxvk_hud_item.h +++ b/src/dxvk/hud/dxvk_hud_item.h @@ -175,8 +175,8 @@ namespace dxvk::hud { private: std::string m_deviceName; + std::string m_driverName; std::string m_driverVer; - std::string m_vulkanVer; };