summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo Liu <leo.liu@amd.com>2017-12-07 12:04:59 -0500
committerAndres Gomez <agomez@igalia.com>2017-12-20 19:40:38 +0200
commit2e6593806c587541523e3baa8d15454657d137ae (patch)
tree5420ffc1e476be674a3e35c3c205ebec4226b011
parente0160dd368dc77d1eda167b16324e8bf611db0d1 (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 <leo.liu@amd.com> Cc: mesa-stable@lists.freedesktop.org Acked-by: Christian König <christian.koenig@amd.com> (cherry picked from commit 6d74cb2570eb919c72e519e590d2464757465902)
-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 70c1e60f5b4..c62b3fd4d75 100644
--- a/src/gallium/drivers/radeon/radeon_vce.c
+++ b/src/gallium/drivers/radeon/radeon_vce.c
@@ -252,8 +252,8 @@ static void rvce_destroy(struct pipe_video_codec *encoder)
rvid_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);
rvid_destroy_buffer(&fb);
}