From 4d2251a06bcb03fe552cc4e581ad40c503fc9007 Mon Sep 17 00:00:00 2001 From: Spoike Date: Mon, 20 Dec 2021 10:07:24 +0000 Subject: [PATCH] Try to fix vulkan-related crashes. git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@6141 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- engine/gl/gl_vidnt.c | 4 +++- engine/vk/vk_init.c | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/engine/gl/gl_vidnt.c b/engine/gl/gl_vidnt.c index 79dcacdc..558b1d5f 100644 --- a/engine/gl/gl_vidnt.c +++ b/engine/gl/gl_vidnt.c @@ -922,7 +922,9 @@ static qboolean Win32NVVK_AttachVulkan (rendererstate_t *info) qglSignalVkSemaphoreNV = getglfunc("glSignalVkSemaphoreNV"); qglSignalVkFenceNV = getglfunc("glSignalVkFenceNV"); - vkGetInstanceProcAddr = nvvkGetInstanceProcAddr; + vkGetInstanceProcAddr = nvvkGetInstanceProcAddr(NULL, "vkGetInstanceProcAddr"); + if (!vkGetInstanceProcAddr) + vkGetInstanceProcAddr = nvvkGetInstanceProcAddr; // qwglMakeCurrent(maindc, NULL); return VK_Init(info, NULL, Win32NVVK_CreateSurface, Win32NVVK_Present); } diff --git a/engine/vk/vk_init.c b/engine/vk/vk_init.c index cddb79b3..a4bb2ec3 100644 --- a/engine/vk/vk_init.c +++ b/engine/vk/vk_init.c @@ -4640,7 +4640,7 @@ qboolean VK_EnumerateDevices (void *usercontext, void(*callback)(void *context, //third set of functions... #ifdef VK_NO_PROTOTYPES - vk_GetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)vk_GetInstanceProcAddr(vk_instance, "vkGetInstanceProcAddr"); + //vk_GetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)vk_GetInstanceProcAddr(vk_instance, "vkGetInstanceProcAddr"); #define VKFunc(n) vk_##n = (PFN_vk##n)vk_GetInstanceProcAddr(vk_instance, "vk"#n); VKFunc(DestroyInstance) VKFunc(EnumeratePhysicalDevices) @@ -4849,7 +4849,7 @@ qboolean VK_Init(rendererstate_t *info, const char **sysextnames, qboolean (*cre //third set of functions... #ifdef VK_NO_PROTOTYPES - vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)vkGetInstanceProcAddr(vk.instance, "vkGetInstanceProcAddr"); + //vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)vkGetInstanceProcAddr(vk.instance, "vkGetInstanceProcAddr"); #define VKFunc(n) vk##n = (PFN_vk##n)vkGetInstanceProcAddr(vk.instance, "vk"#n); VKInst2Funcs #undef VKFunc