summaryrefslogtreecommitdiff
path: root/src/radeon_textured_video.c
diff options
context:
space:
mode:
authorMichel Dänzer <daenzer@vmware.com>2009-10-03 16:33:33 +0200
committerMichel Dänzer <daenzer@vmware.com>2009-10-03 16:33:33 +0200
commit9460ea864b12ec1fbd11c5d9a20bb5a4279d9d3d (patch)
treef5064ca63804da4240b0363441cfc1d73ca703ad /src/radeon_textured_video.c
parentaee6b6f2c120baf477b4845ddc1a94637c31db2f (diff)
Fix KMS on big endian machines.
Requires at least xserver 1.7 to work properly. Also make sure the front buffer is and stays tiled if colour tiling is enabled.
Diffstat (limited to 'src/radeon_textured_video.c')
-rw-r--r--src/radeon_textured_video.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/radeon_textured_video.c b/src/radeon_textured_video.c
index 04a24017..d6b221f3 100644
--- a/src/radeon_textured_video.c
+++ b/src/radeon_textured_video.c
@@ -709,7 +709,13 @@ Bool radeon_load_bicubic_texture(ScrnInfoPtr pScrn)
} else
bicubic_addr = (uint8_t *)(info->FB + info->bicubic_offset);
- RADEONCopyData(pScrn, (uint8_t *)bicubic_tex_512, bicubic_addr, 1024, 1024, 1, 512, 2);
+ RADEONCopySwap(bicubic_addr, (uint8_t *)bicubic_tex_512, 1024,
+#if X_BYTE_ORDER == X_BIG_ENDIAN
+ RADEON_HOST_DATA_SWAP_16BIT
+#else
+ RADEON_HOST_DATA_SWAP_NONE
+#endif
+);
if (info->cs)
radeon_bo_unmap(info->bicubic_bo);
}