From cc0df497f0d4579301dc853587aef7ca8aa679ea Mon Sep 17 00:00:00 2001 From: David Rosca Date: Tue, 16 Apr 2024 19:23:36 +0200 Subject: [PATCH] radeonsi/vcn: Allocate session buffer in VRAM It's never mapped so there's no reason for PIPE_USAGE_STAGING. Improves encoding performance on dGPUs. Tested with 7900XTX (before 1900fps => after 2100fps): ffmpeg -hide_banner -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 \ -f lavfi -i testsrc=size=640x640,format=nv12 -vf hwupload -c:v av1_vaapi \ -f null - Cc: mesa-stable Reviewed-by: Ruijing Dong Part-of: --- src/gallium/drivers/radeonsi/radeon_vcn_enc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_enc.c b/src/gallium/drivers/radeonsi/radeon_vcn_enc.c index f905790fbae..b6802d7e8a9 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_enc.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_enc.c @@ -1191,7 +1191,7 @@ static void radeon_enc_begin_frame(struct pipe_video_codec *encoder, enc->si = CALLOC_STRUCT(rvid_buffer); if (!enc->si || !enc->stream_handle || - !si_vid_create_buffer(enc->screen, enc->si, 128 * 1024, PIPE_USAGE_STAGING)) { + !si_vid_create_buffer(enc->screen, enc->si, 128 * 1024, PIPE_USAGE_DEFAULT)) { RVID_ERR("Can't create session buffer.\n"); goto error; }