summaryrefslogtreecommitdiff
path: root/driver/xf86-video-ati
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2013-08-18 13:54:43 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2013-08-18 13:54:43 +0000
commit96281a235233383900fc58286280a7f74dff7992 (patch)
tree2468ef00a6b3267249d1f0670fce7fecd979f8ee /driver/xf86-video-ati
parent46920c89c4686d7117528125043eb57390165de4 (diff)
Fix shadowfb on big-endian machines.
ok matthieu@
Diffstat (limited to 'driver/xf86-video-ati')
-rw-r--r--driver/xf86-video-ati/src/drmmode_display.c3
-rw-r--r--driver/xf86-video-ati/src/radeon_kms.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/driver/xf86-video-ati/src/drmmode_display.c b/driver/xf86-video-ati/src/drmmode_display.c
index 1df104d18..921b7ba9a 100644
--- a/driver/xf86-video-ati/src/drmmode_display.c
+++ b/driver/xf86-video-ati/src/drmmode_display.c
@@ -1590,6 +1590,9 @@ drmmode_xf86crtc_resize (ScrnInfoPtr scrn, int width, int height)
tiling_flags |= RADEON_TILING_SWAP_16BIT;
break;
}
+ if (info->ChipFamily < CHIP_FAMILY_R600 &&
+ info->r600_shadow_fb && tiling_flags)
+ tiling_flags |= RADEON_TILING_SURFACE;
#endif
if (tiling_flags)
radeon_bo_set_tiling(info->front_bo, tiling_flags, pitch);
diff --git a/driver/xf86-video-ati/src/radeon_kms.c b/driver/xf86-video-ati/src/radeon_kms.c
index e7f4cf8a3..fe7c29bb8 100644
--- a/driver/xf86-video-ati/src/radeon_kms.c
+++ b/driver/xf86-video-ati/src/radeon_kms.c
@@ -1590,6 +1590,9 @@ static Bool radeon_setup_kernel_mem(ScreenPtr pScreen)
tiling_flags |= RADEON_TILING_SWAP_16BIT;
break;
}
+ if (info->ChipFamily < CHIP_FAMILY_R600 &&
+ info->r600_shadow_fb && tiling_flags)
+ tiling_flags |= RADEON_TILING_SURFACE;
#endif
if (tiling_flags)
radeon_bo_set_tiling(info->front_bo, tiling_flags, pitch);