diff options
author | Tao Bao <tbao@google.com> | 2018-08-08 19:50:41 +0200 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2018-08-08 19:50:41 +0200 |
commit | e0ded949e6f25e58d9f325b5f63d66ba51fe7bd6 (patch) | |
tree | 7454936d78363a5d865f44b43554b8c133ce0bac | |
parent | Merge "Build and use minadbd as a shared library." (diff) | |
parent | Merge "Fix the DRM_FORMAT match with corresponding PixelFormat" (diff) | |
download | android_bootable_recovery-e0ded949e6f25e58d9f325b5f63d66ba51fe7bd6.tar android_bootable_recovery-e0ded949e6f25e58d9f325b5f63d66ba51fe7bd6.tar.gz android_bootable_recovery-e0ded949e6f25e58d9f325b5f63d66ba51fe7bd6.tar.bz2 android_bootable_recovery-e0ded949e6f25e58d9f325b5f63d66ba51fe7bd6.tar.lz android_bootable_recovery-e0ded949e6f25e58d9f325b5f63d66ba51fe7bd6.tar.xz android_bootable_recovery-e0ded949e6f25e58d9f325b5f63d66ba51fe7bd6.tar.zst android_bootable_recovery-e0ded949e6f25e58d9f325b5f63d66ba51fe7bd6.zip |
-rw-r--r-- | minui/graphics_drm.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/minui/graphics_drm.cpp b/minui/graphics_drm.cpp index 9336a1e63..630b80180 100644 --- a/minui/graphics_drm.cpp +++ b/minui/graphics_drm.cpp @@ -117,12 +117,16 @@ GRSurfaceDrm* MinuiBackendDrm::DrmCreateSurface(int width, int height) { 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; } |