mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-12-18 08:56:45 -05:00
vulkan: Synchronize in and out buffers
This commit is contained in:
parent
412b0c7b49
commit
b8c91f7e54
5 changed files with 212 additions and 31 deletions
|
|
@ -20,6 +20,16 @@
|
|||
return _r; \
|
||||
} \
|
||||
}
|
||||
#define VK_CHECK_RESULT_WITH_CLEANUP(f, c) \
|
||||
{ \
|
||||
VkResult _result = (f); \
|
||||
int _r = -vkresult_to_errno(_result); \
|
||||
if (_result != VK_SUCCESS) { \
|
||||
spa_log_error(s->log, "error: %d (%d %s)", _result, _r, spa_strerror(_r)); \
|
||||
(c); \
|
||||
return _r; \
|
||||
} \
|
||||
}
|
||||
#define VK_CHECK_RESULT_LOOP(f) \
|
||||
{ \
|
||||
VkResult _result = (f); \
|
||||
|
|
@ -52,6 +62,9 @@ struct external_dmabuf_info {
|
|||
struct spa_buffer *spa_buf;
|
||||
};
|
||||
|
||||
int vulkan_sync_foreign_dmabuf(struct vulkan_base *s, struct vulkan_buffer *vk_buf);
|
||||
bool vulkan_sync_export_dmabuf(struct vulkan_base *s, struct vulkan_buffer *vk_buf, int sync_file_fd);
|
||||
|
||||
int vulkan_fixate_modifier(struct vulkan_base *s, struct dmabuf_fixation_info *info, uint64_t *modifier);
|
||||
int vulkan_create_dmabuf(struct vulkan_base *s, struct external_dmabuf_info *info, struct vulkan_buffer *vk_buf);
|
||||
int vulkan_import_dmabuf(struct vulkan_base *s, struct external_dmabuf_info *info, struct vulkan_buffer *vk_buf);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue