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
