From f02faeea2739b4c1a8c47bb76d8aa8dde91f89a9 Mon Sep 17 00:00:00 2001 From: Hans-Kristian Arntzen Date: Sun, 6 Mar 2016 12:33:46 +0100 Subject: [PATCH] Vulkan: Fix segfault on nVidia. --- gfx/common/vulkan_common.c | 6 +++++- gfx/drivers/vulkan.c | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gfx/common/vulkan_common.c b/gfx/common/vulkan_common.c index e66a8ad459..e5927c9f1f 100644 --- a/gfx/common/vulkan_common.c +++ b/gfx/common/vulkan_common.c @@ -1234,7 +1234,6 @@ bool vulkan_context_init(gfx_ctx_vulkan_data_t *vk, RARCH_LOG("Vulkan dynamic library loaded.\n"); - VKSYM(vk, CreateInstance); VKSYM(vk, GetInstanceProcAddr); app.pApplicationName = "RetroArch"; @@ -1254,7 +1253,12 @@ bool vulkan_context_init(gfx_ctx_vulkan_data_t *vk, res = VK_SUCCESS; } else + { + /* This will be called with a NULL instance, which + * is what we want. */ + VK_GET_INSTANCE_PROC_ADDR(CreateInstance); res = VKFUNC(vkCreateInstance)(&info, NULL, &vk->context.instance); + } /* Try different API versions if driver has compatible * but slightly different VK_API_VERSION. */ diff --git a/gfx/drivers/vulkan.c b/gfx/drivers/vulkan.c index 632b29e3e9..a6f0e758dd 100644 --- a/gfx/drivers/vulkan.c +++ b/gfx/drivers/vulkan.c @@ -73,7 +73,8 @@ static const gfx_ctx_driver_t *vulkan_get_context(vk_t *vk) static void vulkan_init_render_pass( vk_t *vk) { - VkRenderPassCreateInfo rp_info; + VkRenderPassCreateInfo rp_info = { + VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO }; VkAttachmentDescription attachment = {0}; VkSubpassDescription subpass = {0}; VkAttachmentReference color_ref = { 0,