vkGetPhysicalDeviceVideoCapabilitiesKHR
To query video coding capabilities for a specific video profile, call:
VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR(
VkPhysicalDevice physicalDevice,
const VkVideoProfileInfoKHR* pVideoProfile,
VkVideoCapabilitiesKHR* pCapabilities);
pub fn get_physical_device_video_capabilities_khr(
physical_device: vk::PhysicalDevice,
p_video_profile: *const vk::VideoProfileInfoKHR,
p_capabilities: *mut vk::VideoCapabilitiesKHR,
) -> vk::Result;
physicalDeviceis the physical device from which to query the video decode or encode capabilities.pVideoProfileis a pointer to a VkVideoProfileInfoKHR structure.pCapabilitiesis a pointer to a VkVideoCapabilitiesKHR structure in which the capabilities are returned.
If the video profile described by pVideoProfile is
supported by the implementation, then this command returns VK_SUCCESS
and pCapabilities is filled with the capabilities supported with the
specified video profile.
Otherwise, one of the video-profile-specific
error codes are returned.
Valid Usage
VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pVideoProfile-07183
If pVideoProfile→videoCodecOperation specifies a decode
operation, then the pNext chain of pCapabilities must
include a VkVideoDecodeCapabilitiesKHR structure
VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pVideoProfile-07184
If pVideoProfile→videoCodecOperation is
VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR, then the pNext
chain of pCapabilities must include a
VkVideoDecodeH264CapabilitiesKHR structure
VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pVideoProfile-07185
If pVideoProfile→videoCodecOperation is
VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR, then the pNext
chain of pCapabilities must include a
VkVideoDecodeH265CapabilitiesKHR structure
VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pVideoProfile-10792
If pVideoProfile→videoCodecOperation is
VK_VIDEO_CODEC_OPERATION_DECODE_VP9_BIT_KHR, then the pNext
chain of pCapabilities must include a
VkVideoDecodeVP9CapabilitiesKHR structure
VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pVideoProfile-09257
If pVideoProfile→videoCodecOperation is
VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR, then the pNext
chain of pCapabilities must include a
VkVideoDecodeAV1CapabilitiesKHR structure
VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pVideoProfile-07186
If pVideoProfile→videoCodecOperation specifies an encode
operation, then the pNext chain of pCapabilities must
include a VkVideoEncodeCapabilitiesKHR structure
VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pVideoProfile-07187
If pVideoProfile→videoCodecOperation is
VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR, then the pNext
chain of pCapabilities must include a
VkVideoEncodeH264CapabilitiesKHR structure
VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pVideoProfile-07188
If pVideoProfile→videoCodecOperation is
VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR, then the pNext
chain of pCapabilities must include a
VkVideoEncodeH265CapabilitiesKHR structure
VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pVideoProfile-10263
If pVideoProfile→videoCodecOperation is
VK_VIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR, then the pNext
chain of pCapabilities must include a
VkVideoEncodeAV1CapabilitiesKHR structure
VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pNext-10921
If the pNext chain of pVideoProfile includes a
VkVideoEncodeProfileRgbConversionInfoVALVE structure, then the
videoEncodeRgbConversion
feature must be supported
Valid Usage (Implicit)
VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-physicalDevice-parameter
physicalDevice must be a valid VkPhysicalDevice handle
VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pVideoProfile-parameter
pVideoProfile must be a valid pointer to a valid VkVideoProfileInfoKHR structure
VUID-vkGetPhysicalDeviceVideoCapabilitiesKHR-pCapabilities-parameter
pCapabilities must be a valid pointer to a VkVideoCapabilitiesKHR structure