summaryrefslogtreecommitdiff
path: root/src/radeon_crtc.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-03-03 12:17:30 -0500
committerAlex Deucher <alexdeucher@gmail.com>2009-03-03 12:17:30 -0500
commitd586a2c6f821c821a4a7708a3382acb63187534f (patch)
tree90d06d4866e85990871ab776a613c6a72aca05b6 /src/radeon_crtc.c
parentfdc64948119e2218921b4dc0a492522442668875 (diff)
Rotation: don't rotate if acceleration is not active
Diffstat (limited to 'src/radeon_crtc.c')
-rw-r--r--src/radeon_crtc.c10
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.
*/