[PATCH 1/2] DRI2: Don't ignore rotated CRTCs in amdgpu_dri2_drawable_crtc
Michel Dänzer
michel at daenzer.net
Wed Aug 19 02:17:28 PDT 2015
From: Michel Dänzer <michel.daenzer at amd.com>
Waiting for vblank interrupts works fine with rotated CRTCs. The only
case we can't handle with rotation is page flipping, which is handled
in can_exchange().
This fixes gnome-shell hanging on rotation, probably because
amdgpu_dri2_get_msc returned MSC/UST 0 for rotated CRTCs.
(Ported from amdgpu commit 7b3212e33cd36fb6f122774df27b56ec4e1a22b8)
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
src/radeon_dri2.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
index 7587a0c..09a84b5 100644
--- a/src/radeon_dri2.c
+++ b/src/radeon_dri2.c
@@ -559,19 +559,12 @@ xf86CrtcPtr radeon_dri2_drawable_crtc(DrawablePtr pDraw, Bool consider_disabled)
{
ScreenPtr pScreen = pDraw->pScreen;
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
- xf86CrtcPtr crtc;
- crtc = radeon_pick_best_crtc(pScrn, consider_disabled,
+ return radeon_pick_best_crtc(pScrn, consider_disabled,
pDraw->x,
pDraw->x + pDraw->width,
pDraw->y,
pDraw->y + pDraw->height);
-
- /* Make sure the CRTC is valid and this is the real front buffer */
- if (crtc != NULL && !crtc->rotatedData)
- return crtc;
- else
- return NULL;
}
static void
--
2.5.0
More information about the xorg-driver-ati
mailing list