diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2015-07-09 17:57:29 +0900 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2015-07-09 17:57:29 +0900 |
commit | 7b3212e33cd36fb6f122774df27b56ec4e1a22b8 (patch) | |
tree | 734dcfb0ce658d5f21fb453076b94bcf301ebe9a /src/amdgpu_dri2.c | |
parent | 5587a7b43d02d6371ed4675a6260427492ebad94 (diff) |
DRI2: Don't ignore rotated CRTCs in amdgpu_dri2_drawable_crtc
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.
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Diffstat (limited to 'src/amdgpu_dri2.c')
-rw-r--r-- | src/amdgpu_dri2.c | 9 |
1 files changed, 1 insertions, 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 |