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 04a2401..d6b221f 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); } |