diff options
author | Steveice10 <1269164+Steveice10@users.noreply.github.com> | 2023-06-30 23:35:36 -0700 |
---|---|---|
committer | Steveice10 <1269164+Steveice10@users.noreply.github.com> | 2023-07-01 14:15:26 -0700 |
commit | aa89ec921481696c976dd1ca6687721c98e0b2d7 (patch) | |
tree | 9d489207e1f53788635e868c84f1cf7d43e30467 | |
parent | e146a0034552200cf19740f56fb05153f465a51e (diff) |
yuzu: Use test window with VulkanSurface to check for present modes.
It is probably not correct to create a surface on a non-VulkanSurface window.
On macOS this causes a preferences crash due to missing CAMetalLayer.
-rw-r--r-- | src/yuzu/vk_device_info.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/yuzu/vk_device_info.cpp b/src/yuzu/vk_device_info.cpp index 7c26a3dc7..e1a0e6a2a 100644 --- a/src/yuzu/vk_device_info.cpp +++ b/src/yuzu/vk_device_info.cpp @@ -26,7 +26,10 @@ Record::~Record() = default; void PopulateRecords(std::vector<Record>& records, QWindow* window) try { using namespace Vulkan; - auto wsi = QtCommon::GetWindowSystemInfo(window); + // Create a test window with a Vulkan surface type for checking present modes. + QWindow test_window(window); + test_window.setSurfaceType(QWindow::VulkanSurface); + auto wsi = QtCommon::GetWindowSystemInfo(&test_window); vk::InstanceDispatch dld; const auto library = OpenLibrary(); |