4#include <vulkan/vulkan.h>
72 VkPhysicalDevice physical_device,
93 VkImageUsageFlagBits usage);
124 bool alpha, VkFormatFeatureFlagBits features);
180 VkSemaphore *pacquire,
181 VkSemaphore *prelease);
int funnel_buffer_get_vk_semaphores(struct funnel_buffer *buf, VkSemaphore *pacquire, VkSemaphore *prelease)
Get the VkSemaphores for acquiring and releasing the buffer.
int funnel_buffer_get_vk_image(struct funnel_buffer *buf, VkImage *pimage)
Get the VkImage for a Funnel buffer.
int funnel_buffer_get_vk_fence(struct funnel_buffer *buf, VkFence *pfence)
Get the VkFence that must be signaled by the queue batch.
int funnel_stream_vk_set_usage(struct funnel_stream *stream, VkImageUsageFlagBits usage)
Set the required buffer usage.
int funnel_buffer_get_vk_format(struct funnel_buffer *buf, VkFormat *pformat, bool *phas_alpha)
Get the VkFormat for a Funnel buffer.
int funnel_stream_vk_add_format(struct funnel_stream *stream, VkFormat format, bool alpha, VkFormatFeatureFlagBits features)
Add a supported Vulkan format.
int funnel_stream_init_vulkan(struct funnel_stream *stream, VkInstance instance, VkPhysicalDevice physical_device, VkDevice device)
Set up a stream for Vulkan integration.
struct funnel_stream funnel_stream
A PipeWire video stream.
Definition funnel.h:36
struct funnel_buffer funnel_buffer
A video buffer (frame).
Definition funnel.h:58