(Vulkan) Cleanups

This commit is contained in:
twinaphex 2020-06-28 21:20:18 +02:00
parent 5a0bc479b1
commit 37bfbed3f5
2 changed files with 26 additions and 13 deletions

View File

@ -309,17 +309,18 @@ static void gfx_display_vk_clear_color(
if (!vk || !clearcolor) if (!vk || !clearcolor)
return; return;
memset(&attachment, 0, sizeof(attachment));
memset(&rect, 0, sizeof(rect));
attachment.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; attachment.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
attachment.colorAttachment = 0;
attachment.clearValue.color.float32[0] = clearcolor->r; attachment.clearValue.color.float32[0] = clearcolor->r;
attachment.clearValue.color.float32[1] = clearcolor->g; attachment.clearValue.color.float32[1] = clearcolor->g;
attachment.clearValue.color.float32[2] = clearcolor->b; attachment.clearValue.color.float32[2] = clearcolor->b;
attachment.clearValue.color.float32[3] = clearcolor->a; attachment.clearValue.color.float32[3] = clearcolor->a;
rect.rect.offset.x = 0;
rect.rect.offset.y = 0;
rect.rect.extent.width = vk->context->swapchain_width; rect.rect.extent.width = vk->context->swapchain_width;
rect.rect.extent.height = vk->context->swapchain_height; rect.rect.extent.height = vk->context->swapchain_height;
rect.baseArrayLayer = 0;
rect.layerCount = 1; rect.layerCount = 1;
vkCmdClearAttachments(vk->cmd, 1, &attachment, 1, &rect); vkCmdClearAttachments(vk->cmd, 1, &attachment, 1, &rect);

View File

@ -285,16 +285,21 @@ static void vulkan_raster_font_flush(vulkan_raster_t *font)
if(font->needs_update) if(font->needs_update)
{ {
VkCommandBuffer staging; VkCommandBuffer staging;
VkSubmitInfo submit_info = { VK_STRUCTURE_TYPE_SUBMIT_INFO }; VkSubmitInfo submit_info;
VkCommandBufferAllocateInfo cmd_info = { VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO }; VkCommandBufferAllocateInfo cmd_info;
VkCommandBufferBeginInfo begin_info = { VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO }; VkCommandBufferBeginInfo begin_info;
cmd_info.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
cmd_info.pNext = NULL;
cmd_info.commandPool = font->vk->staging_pool; cmd_info.commandPool = font->vk->staging_pool;
cmd_info.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; cmd_info.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY;
cmd_info.commandBufferCount = 1; cmd_info.commandBufferCount = 1;
vkAllocateCommandBuffers(font->vk->context->device, &cmd_info, &staging); vkAllocateCommandBuffers(font->vk->context->device, &cmd_info, &staging);
begin_info.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
begin_info.pNext = NULL;
begin_info.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT; begin_info.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
begin_info.pInheritanceInfo = NULL;
vkBeginCommandBuffer(staging, &begin_info); vkBeginCommandBuffer(staging, &begin_info);
vulkan_copy_staging_to_dynamic(font->vk, staging, vulkan_copy_staging_to_dynamic(font->vk, staging,
@ -306,8 +311,15 @@ static void vulkan_raster_font_flush(vulkan_raster_t *font)
slock_lock(font->vk->context->queue_lock); slock_lock(font->vk->context->queue_lock);
#endif #endif
submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
submit_info.pNext = NULL;
submit_info.waitSemaphoreCount = 0;
submit_info.pWaitSemaphores = NULL;
submit_info.pWaitDstStageMask = NULL;
submit_info.commandBufferCount = 1; submit_info.commandBufferCount = 1;
submit_info.pCommandBuffers = &staging; submit_info.pCommandBuffers = &staging;
submit_info.signalSemaphoreCount = 0;
submit_info.pSignalSemaphores = NULL;
vkQueueSubmit(font->vk->context->queue, vkQueueSubmit(font->vk->context->queue,
1, &submit_info, VK_NULL_HANDLE); 1, &submit_info, VK_NULL_HANDLE);