summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/radeon/radeon_vce.c1
-rw-r--r--src/gallium/drivers/radeon/radeon_vce_40_2_2.c2
-rw-r--r--src/gallium/drivers/radeon/radeon_vce_52.c18
3 files changed, 12 insertions, 9 deletions
diff --git a/src/gallium/drivers/radeon/radeon_vce.c b/src/gallium/drivers/radeon/radeon_vce.c
index 427bf01ed8a..c84103e0acc 100644
--- a/src/gallium/drivers/radeon/radeon_vce.c
+++ b/src/gallium/drivers/radeon/radeon_vce.c
@@ -247,7 +247,6 @@ static void rvce_destroy(struct pipe_video_codec *encoder)
enc->fb = &fb;
enc->session(enc);
enc->destroy(enc);
- enc->feedback(enc);
flush(enc);
si_vid_destroy_buffer(&fb);
}
diff --git a/src/gallium/drivers/radeon/radeon_vce_40_2_2.c b/src/gallium/drivers/radeon/radeon_vce_40_2_2.c
index f1db47d4bd1..04e9d7f5e19 100644
--- a/src/gallium/drivers/radeon/radeon_vce_40_2_2.c
+++ b/src/gallium/drivers/radeon/radeon_vce_40_2_2.c
@@ -421,6 +421,8 @@ static void destroy(struct rvce_encoder *enc)
{
enc->task_info(enc, 0x00000001, 0, 0, 0);
+ feedback(enc);
+
RVCE_BEGIN(0x02000001); // destroy
RVCE_END();
}
diff --git a/src/gallium/drivers/radeon/radeon_vce_52.c b/src/gallium/drivers/radeon/radeon_vce_52.c
index a941c476f65..421539c4bdc 100644
--- a/src/gallium/drivers/radeon/radeon_vce_52.c
+++ b/src/gallium/drivers/radeon/radeon_vce_52.c
@@ -458,14 +458,6 @@ static void config_extension(struct rvce_encoder *enc)
RVCE_END();
}
-static void destroy(struct rvce_encoder *enc)
-{
- enc->task_info(enc, 0x00000001, 0, 0, 0);
-
- RVCE_BEGIN(0x02000001); // destroy
- RVCE_END();
-}
-
static void feedback(struct rvce_encoder *enc)
{
RVCE_BEGIN(0x05000005); // feedback buffer
@@ -474,6 +466,16 @@ static void feedback(struct rvce_encoder *enc)
RVCE_END();
}
+static void destroy(struct rvce_encoder *enc)
+{
+ enc->task_info(enc, 0x00000001, 0, 0, 0);
+
+ feedback(enc);
+
+ RVCE_BEGIN(0x02000001); // destroy
+ RVCE_END();
+}
+
static void motion_estimation(struct rvce_encoder *enc)
{
RVCE_BEGIN(0x04000007); // motion estimation