From 73ce5a440a0db0f47d4220d222860cfe0769006e Mon Sep 17 00:00:00 2001 From: Joe Dight Date: Tue, 23 May 2023 12:49:22 +0100 Subject: [PATCH] Fallback to regular-priority queue when vkCreateDevice fails --- src/rendervulkan.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/rendervulkan.cpp b/src/rendervulkan.cpp index 06164be..48639eb 100644 --- a/src/rendervulkan.cpp +++ b/src/rendervulkan.cpp @@ -876,6 +876,13 @@ bool CVulkanDevice::createDevice() }; VkResult res = vk.CreateDevice(physDev(), &deviceCreateInfo, nullptr, &m_device); + if ( res == VK_ERROR_NOT_PERMITTED_KHR && g_bNiceCap ) + { + fprintf(stderr, "vkCreateDevice failed with a high-priority queue. Falling back to regular priority.\n"); + queueCreateInfo.pNext = nullptr; + res = vk.CreateDevice(physDev(), &deviceCreateInfo, nullptr, &m_device); + } + if ( res != VK_SUCCESS ) { vk_errorf( res, "vkCreateDevice failed" );