(Vulkan) More function pointers for command buffer functions
This commit is contained in:
parent
860ffff3c9
commit
7f5d0f2763
|
@ -437,7 +437,8 @@ struct vk_texture vulkan_create_texture(vk_t *vk,
|
|||
vkAllocateCommandBuffers(vk->context->device, &cmd_info, &staging);
|
||||
|
||||
begin_info.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
|
||||
vkBeginCommandBuffer(staging, &begin_info);
|
||||
|
||||
VKFUNC(vkBeginCommandBuffer)(staging, &begin_info);
|
||||
|
||||
vulkan_image_layout_transition(vk, staging, tmp.image,
|
||||
VK_IMAGE_LAYOUT_PREINITIALIZED, VK_IMAGE_LAYOUT_GENERAL,
|
||||
|
@ -1168,6 +1169,8 @@ bool vulkan_context_init(gfx_ctx_vulkan_data_t *vk,
|
|||
/* Command buffers */
|
||||
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, CreateCommandPool);
|
||||
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, DestroyCommandPool);
|
||||
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, BeginCommandBuffer);
|
||||
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, ResetCommandBuffer);
|
||||
VK_GET_INSTANCE_PROC_ADDR(vk, vk->context.instance, EndCommandBuffer);
|
||||
|
||||
if (VKFUNC(vkEnumeratePhysicalDevices)(vk->context.instance,
|
||||
|
|
|
@ -155,7 +155,6 @@ typedef struct vulkan_context
|
|||
/* Queues */
|
||||
PFN_vkGetDeviceQueue vkGetDeviceQueue;
|
||||
PFN_vkQueueWaitIdle vkQueueWaitIdle;
|
||||
PFN_vkQueueSubmit vkQueueSubmit;
|
||||
|
||||
/* Pipelines */
|
||||
PFN_vkCmdBindPipeline vkCmdBindPipeline;
|
||||
|
@ -170,10 +169,15 @@ typedef struct vulkan_context
|
|||
PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;
|
||||
PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;
|
||||
|
||||
/* Command buffers */
|
||||
/* Command Buffers */
|
||||
PFN_vkCreateCommandPool vkCreateCommandPool;
|
||||
PFN_vkDestroyCommandPool vkDestroyCommandPool;
|
||||
PFN_vkBeginCommandBuffer vkBeginCommandBuffer;
|
||||
PFN_vkEndCommandBuffer vkEndCommandBuffer;
|
||||
PFN_vkResetCommandBuffer vkResetCommandBuffer;
|
||||
|
||||
/* Command Buffer Submission */
|
||||
PFN_vkQueueSubmit vkQueueSubmit;
|
||||
|
||||
/* Framebuffers */
|
||||
PFN_vkCreateFramebuffer vkCreateFramebuffer;
|
||||
|
|
|
@ -1414,10 +1414,11 @@ static bool vulkan_frame(void *data, const void *frame,
|
|||
vulkan_buffer_chain_discard(&chain->ubo);
|
||||
|
||||
/* Start recording the command buffer. */
|
||||
vk->cmd = chain->cmd;
|
||||
vk->cmd = chain->cmd;
|
||||
begin_info.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
|
||||
vkResetCommandBuffer(vk->cmd, 0);
|
||||
vkBeginCommandBuffer(vk->cmd, &begin_info);
|
||||
VKFUNC(vkResetCommandBuffer)(vk->cmd, 0);
|
||||
|
||||
VKFUNC(vkBeginCommandBuffer)(vk->cmd, &begin_info);
|
||||
memset(&vk->tracker, 0, sizeof(vk->tracker));
|
||||
|
||||
/* Upload texture */
|
||||
|
|
Loading…
Reference in New Issue