@@ -679,6 +679,16 @@ void SetupVulkanRenderProperties(VulkanVideoContext *context, SDL_PropertiesID p
679
679
SDL_SetNumberProperty (props , SDL_PROP_RENDERER_CREATE_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER , context -> graphicsQueueFamilyIndex );
680
680
}
681
681
682
+ #if LIBAVUTIL_VERSION_MAJOR >= 59
683
+ static void AddQueueFamily (AVVulkanDeviceContext * ctx , int idx , int num , VkQueueFlagBits flags )
684
+ {
685
+ AVVulkanDeviceQueueFamily * entry = & ctx -> qf [ctx -> nb_qf ++ ];
686
+ entry -> idx = idx ;
687
+ entry -> num = num ;
688
+ entry -> flags = flags ;
689
+ }
690
+ #endif /* LIBAVUTIL_VERSION_MAJOR */
691
+
682
692
void SetupVulkanDeviceContextData (VulkanVideoContext * context , AVVulkanDeviceContext * ctx )
683
693
{
684
694
ctx -> get_proc_addr = context -> vkGetInstanceProcAddr ;
@@ -690,6 +700,12 @@ void SetupVulkanDeviceContextData(VulkanVideoContext *context, AVVulkanDeviceCon
690
700
ctx -> nb_enabled_inst_extensions = context -> instanceExtensionsCount ;
691
701
ctx -> enabled_dev_extensions = context -> deviceExtensions ;
692
702
ctx -> nb_enabled_dev_extensions = context -> deviceExtensionsCount ;
703
+ #if LIBAVUTIL_VERSION_MAJOR >= 59
704
+ AddQueueFamily (ctx , context -> graphicsQueueFamilyIndex , context -> graphicsQueueCount , VK_QUEUE_GRAPHICS_BIT );
705
+ AddQueueFamily (ctx , context -> transferQueueFamilyIndex , context -> transferQueueCount , VK_QUEUE_TRANSFER_BIT );
706
+ AddQueueFamily (ctx , context -> computeQueueFamilyIndex , context -> computeQueueCount , VK_QUEUE_COMPUTE_BIT );
707
+ AddQueueFamily (ctx , context -> decodeQueueFamilyIndex , context -> decodeQueueCount , VK_QUEUE_VIDEO_DECODE_BIT_KHR );
708
+ #else
693
709
ctx -> queue_family_index = context -> graphicsQueueFamilyIndex ;
694
710
ctx -> nb_graphics_queues = context -> graphicsQueueCount ;
695
711
ctx -> queue_family_tx_index = context -> transferQueueFamilyIndex ;
@@ -700,6 +716,7 @@ void SetupVulkanDeviceContextData(VulkanVideoContext *context, AVVulkanDeviceCon
700
716
ctx -> nb_encode_queues = 0 ;
701
717
ctx -> queue_family_decode_index = context -> decodeQueueFamilyIndex ;
702
718
ctx -> nb_decode_queues = context -> decodeQueueCount ;
719
+ #endif /* LIBAVUTIL_VERSION_MAJOR */
703
720
}
704
721
705
722
static int CreateCommandBuffers (VulkanVideoContext * context , SDL_Renderer * renderer )
0 commit comments