summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rosca <nowrep@gmail.com>2024-04-16 19:23:36 +0200
committerEric Engestrom <eric@engestrom.ch>2024-04-30 19:18:19 +0200
commitdb932b64563ee54b19d016cd84b74c15477dfd3a (patch)
tree1316957adbbc13923667cc1a72be58cebb171636
parent9ea069be852c2f896715e8cb08976b4a604f64b7 (diff)
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 <ruijing.dong@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28945> (cherry picked from commit cc0df497f0d4579301dc853587aef7ca8aa679ea)
-rw-r--r--.pick_status.json2
-rw-r--r--src/gallium/drivers/radeonsi/radeon_vcn_enc.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/.pick_status.json b/.pick_status.json
index bdfc09f518e..4289fe2a486 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -384,7 +384,7 @@
"description": "radeonsi/vcn: Allocate session buffer in VRAM",
"nominated": true,
"nomination_type": 0,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null
diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_enc.c b/src/gallium/drivers/radeonsi/radeon_vcn_enc.c
index 00feaaba064..fb5ad4822af 100644
--- a/src/gallium/drivers/radeonsi/radeon_vcn_enc.c
+++ b/src/gallium/drivers/radeonsi/radeon_vcn_enc.c
@@ -1118,7 +1118,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;
}