summaryrefslogtreecommitdiff
path: root/src/radeon_crtc.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2008-11-24 14:39:41 -0500
committerAlex Deucher <alexdeucher@gmail.com>2008-11-24 14:39:41 -0500
commit3858e31fa9d77d52a5cabb02f53f06385eab40f7 (patch)
tree02b4222ed19328d9bd5eb907dc0b93c2ef9d6d58 /src/radeon_crtc.c
parent3d27876d91ef69d71f17b6cf8c07c26bf12857b4 (diff)
Don't support rotation is accel is not available
Fixes bug 18068
Diffstat (limited to 'src/radeon_crtc.c')
-rw-r--r--src/radeon_crtc.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/radeon_crtc.c b/src/radeon_crtc.c
index 9040baea..d764782c 100644
--- a/src/radeon_crtc.c
+++ b/src/radeon_crtc.c
@@ -472,7 +472,7 @@ radeon_crtc_shadow_destroy(xf86CrtcPtr crtc, PixmapPtr rotate_pixmap, void *data
}
-static const xf86CrtcFuncsRec radeon_crtc_funcs = {
+static xf86CrtcFuncsRec radeon_crtc_funcs = {
.dpms = radeon_crtc_dpms,
.save = NULL, /* XXX */
.restore = NULL, /* XXX */
@@ -536,6 +536,13 @@ Bool RADEONAllocateControllers(ScrnInfoPtr pScrn, int mask)
RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn);
RADEONInfoPtr info = RADEONPTR(pScrn);
+ if ((info->ChipFamily < CHIP_FAMILY_R600) &&
+ (!xf86ReturnOptValBool(info->Options, OPTION_NOACCEL, FALSE))) {
+ radeon_crtc_funcs.shadow_create = radeon_crtc_shadow_create;
+ radeon_crtc_funcs.shadow_allocate = radeon_crtc_shadow_allocate;
+ radeon_crtc_funcs.shadow_destroy = radeon_crtc_shadow_destroy;
+ }
+
if (mask & 1) {
if (pRADEONEnt->Controller[0])
return TRUE;