diff options
-rw-r--r-- | src/radeon_crtc.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/radeon_crtc.c b/src/radeon_crtc.c index 60140d6b..a87e99ba 100644 --- a/src/radeon_crtc.c +++ b/src/radeon_crtc.c @@ -410,6 +410,14 @@ radeon_crtc_shadow_allocate (xf86CrtcPtr crtc, int width, int height) int align = 4096, size; int cpp = pScrn->bitsPerPixel / 8; + /* No rotation without accel */ + if (((info->ChipFamily >= CHIP_FAMILY_R600) && !info->directRenderingEnabled) || + xf86ReturnOptValBool(info->Options, OPTION_NOACCEL, FALSE)) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Acceleration required for rotation\n"); + return NULL; + } + rotate_pitch = pScrn->displayWidth * cpp; size = rotate_pitch * height; @@ -424,7 +432,7 @@ radeon_crtc_shadow_allocate (xf86CrtcPtr crtc, int width, int height) return info->FB + rotate_offset; } - + /** * Creates a pixmap for this CRTC's rotated shadow framebuffer. */ |