diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2008-11-24 14:39:41 -0500 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2008-11-24 14:39:41 -0500 |
commit | 3858e31fa9d77d52a5cabb02f53f06385eab40f7 (patch) | |
tree | 02b4222ed19328d9bd5eb907dc0b93c2ef9d6d58 /src/radeon_crtc.c | |
parent | 3d27876d91ef69d71f17b6cf8c07c26bf12857b4 (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.c | 9 |
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; |