From: Michel Dänzer <[email protected]> It was the same code as for RADEON_HOST_DATA_SWAP_32BIT. This caused bus errors on FreeBSD/PPC, but I'm not sure how it could not cause problems anywhere...
Reported-by: Andreas Tobler <[email protected]> Signed-off-by: Michel Dänzer <[email protected]> --- src/radeon_accel.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/radeon_accel.c b/src/radeon_accel.c index 1cebcf6..784502d 100644 --- a/src/radeon_accel.c +++ b/src/radeon_accel.c @@ -982,10 +982,9 @@ void RADEONCopySwap(uint8_t *dst, uint8_t *src, unsigned int size, int swap) for (; nwords > 0; --nwords, ++d, ++s) #ifdef __powerpc__ - asm volatile("stwbrx %0,0,%1" : : "r" (*s), "r" (d)); + asm volatile("sthbrx %0,0,%1" : : "r" (*s), "r" (d)); #else - *d = ((*s >> 24) & 0xff) | ((*s >> 8) & 0xff00) - | ((*s & 0xff00) << 8) | ((*s & 0xff) << 24); + *d = (*s >> 8) | (*s << 8); #endif return; } -- 1.7.10 _______________________________________________ xorg-driver-ati mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-driver-ati
