mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 07:20:10 +01:00
radv/video: add VK_KHR_video_decode_av1 support.
This adds support for AV1 decode to radv, there are likely some cleanups necessary. Co-author: Charlie Turner <cturner@igalia.com> (I wrote the initial mesa extension, and Charlie ported it to the KHR extension and kept it up to date and fixed CTS things) Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27424>
This commit is contained in:
parent
7c0e0b7462
commit
d103b76ad6
3 changed files with 1082 additions and 24 deletions
|
|
@ -553,6 +553,9 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device
|
|||
.KHR_variable_pointers = true,
|
||||
.KHR_vertex_attribute_divisor = true,
|
||||
.KHR_video_queue = !!(device->instance->perftest_flags & RADV_PERFTEST_VIDEO_DECODE),
|
||||
.KHR_video_decode_av1 =
|
||||
(device->rad_info.vcn_ip_version >= VCN_3_0_0 && device->rad_info.vcn_ip_version != VCN_3_0_33 &&
|
||||
VIDEO_CODEC_AV1DEC && !!(device->instance->perftest_flags & RADV_PERFTEST_VIDEO_DECODE)),
|
||||
.KHR_video_decode_queue = !!(device->instance->perftest_flags & RADV_PERFTEST_VIDEO_DECODE),
|
||||
.KHR_video_decode_h264 = VIDEO_CODEC_H264DEC && !!(device->instance->perftest_flags & RADV_PERFTEST_VIDEO_DECODE),
|
||||
.KHR_video_decode_h265 = VIDEO_CODEC_H265DEC && !!(device->instance->perftest_flags & RADV_PERFTEST_VIDEO_DECODE),
|
||||
|
|
@ -2328,6 +2331,9 @@ radv_GetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice, ui
|
|||
prop->videoCodecOperations |= VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR;
|
||||
if (VIDEO_CODEC_H265DEC)
|
||||
prop->videoCodecOperations |= VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR;
|
||||
if (VIDEO_CODEC_AV1DEC && pdevice->rad_info.vcn_ip_version >= VCN_3_0_0 &&
|
||||
pdevice->rad_info.vcn_ip_version != VCN_3_0_33)
|
||||
prop->videoCodecOperations |= VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -366,6 +366,7 @@ struct radv_physical_device {
|
|||
uint32_t vid_addr_gfx_mode;
|
||||
uint32_t stream_handle_base;
|
||||
uint32_t stream_handle_counter;
|
||||
uint32_t av1_version;
|
||||
|
||||
struct radv_physical_device_cache_key cache_key;
|
||||
};
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue