mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-10-31 22:25:21 -04:00
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 |
||
|---|---|---|
| .. | ||
| allocator | ||
| gles2 | ||
| pixman | ||
| vulkan | ||
| dmabuf.c | ||
| drm_format_set.c | ||
| egl.c | ||
| meson.build | ||
| pixel_format.c | ||
| swapchain.c | ||
| wlr_renderer.c | ||
| wlr_texture.c | ||