vulkan: Add function to upload data to a staging buffer

This commit is contained in:
columbarius 2023-09-24 20:36:02 +02:00
parent 05f0057f7c
commit 7e40aec64e
2 changed files with 43 additions and 0 deletions

View file

@ -46,6 +46,16 @@
return _res; \
}
struct vulkan_write_pixels_info {
struct spa_rectangle size;
uint32_t offset;
uint32_t stride;
uint32_t bytes_per_pixel;
VkBufferImageCopy *copies;
void *data;
};
struct vulkan_read_pixels_info {
struct spa_rectangle size;
void *data;
@ -70,6 +80,7 @@ struct external_buffer_info {
struct spa_buffer *spa_buf;
};
int vulkan_write_pixels(struct vulkan_base *s, struct vulkan_write_pixels_info *info, struct vulkan_staging_buffer *vk_sbuf);
int vulkan_read_pixels(struct vulkan_base *s, struct vulkan_read_pixels_info *info, struct vulkan_buffer *vk_buf);
int vulkan_sync_foreign_dmabuf(struct vulkan_base *s, struct vulkan_buffer *vk_buf);