vulkan: add ff_vk_qf_fill()
This commit is contained in:
@@ -108,6 +108,31 @@ const char *ff_vk_ret2str(VkResult res)
|
||||
#undef CASE
|
||||
}
|
||||
|
||||
void ff_vk_qf_fill(FFVulkanContext *s)
|
||||
{
|
||||
s->nb_qfs = 0;
|
||||
|
||||
/* Simply fills in all unique queues into s->qfs */
|
||||
if (s->hwctx->queue_family_index >= 0)
|
||||
s->qfs[s->nb_qfs++] = s->hwctx->queue_family_index;
|
||||
if (!s->nb_qfs || s->qfs[0] != s->hwctx->queue_family_tx_index)
|
||||
s->qfs[s->nb_qfs++] = s->hwctx->queue_family_tx_index;
|
||||
if (!s->nb_qfs || (s->qfs[0] != s->hwctx->queue_family_comp_index &&
|
||||
s->qfs[1] != s->hwctx->queue_family_comp_index))
|
||||
s->qfs[s->nb_qfs++] = s->hwctx->queue_family_comp_index;
|
||||
if (s->hwctx->queue_family_decode_index >= 0 &&
|
||||
(s->qfs[0] != s->hwctx->queue_family_decode_index &&
|
||||
s->qfs[1] != s->hwctx->queue_family_decode_index &&
|
||||
s->qfs[2] != s->hwctx->queue_family_decode_index))
|
||||
s->qfs[s->nb_qfs++] = s->hwctx->queue_family_decode_index;
|
||||
if (s->hwctx->queue_family_encode_index >= 0 &&
|
||||
(s->qfs[0] != s->hwctx->queue_family_encode_index &&
|
||||
s->qfs[1] != s->hwctx->queue_family_encode_index &&
|
||||
s->qfs[2] != s->hwctx->queue_family_encode_index &&
|
||||
s->qfs[3] != s->hwctx->queue_family_encode_index))
|
||||
s->qfs[s->nb_qfs++] = s->hwctx->queue_family_encode_index;
|
||||
}
|
||||
|
||||
void ff_vk_qf_init(FFVulkanContext *s, FFVkQueueFamilyCtx *qf,
|
||||
VkQueueFlagBits dev_family, int nb_queues)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user