OSDN Git Service

gralloc: dont hardcode 32bpp as RGBX
authorBernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Thu, 20 Feb 2014 20:08:44 +0000 (01:38 +0530)
committerAmit Pundir <amit.pundir@linaro.org>
Fri, 21 Feb 2014 13:58:56 +0000 (19:28 +0530)
Not every 32bpp is in RGBX format.

Change-Id: Ic3c6a0cbf475bff2fe2fc4b023c6bc58e4fc295e
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
modules/gralloc/framebuffer.cpp

index 326f2ae..9d8513a 100644 (file)
@@ -330,7 +330,7 @@ int fb_device_open(hw_module_t const* module, const char* name,
         if (status >= 0) {
             int stride = m->finfo.line_length / (m->info.bits_per_pixel >> 3);
             int format = (m->info.bits_per_pixel == 32)
-                         ? HAL_PIXEL_FORMAT_RGBX_8888
+                         ? (m->info.red.offset ? HAL_PIXEL_FORMAT_BGRA_8888 : HAL_PIXEL_FORMAT_RGBX_8888)
                          : HAL_PIXEL_FORMAT_RGB_565;
             const_cast<uint32_t&>(dev->device.flags) = 0;
             const_cast<uint32_t&>(dev->device.width) = m->info.xres;