[PATCH xf86-video-amdgpu] Set drmmode_crtc->scanout_id = 0 when TearFree is disabled
Michel Dänzer
michel at daenzer.net
Tue Apr 24 16:58:52 UTC 2018
From: Michel Dänzer <michel.daenzer at amd.com>
When disabling TearFree, drmmode_crtc->scanout_id could remain as 1,
but drmmode_set_mode_major would destroy drmmode_crtc->scanout[1], so
scanout_do_update() would keep bailing, and the scanout buffer would
stop being updated.
Fixes freeze after disabling TearFree on a CRTC with active RandR
rotation or other transform.
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
src/drmmode_display.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 536890d18..793027d50 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -846,6 +846,8 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
drmmode_crtc_update_tear_free(crtc);
if (drmmode_crtc->tear_free)
scanout_id = drmmode_crtc->scanout_id;
+ else
+ drmmode_crtc->scanout_id = 0;
/* gamma is disabled in kernel driver for deep color */
if (pScrn->depth != 30)
--
2.17.0
More information about the amd-gfx
mailing list