[PATCH xf86-video-ati 08/21] Don't call scanout_flip/update with a legacy RandR scanout buffer

Michel Dänzer michel at daenzer.net
Wed Jul 11 17:27:53 UTC 2018


From: Michel Dänzer <michel.daenzer at amd.com>

It means we are not using our own scanout buffers.

Fixes crash when TearFree is supposed to be enabled, but
drmmode_handle_transform doesn't set crtc->driverIsPerformingTransform.

Bugzilla: https://bugs.freedesktop.org/105736
(Ported from commit 463477661c88cab3a87746499e5838c5b9f9a13b)

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 src/radeon_kms.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index cdda8962e..15dca0de4 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -1167,6 +1167,9 @@ static void RADEONBlockHandler_KMS(BLOCKHANDLER_ARGS_DECL)
 	    xf86CrtcPtr crtc = xf86_config->crtc[c];
 	    drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
 
+	    if (drmmode_crtc->rotate.pixmap)
+		continue;
+
 	    if (drmmode_crtc->tear_free)
 		radeon_scanout_flip(pScreen, info, crtc);
 	    else if (drmmode_crtc->scanout[drmmode_crtc->scanout_id].pixmap)
-- 
2.18.0



More information about the amd-gfx mailing list