fourcc is not a string, it's a packed integer. This happens to work out
on LE, but gets reversed on BE.

Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu>
---
 tests/modetest/modetest.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c
index c390d87..b8891ff 100644
--- a/tests/modetest/modetest.c
+++ b/tests/modetest/modetest.c
@@ -174,6 +174,15 @@ static const char *mode_flag_names[] = {
 
 static bit_name_fn(mode_flag)
 
+static void dump_fourcc(uint32_t fourcc)
+{
+       printf(" %c%c%c%c",
+               fourcc,
+               fourcc >> 8,
+               fourcc >> 16,
+               fourcc >> 24);
+}
+
 static void dump_encoders(struct device *dev)
 {
        drmModeEncoder *encoder;
@@ -443,7 +452,7 @@ static void dump_planes(struct device *dev)
 
                printf("  formats:");
                for (j = 0; j < ovr->count_formats; j++)
-                       printf(" %4.4s", (char *)&ovr->formats[j]);
+                       dump_fourcc(ovr->formats[j]);
                printf("\n");
 
                if (plane->props) {
-- 
2.10.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to