wlroots-hyprland/render/vulkan
Simon Ser f1eae0eeeb render/vulkan: add a command buffer pool
Before re-using a VkCommandBuffer, we need to wait for its
operations to complete. Right now we unconditionally wait for
rendering to complete in vulkan_end(), however we have plans to
fix this [1]. To fully avoid blocking, we need to handle multiple
command buffers in flight at the same time (e.g. for multi-output,
or for rendering followed by texture uploads).

Implement a pool of command buffers. When we need to render, we
pick a command buffer from the pool which has completed its
operations. If we don't find one, try to allocate a new command
buffer. If we don't have slots in the pool anymore, block like we
did before.

[1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3574
2022-11-11 19:18:04 +00:00
..
shaders render/vulkan: Optimize vertex shader 2021-11-23 15:46:24 +00:00
meson.build render/vulkan: quiet glslangValidator 2021-11-23 15:38:56 +00:00
pixel_format.c render/vulkan: Implement vulkan_read_pixels 2022-10-07 15:59:39 +00:00
renderer.c render/vulkan: add a command buffer pool 2022-11-11 19:18:04 +00:00
texture.c render/vulkan: add some interfaces to allow compositors to integrate 2022-11-08 12:56:38 +01:00
util.c render/vulkan: add missing entries in vulkan_strerror() 2022-10-18 16:57:00 +02:00
vulkan.c render/vulkan: add a command buffer pool 2022-11-11 19:18:04 +00:00