aboutsummaryrefslogtreecommitdiff
path: root/render/vulkan/renderer.c
diff options
context:
space:
mode:
Diffstat (limited to 'render/vulkan/renderer.c')
-rw-r--r--render/vulkan/renderer.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/render/vulkan/renderer.c b/render/vulkan/renderer.c
index a9adc1af..b704caca 100644
--- a/render/vulkan/renderer.c
+++ b/render/vulkan/renderer.c
@@ -569,6 +569,13 @@ static void destroy_render_buffer(struct wlr_vk_render_buffer *buffer) {
VkDevice dev = buffer->renderer->dev->dev;
+ // TODO: asynchronously wait for the command buffers using this render
+ // buffer to complete (just like we do for textures)
+ VkResult res = vkQueueWaitIdle(buffer->renderer->dev->queue);
+ if (res != VK_SUCCESS) {
+ wlr_vk_error("vkQueueWaitIdle", res);
+ }
+
vkDestroyFramebuffer(dev, buffer->framebuffer, NULL);
vkDestroyImageView(dev, buffer->image_view, NULL);
vkDestroyImage(dev, buffer->image, NULL);