diff --git a/src/gallium/drivers/radeonsi/radeon_vce.c b/src/gallium/drivers/radeonsi/radeon_vce.c index 0d46e4040e9..54e10bfb945 100644 --- a/src/gallium/drivers/radeonsi/radeon_vce.c +++ b/src/gallium/drivers/radeonsi/radeon_vce.c @@ -344,6 +344,14 @@ static void rvce_get_feedback(struct pipe_video_codec *encoder, void *feedback, FREE(fb); } +static void rvce_destroy_fence(struct pipe_video_codec *encoder, + struct pipe_fence_handle *fence) +{ + struct rvce_encoder *enc = (struct rvce_encoder *)encoder; + + enc->ws->fence_reference(&fence, NULL); +} + /** * flush any outstanding command buffers to the hardware */ @@ -406,6 +414,7 @@ struct pipe_video_codec *si_vce_create_encoder(struct pipe_context *context, enc->base.end_frame = rvce_end_frame; enc->base.flush = rvce_flush; enc->base.get_feedback = rvce_get_feedback; + enc->base.destroy_fence = rvce_destroy_fence; enc->get_buffer = get_buffer; enc->screen = context->screen;