Merge "Fix the DRM_FORMAT match with corresponding PixelFormat" am: 1e4f9c0477 am: e0ded949e6
am: d6a445c1b5

Change-Id: I5f5e27daddd642fbff036d701e90bf900d8e3c41
diff --git a/minui/graphics_drm.cpp b/minui/graphics_drm.cpp
index 9336a1e..630b801 100644
--- a/minui/graphics_drm.cpp
+++ b/minui/graphics_drm.cpp
@@ -117,12 +117,16 @@
 
   uint32_t format;
   PixelFormat pixel_format = gr_pixel_format();
+  // PixelFormat comes in byte order, whereas DRM_FORMAT_* uses little-endian
+  // (external/libdrm/include/drm/drm_fourcc.h). Note that although drm_fourcc.h also defines a
+  // macro of DRM_FORMAT_BIG_ENDIAN, it doesn't seem to be actually supported (see the discussion
+  // in https://lists.freedesktop.org/archives/amd-gfx/2017-May/008560.html).
   if (pixel_format == PixelFormat::ABGR) {
-    format = DRM_FORMAT_ABGR8888;
+    format = DRM_FORMAT_RGBA8888;
   } else if (pixel_format == PixelFormat::BGRA) {
-    format = DRM_FORMAT_BGRA8888;
+    format = DRM_FORMAT_ARGB8888;
   } else if (pixel_format == PixelFormat::RGBX) {
-    format = DRM_FORMAT_RGBX8888;
+    format = DRM_FORMAT_XBGR8888;
   } else {
     format = DRM_FORMAT_RGB565;
   }