diff -up xf86-video-ati-6.11.0/src/drmmode_display.c.jx xf86-video-ati-6.11.0/src/drmmode_display.c
--- xf86-video-ati-6.11.0/src/drmmode_display.c.jx 2009-03-12 16:00:29.000000000 -0400
+++ xf86-video-ati-6.11.0/src/drmmode_display.c 2009-03-12 16:04:43.497426645 -0400
@@ -153,6 +153,9 @@ copy_fb_contents (drmmode_ptr drmmode,
PixmapPtr src_pixmap, dest_pixmap;
ScreenPtr pScreen = pScrn->pScreen;
+ if (info->ChipFamily >= CHIP_FAMILY_R600)
+ return;
+
dest_fb = drmModeGetFB(drmmode->fd, dest_id);
src_fb = drmModeGetFB(drmmode->fd, src_id);
if (src_fb == NULL || dest_fb == NULL) {
diff -up xf86-video-ati-6.11.0/src/radeon_driver.c.jx xf86-video-ati-6.11.0/src/radeon_driver.c
--- xf86-video-ati-6.11.0/src/radeon_driver.c.jx 2009-03-12 16:00:29.317422095 -0400
+++ xf86-video-ati-6.11.0/src/radeon_driver.c 2009-03-12 16:00:29.340421256 -0400
@@ -1991,6 +1991,15 @@ static Bool RADEONPreInitAccel(ScrnInfoP
}
info->accel_state->fifo_slots = 0;
+ if (info->drm_mode_setting && info->ChipFamily >= CHIP_FAMILY_R600) {
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Using shadowfb for KMS on R600+\n");
+ info->r600_shadow_fb = TRUE;
+ if (!xf86LoadSubModule(pScrn, "shadow"))
+ info->r600_shadow_fb = FALSE;
+ return TRUE;
+ }
+
if ((info->ChipFamily == CHIP_FAMILY_RS100) ||
(info->ChipFamily == CHIP_FAMILY_RS200) ||
(info->ChipFamily == CHIP_FAMILY_RS300) ||
diff -up xf86-video-ati-6.11.0/src/radeon_video.c.jx xf86-video-ati-6.11.0/src/radeon_video.c
--- xf86-video-ati-6.11.0/src/radeon_video.c.jx 2009-03-12 16:00:29.309397119 -0400
+++ xf86-video-ati-6.11.0/src/radeon_video.c 2009-03-12 16:00:29.344420788 -0400
@@ -297,7 +297,10 @@ void RADEONInitVideo(ScreenPtr pScreen)
RADEONInitOffscreenImages(pScreen);
}
- if (info->ChipFamily != CHIP_FAMILY_RV250) {
+ if (info->ChipFamily >= CHIP_FAMILY_R600 && info->drm_mode_setting) {
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "Disabling textured video for KMS On R600+\n");
+ } else if (info->ChipFamily != CHIP_FAMILY_RV250) {
if ((info->ChipFamily < CHIP_FAMILY_RS400)
#ifdef XF86DRI
|| (info->directRenderingEnabled || info->drm_mode_setting)