diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-03-03 12:17:30 -0500 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-03-03 12:17:30 -0500 |
commit | d586a2c6f821c821a4a7708a3382acb63187534f (patch) | |
tree | 90d06d4866e85990871ab776a613c6a72aca05b6 /src/radeon_crtc.c | |
parent | fdc64948119e2218921b4dc0a492522442668875 (diff) |
Rotation: don't rotate if acceleration is not active
Diffstat (limited to 'src/radeon_crtc.c')
-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. */ |