diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2017-03-01 17:35:59 +0900 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2017-03-02 16:13:08 +0900 |
commit | cc9d6b7db9c2078be1e530a64af6d517c6a42024 (patch) | |
tree | 2c4fafcec717e4911f7de98d2ab322868d64e6a7 /src | |
parent | 0a12bf1085505017068dfdfd31d23133e51b45b9 (diff) |
Move DPMS check from radeon_scanout_do_update to radeon_scanout_flip
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/radeon_kms.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/radeon_kms.c b/src/radeon_kms.c index c2089eba..572dfcc8 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; |