From: Michel Dänzer <[email protected]>

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.

Signed-off-by: Michel Dänzer <[email protected]>
---
 src/amdgpu_dri2.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/src/amdgpu_dri2.c b/src/amdgpu_dri2.c
index bde36de..bbf286c 100644
--- a/src/amdgpu_dri2.c
+++ b/src/amdgpu_dri2.c
@@ -425,18 +425,11 @@ xf86CrtcPtr amdgpu_dri2_drawable_crtc(DrawablePtr pDraw, 
Bool consider_disabled)
 {
        ScreenPtr pScreen = pDraw->pScreen;
        ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
-       xf86CrtcPtr crtc;
 
-       crtc = amdgpu_pick_best_crtc(pScrn, consider_disabled,
+       return amdgpu_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.1.4

_______________________________________________
xorg-driver-ati mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-driver-ati

Reply via email to