diff --git a/gfx/drivers_display/gfx_display_vulkan.c b/gfx/drivers_display/gfx_display_vulkan.c index 47cd1e6aee..76e6caa867 100644 --- a/gfx/drivers_display/gfx_display_vulkan.c +++ b/gfx/drivers_display/gfx_display_vulkan.c @@ -305,22 +305,23 @@ static void gfx_display_vk_clear_color( { VkClearRect rect; VkClearAttachment attachment; - vk_t *vk = (vk_t*)data; + vk_t *vk = (vk_t*)data; if (!vk || !clearcolor) return; - memset(&attachment, 0, sizeof(attachment)); - memset(&rect, 0, sizeof(rect)); - attachment.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + attachment.colorAttachment = 0; attachment.clearValue.color.float32[0] = clearcolor->r; attachment.clearValue.color.float32[1] = clearcolor->g; attachment.clearValue.color.float32[2] = clearcolor->b; attachment.clearValue.color.float32[3] = clearcolor->a; - rect.rect.extent.width = vk->context->swapchain_width; - rect.rect.extent.height = vk->context->swapchain_height; - rect.layerCount = 1; + rect.rect.offset.x = 0; + rect.rect.offset.y = 0; + rect.rect.extent.width = vk->context->swapchain_width; + rect.rect.extent.height = vk->context->swapchain_height; + rect.baseArrayLayer = 0; + rect.layerCount = 1; vkCmdClearAttachments(vk->cmd, 1, &attachment, 1, &rect); } diff --git a/gfx/drivers_font/vulkan_raster_font.c b/gfx/drivers_font/vulkan_raster_font.c index 60f6a473c6..b29ff5dd83 100644 --- a/gfx/drivers_font/vulkan_raster_font.c +++ b/gfx/drivers_font/vulkan_raster_font.c @@ -106,7 +106,7 @@ static void *vulkan_raster_font_init_font(void *data, return NULL; } - font->atlas = font->font_driver->get_atlas(font->font_data); + font->atlas = font->font_driver->get_atlas(font->font_data); font->texture = vulkan_create_texture(font->vk, NULL, font->atlas->width, font->atlas->height, VK_FORMAT_R8_UNORM, font->atlas->buffer, NULL /*&swizzle*/, VULKAN_TEXTURE_STAGING); @@ -285,16 +285,21 @@ static void vulkan_raster_font_flush(vulkan_raster_t *font) if(font->needs_update) { VkCommandBuffer staging; - VkSubmitInfo submit_info = { VK_STRUCTURE_TYPE_SUBMIT_INFO }; - VkCommandBufferAllocateInfo cmd_info = { VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO }; - VkCommandBufferBeginInfo begin_info = { VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO }; + VkSubmitInfo submit_info; + VkCommandBufferAllocateInfo cmd_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.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; cmd_info.commandBufferCount = 1; 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.pInheritanceInfo = NULL; vkBeginCommandBuffer(staging, &begin_info); 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); #endif - submit_info.commandBufferCount = 1; - submit_info.pCommandBuffers = &staging; + 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.pCommandBuffers = &staging; + submit_info.signalSemaphoreCount = 0; + submit_info.pSignalSemaphores = NULL; vkQueueSubmit(font->vk->context->queue, 1, &submit_info, VK_NULL_HANDLE);