diff --git a/gfx/common/vulkan_common.c b/gfx/common/vulkan_common.c index 14aaba96a1..c21c30a4ce 100644 --- a/gfx/common/vulkan_common.c +++ b/gfx/common/vulkan_common.c @@ -1056,6 +1056,8 @@ bool vulkan_context_init(gfx_ctx_vulkan_data_t *vk, VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, CmdBindPipeline); VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, CreateRenderPass); VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, CreateFramebuffer); + VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, CreatePipelineLayout); + VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, CreatePipelineCache); if (vk->context.fp.vkEnumeratePhysicalDevices(vk->context.instance, &gpu_count, NULL) != VK_SUCCESS) diff --git a/gfx/common/vulkan_common.h b/gfx/common/vulkan_common.h index a68d69a941..b4b6bb0ae5 100644 --- a/gfx/common/vulkan_common.h +++ b/gfx/common/vulkan_common.h @@ -141,6 +141,8 @@ typedef struct vulkan_context PFN_vkGetDeviceQueue vkGetDeviceQueue; PFN_vkCreateInstance vkCreateInstance; PFN_vkCreateRenderPass vkCreateRenderPass; + PFN_vkCreatePipelineLayout vkCreatePipelineLayout; + PFN_vkCreatePipelineCache vkCreatePipelineCache; PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices; PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties; PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties; diff --git a/gfx/drivers/vulkan.c b/gfx/drivers/vulkan.c index 2980c687c8..58654ed8cd 100644 --- a/gfx/drivers/vulkan.c +++ b/gfx/drivers/vulkan.c @@ -185,7 +185,7 @@ static void vulkan_init_pipeline_layout(vk_t *vk) layout_info.setLayoutCount = 1; layout_info.pSetLayouts = &vk->pipelines.set_layout; - vkCreatePipelineLayout(vk->context->device, + vk->context->fp.vkCreatePipelineLayout(vk->context->device, &layout_info, NULL, &vk->pipelines.layout); } @@ -650,7 +650,7 @@ static void vulkan_init_static_resources(vk_t *vk) VkPipelineCacheCreateInfo cache = { VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO }; - vkCreatePipelineCache(vk->context->device, + vk->context->fp.vkCreatePipelineCache(vk->context->device, &cache, NULL, &vk->pipelines.cache); pool_info.queueFamilyIndex = vk->context->graphics_queue_index;