wlroots-hyprland/render
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
..
allocator render/allocator/drm_dumb: drop finish_buffer() 2022-10-01 19:45:29 +00:00
gles2 render/gles2: de-duplicate vertex shaders 2022-10-28 13:49:03 +02:00
pixman Revert "render/pixman: apply source image cropping" 2022-11-08 18:24:44 +03:00
vulkan render/vulkan: add a command buffer pool 2022-11-11 19:18:04 +00:00
dmabuf.c dmabuf: Don't leak file descriptors on error path 2022-06-06 00:50:41 -04:00
drm_format_set.c render/drm-format-set: add wlr_drm_format_set_intersect 2021-12-03 14:42:41 +00:00
egl.c egl: add WLR_EGL_NO_MODIFIERS 2022-10-21 09:52:18 +02:00
meson.build render: use internal_features to indicate EGL support 2022-06-24 07:20:42 +02:00
pixel_format.c pixel_format: RGBA4444 and RGBA5551 have alpha components 2022-09-06 18:48:41 -04:00
swapchain.c Move allocator stuff into new directory 2021-08-25 09:57:20 -04:00
wlr_renderer.c render: drop wlr_renderer_read_pixels() flags 2022-10-04 09:15:19 +02:00
wlr_texture.c render: replace wlr_texture_write_pixels with update_from_buffer 2022-08-12 08:41:32 +00:00