diff options
author | Michel Dänzer <daenzer@vmware.com> | 2009-10-03 16:33:33 +0200 |
---|---|---|
committer | Michel Dänzer <daenzer@vmware.com> | 2009-10-03 16:33:33 +0200 |
commit | 9460ea864b12ec1fbd11c5d9a20bb5a4279d9d3d (patch) | |
tree | f5064ca63804da4240b0363441cfc1d73ca703ad /src/radeon_textured_video.c | |
parent | aee6b6f2c120baf477b4845ddc1a94637c31db2f (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.c | 8 |
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); } |