[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-ati: Changes to 'debian-unstable'



 debian/changelog        |    7 +++++++
 src/radeon_exa_shared.c |   12 ++++++++++++
 2 files changed, 19 insertions(+)

New commits:
commit 1d0953621ff880781d25aed497cdc35dffec665c
Author: Julien Cristau <jcristau@debian.org>
Date:   Sat Mar 9 12:06:08 2013 +0100

    Upload to sid

diff --git a/debian/changelog b/debian/changelog
index 7fddc1c..4a45847 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-video-ati (1:6.14.4-8) unstable; urgency=medium
+
+  * UMS: Swap bytes when uploading to pixmap for solid picture on big endian
+    host (closes: #702480).  Thanks, Michel Dänzer!
+
+ -- Julien Cristau <jcristau@debian.org>  Sat, 09 Mar 2013 12:06:14 +0100
+
 xserver-xorg-video-ati (1:6.14.4-7) unstable; urgency=medium
 
   * mach64 and r128 are back on ia64, so re-add dependencies on them

commit 9c2a83398d93eaa1305776dabb5a98e8357afdb6
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Mar 7 09:59:29 2013 +0100

    UMS: Swap bytes when uploading to pixmap for solid picture on big endian host
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57649
    (cherry picked from commit 96ddc91bfa07d91b412afcf90e13523fe9efaf08)

diff --git a/src/radeon_exa_shared.c b/src/radeon_exa_shared.c
index 7af8a52..b45a3b3 100644
--- a/src/radeon_exa_shared.c
+++ b/src/radeon_exa_shared.c
@@ -40,6 +40,7 @@
 #endif
 #include "radeon_macros.h"
 #include "radeon_probe.h"
+#include "radeon_reg.h"
 #include "radeon_version.h"
 #include "radeon_vbo.h"
 
@@ -159,6 +160,17 @@ PixmapPtr RADEONSolidPixmap(ScreenPtr pScreen, uint32_t solid)
 
     /* XXX: Big hammer... */
     info->accel_state->exa->WaitMarker(pScreen, info->accel_state->exaSyncMarker);
+
+#if X_BYTE_ORDER == X_BIG_ENDIAN
+    if (pScrn->bitsPerPixel == 32)
+	RADEONCopySwap(info->FB + exaGetPixmapOffset(pPix), (uint8_t*)&solid, 4,
+		       RADEON_HOST_DATA_SWAP_32BIT);
+    else if (pScrn->bitsPerPixel == 16)
+	RADEONCopySwap(info->FB + exaGetPixmapOffset(pPix), (uint8_t*)&solid, 4,
+		       RADEON_HOST_DATA_SWAP_16BIT);
+    else
+	/* Fall through for 8 bpp */
+#endif
     memcpy(info->FB + exaGetPixmapOffset(pPix), &solid, 4);
 
     return pPix;


Reply to: