1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-02-04 06:08:26 +02:00

vulkan: expose ff_vk_alloc_mem()

This commit is contained in:
Lynne 2022-11-23 14:03:34 +01:00
parent fa67ccee37
commit 3c2f43d8ee
No known key found for this signature in database
GPG Key ID: A2FEA5F03F034464
2 changed files with 15 additions and 7 deletions

View File

@ -174,9 +174,9 @@ void ff_vk_qf_rotate(FFVkQueueFamilyCtx *qf)
qf->cur_queue = (qf->cur_queue + 1) % qf->nb_queues;
}
static int vk_alloc_mem(FFVulkanContext *s, VkMemoryRequirements *req,
VkMemoryPropertyFlagBits req_flags, void *alloc_extension,
VkMemoryPropertyFlagBits *mem_flags, VkDeviceMemory *mem)
int ff_vk_alloc_mem(FFVulkanContext *s, VkMemoryRequirements *req,
VkMemoryPropertyFlagBits req_flags, void *alloc_extension,
VkMemoryPropertyFlagBits *mem_flags, VkDeviceMemory *mem)
{
VkResult ret;
int index = -1;
@ -225,7 +225,8 @@ static int vk_alloc_mem(FFVulkanContext *s, VkMemoryRequirements *req,
return AVERROR(ENOMEM);
}
*mem_flags |= s->mprops.memoryTypes[index].propertyFlags;
if (mem_flags)
*mem_flags |= s->mprops.memoryTypes[index].propertyFlags;
return 0;
}
@ -279,9 +280,9 @@ int ff_vk_create_buf(FFVulkanContext *s, FFVkBuffer *buf, size_t size, void *pNe
if (use_ded_mem)
ded_alloc.buffer = buf->buf;
err = vk_alloc_mem(s, &req.memoryRequirements, flags,
use_ded_mem ? &ded_alloc : (void *)ded_alloc.pNext,
&buf->flags, &buf->mem);
err = ff_vk_alloc_mem(s, &req.memoryRequirements, flags,
use_ded_mem ? &ded_alloc : (void *)ded_alloc.pNext,
&buf->flags, &buf->mem);
if (err)
return err;

View File

@ -258,6 +258,13 @@ const char *ff_vk_shader_rep_fmt(enum AVPixelFormat pixfmt);
*/
void ff_vk_qf_fill(FFVulkanContext *s);
/**
* Allocate device memory.
*/
int ff_vk_alloc_mem(FFVulkanContext *s, VkMemoryRequirements *req,
VkMemoryPropertyFlagBits req_flags, void *alloc_extension,
VkMemoryPropertyFlagBits *mem_flags, VkDeviceMemory *mem);
/**
* Initialize a queue family with a specific number of queues.
* If nb_queues == 0, use however many queues the queue family has.