vulkan: Avoid blocking waits on the gpu on blit

This allows the blit-filter to run in synchronous or asynchronous mode.
In asynchronous mode the blocking wait on the gpu is replaced by
registering a fd from vulkan with the event loop.
This commit is contained in:
columbarius 2024-03-17 20:29:19 +01:00
parent 2821b05d0b
commit d2d50a7d88
4 changed files with 128 additions and 16 deletions

View file

@ -72,6 +72,8 @@ int spa_vulkan_blit_start(struct vulkan_blit_state *s);
int spa_vulkan_blit_stop(struct vulkan_blit_state *s);
int spa_vulkan_blit_ready(struct vulkan_blit_state *s);
int spa_vulkan_blit_process(struct vulkan_blit_state *s);
int spa_vulkan_blit_queue(struct vulkan_blit_state *s, int *fd);
int spa_vulkan_blit_finish(struct vulkan_blit_state *s);
int spa_vulkan_blit_cleanup(struct vulkan_blit_state *s);
int spa_vulkan_blit_get_buffer_caps(struct vulkan_blit_state *s, enum spa_direction direction);