Unverified Commit 01c7539f authored by Lynne's avatar Lynne

hwcontext_vulkan: expose the amount of queues for each queue family

This, along with the next patch, are the last missing pieces to being
interoperable with libplacebo.
parent 2e08b394
......@@ -679,16 +679,19 @@ static int search_queue_families(AVHWDeviceContext *ctx, VkDeviceCreateInfo *cd)
hwctx->queue_family_index = graph_index;
hwctx->queue_family_comp_index = graph_index;
hwctx->queue_family_tx_index = graph_index;
hwctx->nb_graphics_queues = qs[graph_index].queueCount;
if (comp_index != -1) {
ADD_QUEUE(comp_index, 0, 1, tx_index < 0)
hwctx->queue_family_tx_index = comp_index;
hwctx->queue_family_comp_index = comp_index;
hwctx->nb_comp_queues = qs[comp_index].queueCount;
}
if (tx_index != -1) {
ADD_QUEUE(tx_index, 0, 0, 1)
hwctx->queue_family_tx_index = tx_index;
hwctx->nb_tx_queues = qs[tx_index].queueCount;
}
#undef ADD_QUEUE
......
......@@ -55,16 +55,26 @@ typedef struct AVVulkanDeviceContext {
* @note av_hwdevice_create() will set all 3 queue indices if unset
* If there is no dedicated queue for compute or transfer operations,
* they will be set to the graphics queue index which can handle both.
* nb_graphics_queues indicates how many queues were enabled for the
* graphics queue (must be at least 1)
*/
int queue_family_index;
int nb_graphics_queues;
/**
* Queue family index for transfer ops only
* Queue family index to use for transfer operations, and the amount of queues
* enabled. In case there is no dedicated transfer queue, nb_tx_queues
* must be 0 and queue_family_tx_index must be the same as either the graphics
* queue or the compute queue, if available.
*/
int queue_family_tx_index;
int nb_tx_queues;
/**
* Queue family index for compute ops
* Queue family index for compute ops, and the amount of queues enabled.
* In case there are no dedicated compute queues, nb_comp_queues must be
* 0 and its queue family index must be set to the graphics queue.
*/
int queue_family_comp_index;
int nb_comp_queues;
/**
* Enabled instance extensions. By default, VK_KHR_surface is enabled if found.
* If supplying your own device context, set this to an array of strings, with
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment