diff options
-rw-r--r-- | src/gallium/drivers/radeon/radeon_vce.c | 1 | ||||
-rw-r--r-- | src/gallium/drivers/radeon/radeon_vce_40_2_2.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/radeon/radeon_vce_52.c | 18 |
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 |