From 8f03f9b443d8b0c2377e456d7606edb19bfd1eab Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Thu, 7 Aug 2025 11:38:35 -0400 Subject: [PATCH] vulkan: Add common VideoSessionParametersKHR entrypoints Reviewed-by: Dave Airlie Reviewed-by: Hyunjun Ko Reviewed-by: David Rosca Part-of: --- src/vulkan/runtime/vk_video.c | 44 +++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/vulkan/runtime/vk_video.c b/src/vulkan/runtime/vk_video.c index 7877ea56703..261325fd9c6 100644 --- a/src/vulkan/runtime/vk_video.c +++ b/src/vulkan/runtime/vk_video.c @@ -26,6 +26,7 @@ #include "vk_log.h" #include "vk_alloc.h" #include "vk_device.h" +#include "vk_common_entrypoints.h" #include "util/vl_rbsp.h" #include "util/vl_bitstream.h" @@ -809,6 +810,49 @@ vk_video_session_parameters_update(struct vk_video_session_parameters *params, return result; } +VKAPI_ATTR VkResult VKAPI_CALL +vk_common_CreateVideoSessionParametersKHR(VkDevice _device, + const VkVideoSessionParametersCreateInfoKHR *pCreateInfo, + const VkAllocationCallbacks *pAllocator, + VkVideoSessionParametersKHR *pVideoSessionParameters) +{ + VK_FROM_HANDLE(vk_device, device, _device); + + struct vk_video_session_parameters *params = + vk_video_session_parameters_create(device, pCreateInfo, pAllocator, + sizeof(*params)); + if (!params) + return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY); + + *pVideoSessionParameters = vk_video_session_parameters_to_handle(params); + + return VK_SUCCESS; +} + +VKAPI_ATTR VkResult VKAPI_CALL +vk_common_UpdateVideoSessionParametersKHR(VkDevice _device, + VkVideoSessionParametersKHR videoSessionParameters, + const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo) +{ + VK_FROM_HANDLE(vk_video_session_parameters, params, videoSessionParameters); + + return vk_video_session_parameters_update(params, pUpdateInfo); +} + +VKAPI_ATTR void VKAPI_CALL +vk_common_DestroyVideoSessionParametersKHR(VkDevice _device, + VkVideoSessionParametersKHR videoSessionParameters, + const VkAllocationCallbacks *pAllocator) +{ + VK_FROM_HANDLE(vk_device, device, _device); + VK_FROM_HANDLE(vk_video_session_parameters, params, videoSessionParameters); + + if (params == NULL) + return; + + vk_video_session_parameters_destroy(device, pAllocator, params); +} + const uint8_t h264_scaling_list_default_4x4_intra[] = { /* Table 7-3 - Default_4x4_Intra */