(Vulkan) Add descriptor set layout function callbacks

This commit is contained in:
twinaphex 2016-02-29 22:04:23 +01:00
parent caed6c61cb
commit 83dc7db6c7
3 changed files with 19 additions and 5 deletions

View File

@ -1148,6 +1148,10 @@ bool vulkan_context_init(gfx_ctx_vulkan_data_t *vk,
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, CmdBindDescriptorSets);
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, UpdateDescriptorSets);
/* Descriptor Set Layout */
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, CreateDescriptorSetLayout);
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, DestroyDescriptorSetLayout);
/* Framebuffers */
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, CreateFramebuffer);
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, DestroyFramebuffer);
@ -1170,6 +1174,7 @@ bool vulkan_context_init(gfx_ctx_vulkan_data_t *vk,
/* Pipelines */
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, CreatePipelineLayout);
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, DestroyPipelineLayout);
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, CreatePipelineCache);
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, CmdBindPipeline);
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, DestroyPipeline);

View File

@ -162,9 +162,14 @@ typedef struct vulkan_context
/* Pipelines */
PFN_vkCmdBindPipeline vkCmdBindPipeline;
PFN_vkCreatePipelineLayout vkCreatePipelineLayout;
PFN_vkCreatePipelineCache vkCreatePipelineCache;
PFN_vkDestroyPipeline vkDestroyPipeline;
/* Pipeline Layouts */
PFN_vkCreatePipelineLayout vkCreatePipelineLayout;
PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
/* Pipeline Cache */
PFN_vkCreatePipelineCache vkCreatePipelineCache;
/* Descriptor pools */
PFN_vkCreateDescriptorPool vkCreateDescriptorPool;
@ -173,6 +178,10 @@ typedef struct vulkan_context
PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;
PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;
/* Descriptor Set Layout */
PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;
PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout;
/* Command Buffers */
PFN_vkCreateCommandPool vkCreateCommandPool;
PFN_vkDestroyCommandPool vkDestroyCommandPool;

View File

@ -186,7 +186,7 @@ static void vulkan_init_pipeline_layout(
set_layout_info.bindingCount = 2;
set_layout_info.pBindings = bindings;
vkCreateDescriptorSetLayout(vk->context->device,
VKFUNC(vkCreateDescriptorSetLayout)(vk->context->device,
&set_layout_info, NULL, &vk->pipelines.set_layout);
layout_info.setLayoutCount = 1;
@ -549,9 +549,9 @@ static void vulkan_deinit_pipeline_layout(
struct vulkan_context_fp *vkcfp,
vk_t *vk)
{
vkDestroyPipelineLayout(vk->context->device,
VKFUNC(vkDestroyPipelineLayout)(vk->context->device,
vk->pipelines.layout, NULL);
vkDestroyDescriptorSetLayout(vk->context->device,
VKFUNC(vkDestroyDescriptorSetLayout)(vk->context->device,
vk->pipelines.set_layout, NULL);
}