Module: Mesa Branch: main Commit: 007ff4ea00c20b746123663b24a4f3af68775f2e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=007ff4ea00c20b746123663b24a4f3af68775f2e
Author: David Rosca <now...@gmail.com> Date: Tue Oct 31 14:40:48 2023 +0100 radeonsi/uvd: Implement destroy_fence vfunc Reviewed-by: Leo Liu <leo....@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25991> --- src/gallium/drivers/radeonsi/radeon_uvd.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/gallium/drivers/radeonsi/radeon_uvd.c b/src/gallium/drivers/radeonsi/radeon_uvd.c index dea67bf6466..dd203777df9 100644 --- a/src/gallium/drivers/radeonsi/radeon_uvd.c +++ b/src/gallium/drivers/radeonsi/radeon_uvd.c @@ -87,6 +87,14 @@ static int ruvd_dec_get_decoder_fence(struct pipe_video_codec *decoder, return dec->ws->fence_wait(dec->ws, fence, timeout); } +static void ruvd_dec_destroy_fence(struct pipe_video_codec *decoder, + struct pipe_fence_handle *fence) +{ + struct ruvd_decoder *dec = (struct ruvd_decoder *)decoder; + + dec->ws->fence_reference(&fence, NULL); +} + /* add a new set register command to the IB */ static void set_reg(struct ruvd_decoder *dec, unsigned reg, uint32_t val) { @@ -1251,6 +1259,7 @@ struct pipe_video_codec *si_common_uvd_create_decoder(struct pipe_context *conte dec->base.end_frame = ruvd_end_frame; dec->base.flush = ruvd_flush; dec->base.get_decoder_fence = ruvd_dec_get_decoder_fence; + dec->base.destroy_fence = ruvd_dec_destroy_fence; dec->stream_type = profile2stream_type(dec, sctx->family); dec->set_dtb = set_dtb;