From 6e981b91b632a27083c05a03574a87e9441c8526 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Wed, 7 Mar 2018 00:23:06 +0100 Subject: [PATCH] [dxvk] Add adapter logging --- src/dxgi/dxgi_factory.cpp | 3 ++- src/dxvk/dxvk_adapter.cpp | 15 +++++++++++++++ src/dxvk/dxvk_adapter.h | 8 ++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/dxgi/dxgi_factory.cpp b/src/dxgi/dxgi_factory.cpp index 54bc6e6a..40980c5f 100644 --- a/src/dxgi/dxgi_factory.cpp +++ b/src/dxgi/dxgi_factory.cpp @@ -6,7 +6,8 @@ namespace dxvk { DxgiFactory::DxgiFactory() : m_instance(new DxvkInstance()), m_adapters(m_instance->enumAdapters()) { - + for (const auto& adapter : m_adapters) + adapter->logAdapterInfo(); } diff --git a/src/dxvk/dxvk_adapter.cpp b/src/dxvk/dxvk_adapter.cpp index 71f7f68d..16fa4312 100644 --- a/src/dxvk/dxvk_adapter.cpp +++ b/src/dxvk/dxvk_adapter.cpp @@ -218,6 +218,21 @@ namespace dxvk { } + void DxvkAdapter::logAdapterInfo() const { + VkPhysicalDeviceProperties deviceInfo = this->deviceProperties(); + + Logger::info(str::format(deviceInfo.deviceName, ":")); + Logger::info(str::format(" Driver: ", + VK_VERSION_MAJOR(deviceInfo.driverVersion), ".", + VK_VERSION_MINOR(deviceInfo.driverVersion), ".", + VK_VERSION_PATCH(deviceInfo.driverVersion))); + Logger::info(str::format(" Vulkan: ", + VK_VERSION_MAJOR(deviceInfo.apiVersion), ".", + VK_VERSION_MINOR(deviceInfo.apiVersion), ".", + VK_VERSION_PATCH(deviceInfo.apiVersion))); + } + + void DxvkAdapter::logNameList(const vk::NameList& names) { for (uint32_t i = 0; i < names.count(); i++) Logger::info(str::format(" ", names.name(i))); diff --git a/src/dxvk/dxvk_adapter.h b/src/dxvk/dxvk_adapter.h index badbfbb6..e08239ab 100644 --- a/src/dxvk/dxvk_adapter.h +++ b/src/dxvk/dxvk_adapter.h @@ -147,6 +147,14 @@ namespace dxvk { HINSTANCE instance, HWND window); + /** + * \brief Logs DXVK adapter info + * + * May be useful for bug reports + * and general troubleshooting. + */ + void logAdapterInfo() const; + private: Rc m_instance;