summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeo Liu <[email protected]>2017-12-07 12:04:59 -0500
committerLeo Liu <[email protected]>2017-12-08 12:56:48 -0500
commit6d74cb2570eb919c72e519e590d2464757465902 (patch)
treed2dd15454eeaf9bc479c7012634ea45483b1111c
parent060eb314eb4e551cf870ad6a6e7e1363d4228efe (diff)
radeon/vce: move destroy command before feedback command
VCE processing IBs starts from session and task info at first level, other commands processed subsequently. The task info for destroy is embedded to destroy command, resulting that feedback command is not properly procoessed. This is causing kernel spin VM fault messages on Polaris and Vega10 card when running ends at encode application. The fix is also verified on VCE physical mode card. Signed-off-by: Leo Liu <[email protected]> Cc: [email protected] Acked-by: Christian König <[email protected]>
-rw-r--r--src/gallium/drivers/radeon/radeon_vce.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeon/radeon_vce.c b/src/gallium/drivers/radeon/radeon_vce.c
index 69e602210b3..427bf01ed8a 100644
--- a/src/gallium/drivers/radeon/radeon_vce.c
+++ b/src/gallium/drivers/radeon/radeon_vce.c
@@ -246,8 +246,8 @@ static void rvce_destroy(struct pipe_video_codec *encoder)
si_vid_create_buffer(enc->screen, &fb, 512, PIPE_USAGE_STAGING);
enc->fb = &fb;
enc->session(enc);
- enc->feedback(enc);
enc->destroy(enc);
+ enc->feedback(enc);
flush(enc);
si_vid_destroy_buffer(&fb);
}