diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2011-02-24 15:15:00 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2011-02-24 15:27:51 +1000 |
commit | bc5dec2ca7ca7edc340a99bd73946e228117dfd8 (patch) | |
tree | af9b83cbc2b75dd12bd1f3e9d200e4f29e4c6b0e | |
parent | c123618470b5ff32c6377a4cae0f148d4a518a5d (diff) |
dri2: disable page flipping if any crtc is rotated
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r-- | src/nouveau_dri2.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c index 45add0f..d5afa8a 100644 --- a/src/nouveau_dri2.c +++ b/src/nouveau_dri2.c @@ -134,7 +134,16 @@ static Bool can_exchange(DrawablePtr draw, PixmapPtr dst_pix, PixmapPtr src_pix) { ScrnInfoPtr scrn = xf86Screens[draw->pScreen->myNum]; + xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn); NVPtr pNv = NVPTR(scrn); + int i; + + for (i = 0; i < xf86_config->num_crtc; i++) { + xf86CrtcPtr crtc = xf86_config->crtc[i]; + if (crtc->enabled && crtc->rotatedData) + return FALSE; + + } return (!nouveau_exa_pixmap_is_onscreen(dst_pix) || (DRI2CanFlip(draw) && pNv->has_pageflip)) && |