From 0c024bbe641b092bbbc751baae54a37642794de0 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Mon, 5 Aug 2024 09:14:37 +0200 Subject: [PATCH] radeonsi/vcn: Add decode DPB buffers as CS dependency This is needed to ensure correct synchronization in kernel eg. when it moves the buffers between VRAM and GTT. Backport-to: 24.2 Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3437 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11624 Reviewed-by: Boyuan Zhang Part-of: --- src/gallium/drivers/radeonsi/radeon_vcn_dec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c index f581a5f26e7..2fb3615517d 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c @@ -1390,6 +1390,7 @@ static unsigned rvcn_dec_dynamic_dpb_t2_message(struct radeon_decoder *dec, rvcn dummy->dpb.res; addr = dec->ws->buffer_get_virtual_address(dummy_res->buf); } + dec->ws->cs_add_buffer(&dec->cs, res->buf, RADEON_USAGE_READWRITE | RADEON_USAGE_SYNCHRONIZED, RADEON_DOMAIN_VRAM); dynamic_dpb_t2->dpbAddrLo[i] = addr; dynamic_dpb_t2->dpbAddrHi[i] = addr >> 32; ++dynamic_dpb_t2->dpbArraySize;