From 02bcdc764803d4a1d79c1fdac052aee518fe7165 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Mon, 30 Sep 2024 13:30:38 +0200 Subject: [PATCH] radeonsi/vcn: Implement fence_wait Reviewed-by: Leo Liu Part-of: --- src/gallium/drivers/radeonsi/radeon_vcn_dec.c | 11 ++++++----- src/gallium/drivers/radeonsi/radeon_vcn_enc.c | 9 +++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c index d8a04436afa..a301def92bd 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c @@ -2644,10 +2644,10 @@ static void radeon_dec_flush(struct pipe_video_codec *decoder) { } -static int radeon_dec_get_decoder_fence(struct pipe_video_codec *decoder, - struct pipe_fence_handle *fence, - uint64_t timeout) { - +static int radeon_dec_fence_wait(struct pipe_video_codec *decoder, + struct pipe_fence_handle *fence, + uint64_t timeout) +{ struct radeon_decoder *dec = (struct radeon_decoder *)decoder; return dec->ws->fence_wait(dec->ws, fence, timeout); @@ -2782,7 +2782,8 @@ struct pipe_video_codec *radeon_create_decoder(struct pipe_context *context, dec->base.decode_bitstream = radeon_dec_decode_bitstream; dec->base.end_frame = radeon_dec_end_frame; dec->base.flush = radeon_dec_flush; - dec->base.get_decoder_fence = radeon_dec_get_decoder_fence; + dec->base.get_decoder_fence = radeon_dec_fence_wait; + dec->base.fence_wait = radeon_dec_fence_wait; dec->base.destroy_fence = radeon_dec_destroy_fence; dec->base.update_decoder_target = radeon_dec_update_render_list; diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_enc.c b/src/gallium/drivers/radeonsi/radeon_vcn_enc.c index 08e62d5a75f..b1aa8e0cf65 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_enc.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_enc.c @@ -1713,9 +1713,9 @@ static void radeon_enc_get_feedback(struct pipe_video_codec *encoder, void *feed RADEON_ENC_DESTROY_VIDEO_BUFFER(fb); } -static int radeon_enc_get_feedback_fence(struct pipe_video_codec *encoder, - struct pipe_fence_handle *fence, - uint64_t timeout) +static int radeon_enc_fence_wait(struct pipe_video_codec *encoder, + struct pipe_fence_handle *fence, + uint64_t timeout) { struct radeon_encoder *enc = (struct radeon_encoder *)encoder; @@ -1759,7 +1759,8 @@ struct pipe_video_codec *radeon_create_encoder(struct pipe_context *context, enc->base.end_frame = radeon_enc_end_frame; enc->base.flush = radeon_enc_flush; enc->base.get_feedback = radeon_enc_get_feedback; - enc->base.get_feedback_fence = radeon_enc_get_feedback_fence; + enc->base.get_feedback_fence = radeon_enc_fence_wait; + enc->base.fence_wait = radeon_enc_fence_wait; enc->base.destroy_fence = radeon_enc_destroy_fence; enc->get_buffer = get_buffer; enc->bits_in_shifter = 0;