summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <daenzer@vmware.com>2009-06-22 12:17:42 +0200
committerMichel Dänzer <michel@daenzer.net>2009-06-22 12:17:42 +0200
commita9f7fb134b9b4b50e9188a812dc7013b8e171e3f (patch)
tree7f6ec0c3d836620599deabb83c12b4588fb1995c
parente1c50d8fe4c620933ce25f730eb996ddcb767717 (diff)
Fix KMS cursor data byte order for big endian platforms.
-rw-r--r--src/drmmode_display.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 8e33a76f..44ea860d 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -345,7 +345,11 @@ drmmode_load_cursor_argb (xf86CrtcPtr crtc, CARD32 *image)
/* cursor should be mapped already */
ptr = drmmode_crtc->cursor_bo->virtual;
+#if X_BYTE_ORDER == X_BIG_ENDIAN
+ RADEONCopySwap(ptr, image, 64 * 64 * 4, RADEON_HOST_DATA_SWAP_32BIT);
+#else
memcpy (ptr, image, 64 * 64 * 4);
+#endif
return;
}