radv/video: Add low-latency flags
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

radv equivalent of 62f07b8c.

Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40524>
This commit is contained in:
Benjamin Cheng 2026-03-19 16:41:58 -04:00 committed by Marge Bot
parent 917dff0b22
commit 34e090ae11
5 changed files with 11 additions and 1 deletions

View file

@ -1574,6 +1574,10 @@ RADV driver environment variables
enable experimental implementation of VK_EXT_host_image_copy (GFX10+)
``localbos``
enable local BOs
``lowlatencydec``
Enable low latency decoding
``lowlatencyenc``
Enable low latency encoding
``nggc``
enable NGG culling for GFX11+
``nircache``

View file

@ -99,6 +99,8 @@ enum {
RADV_PERFTEST_SPARSE = 1u << 17,
RADV_PERFTEST_RT_CPS = 1u << 18,
RADV_PERFTEST_BFLOAT16 = 1u << 19,
RADV_PERFTEST_LOWLATENCYDEC = 1u << 20,
RADV_PERFTEST_LOWLATENCYENC = 1u << 21,
};
enum {

View file

@ -124,6 +124,8 @@ static const struct debug_control radv_perftest_options[] = {
{"sparse", RADV_PERFTEST_SPARSE},
{"rtcps", RADV_PERFTEST_RT_CPS},
{"bfloat16", RADV_PERFTEST_BFLOAT16},
{"lowlatencydec", RADV_PERFTEST_LOWLATENCYDEC},
{"lowlatencyenc", RADV_PERFTEST_LOWLATENCYENC},
{NULL, 0},
};

View file

@ -2113,6 +2113,7 @@ radv_CmdDecodeVideoKHR(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR
.width = frame_info->dstPictureResource.codedExtent.width,
.height = frame_info->dstPictureResource.codedExtent.height,
.tier = select_tier(device, vid, frame_info),
.low_latency = radv_physical_device_instance(pdev)->perftest_flags & RADV_PERFTEST_LOWLATENCYDEC,
};
if (vid->sessionctx.mem) {

View file

@ -1078,7 +1078,8 @@ radv_enc_latency(struct radv_cmd_buffer *cmd_buffer, VkVideoEncodeTuningModeKHR
struct radv_device *device = radv_cmd_buffer_device(cmd_buffer);
const struct radv_physical_device *pdev = radv_device_physical(device);
const bool low_latency = tuning_mode == VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR ||
tuning_mode == VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR;
tuning_mode == VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR ||
radv_physical_device_instance(pdev)->perftest_flags & RADV_PERFTEST_LOWLATENCYENC;
RADEON_ENC_BEGIN(pdev->vcn_enc_cmds.enc_latency);
RADEON_ENC_CS(low_latency ? 1000 : 0);