[PATCH xf86-video-ati 2/2] Move DPMS check from radeon_scanout_do_update to radeon_scanout_flip
Michel Dänzer
michel at daenzer.net
Wed Mar 1 10:02:42 UTC 2017
From: Michel Dänzer <michel.daenzer at amd.com>
When radeon_scanout_do_update is called from
drmmode_crtc_scanout_update, drmmode_crtc->pending_dpms_mode may still
be != DPMSModeOn, e.g. during server startup.
Fixes intermittently showing garbage with TearFree enabled.
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
src/radeon_kms.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index a0961199c..a9fc0676c 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -882,7 +882,6 @@ radeon_scanout_do_update(xf86CrtcPtr xf86_crtc, int scanout_id)
Bool force;
if (!xf86_crtc->enabled ||
- drmmode_crtc->pending_dpms_mode != DPMSModeOn ||
!drmmode_crtc->scanout[scanout_id].pixmap)
return FALSE;
@@ -1069,7 +1068,8 @@ radeon_scanout_flip(ScreenPtr pScreen, RADEONInfoPtr info,
uintptr_t drm_queue_seq;
unsigned scanout_id;
- if (drmmode_crtc->scanout_update_pending)
+ if (drmmode_crtc->scanout_update_pending ||
+ drmmode_crtc->pending_dpms_mode != DPMSModeOn)
return;
scanout_id = drmmode_crtc->scanout_id ^ 1;
--
2.11.0
More information about the amd-gfx
mailing list