Mesa (master): radeon/vcn: add encode destroy

Leo Liu leoliu at kemper.freedesktop.org
Fri Nov 17 17:32:05 UTC 2017


Module: Mesa
Branch: master
Commit: bc9644460df595788b1784a84dbe4fa33b17668d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bc9644460df595788b1784a84dbe4fa33b17668d

Author: Boyuan Zhang <boyuan.zhang at amd.com>
Date:   Tue Nov  7 16:20:53 2017 -0500

radeon/vcn: add encode destroy

Add implementation for destroy interface for vcn encode.

Signed-off-by: Boyuan Zhang <boyuan.zhang at amd.com>
Acked-by: Christian König <christian.koenig at amd.com>

---

 src/gallium/drivers/radeon/radeon_vcn_enc.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc.c b/src/gallium/drivers/radeon/radeon_vcn_enc.c
index 05e7e83624..219f8706f5 100644
--- a/src/gallium/drivers/radeon/radeon_vcn_enc.c
+++ b/src/gallium/drivers/radeon/radeon_vcn_enc.c
@@ -180,7 +180,21 @@ static void radeon_enc_end_frame(struct pipe_video_codec *encoder,
 
 static void radeon_enc_destroy(struct pipe_video_codec *encoder)
 {
-	/* TODO*/
+	struct radeon_encoder *enc = (struct radeon_encoder*)encoder;
+
+	if (enc->stream_handle) {
+		struct rvid_buffer fb;
+		enc->need_feedback = false;
+		si_vid_create_buffer(enc->screen, &fb, 512, PIPE_USAGE_STAGING);
+		enc->fb = &fb;
+		enc->destroy(enc);
+		flush(enc);
+		si_vid_destroy_buffer(&fb);
+	}
+
+	si_vid_destroy_buffer(&enc->cpb);
+	enc->ws->cs_destroy(enc->cs);
+	FREE(enc);
 }
 
 static void radeon_enc_get_feedback(struct pipe_video_codec *encoder,




More information about the mesa-commit mailing list