From 3c4cdea02a44c905889ff4122b8f1c9660380075 Mon Sep 17 00:00:00 2001 From: Stephen Saunders Date: Tue, 28 Mar 2023 12:15:41 -0400 Subject: [PATCH] Define r_mvkSynchronousQueueSubmits cvar to control MoltenVK's queue submit option --- neo/sys/DeviceManager_VK.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/neo/sys/DeviceManager_VK.cpp b/neo/sys/DeviceManager_VK.cpp index 9ab3e6fa..425ea5d8 100644 --- a/neo/sys/DeviceManager_VK.cpp +++ b/neo/sys/DeviceManager_VK.cpp @@ -38,6 +38,8 @@ // SRS - optionally needed for VK_MVK_MOLTENVK_EXTENSION_NAME and MoltenVK runtime config visibility #if defined(__APPLE__) && defined( USE_MoltenVK ) #include + + idCVar r_mvkSynchronousQueueSubmits( "r_mvkSynchronousQueueSubmits", "0", CVAR_BOOL | CVAR_INIT, "Use MoltenVK's synchronous queue submit option." ); #endif #include @@ -1127,8 +1129,8 @@ bool DeviceManager_VK::CreateDeviceAndSwapChain() vkGetMoltenVKConfigurationMVK( m_VulkanInstance, &pConfig, &pConfigSize ); - // SRS - Disable synchronous queue submission for vkQueueSubmit() & vkQueuePresentKHR() - pConfig.synchronousQueueSubmits = VK_FALSE; + // SRS - Set MoltenVK's synchronous queue submit option for vkQueueSubmit() & vkQueuePresentKHR() + pConfig.synchronousQueueSubmits = r_mvkSynchronousQueueSubmits.GetBool() ? VK_TRUE : VK_FALSE; vkSetMoltenVKConfigurationMVK( m_VulkanInstance, &pConfig, &pConfigSize ); // SRS - If we don't have native image view swizzle, enable MoltenVK's image view swizzle feature