summaryrefslogtreecommitdiffstats
path: root/modules/gralloc
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@google.com>2011-01-16 19:52:22 +0100
committerDavid 'Digit' Turner <digit@google.com>2011-01-17 22:04:52 +0100
commit25b68b5c24e443c326af73a33cea6dc45e845254 (patch)
tree6207f3d020cd4d3afd9ec881734cb141556c4df1 /modules/gralloc
parent80d3699c9e8e18d57684f3b20d58fd259379a9d2 (diff)
downloadhardware_libhardware-25b68b5c24e443c326af73a33cea6dc45e845254.zip
hardware_libhardware-25b68b5c24e443c326af73a33cea6dc45e845254.tar.gz
hardware_libhardware-25b68b5c24e443c326af73a33cea6dc45e845254.tar.bz2
gralloc: Add support for 32-bit framebuffers.
Note: The code under hardware/libhardware/modules/gralloc/ is only used when running the system under the emulator. Change-Id: I022978aeaacc5137c9917cd2ef6952dd3897ece4
Diffstat (limited to 'modules/gralloc')
-rw-r--r--modules/gralloc/framebuffer.cpp18
1 files changed, 4 insertions, 14 deletions
diff --git a/modules/gralloc/framebuffer.cpp b/modules/gralloc/framebuffer.cpp
index 59c5001..e1323c2 100644
--- a/modules/gralloc/framebuffer.cpp
+++ b/modules/gralloc/framebuffer.cpp
@@ -177,19 +177,6 @@ int mapFrameBufferLocked(struct private_module_t* module)
info.activate = FB_ACTIVATE_NOW;
/*
- * Explicitly request 5/6/5
- */
- info.bits_per_pixel = 16;
- info.red.offset = 11;
- info.red.length = 5;
- info.green.offset = 5;
- info.green.length = 6;
- info.blue.offset = 0;
- info.blue.length = 5;
- info.transp.offset = 0;
- info.transp.length = 0;
-
- /*
* Request NUM_BUFFERS screens (at lest 2 for page flipping)
*/
info.yres_virtual = info.yres * NUM_BUFFERS;
@@ -352,11 +339,14 @@ int fb_device_open(hw_module_t const* module, const char* name,
status = mapFrameBuffer(m);
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
+ : HAL_PIXEL_FORMAT_RGB_565;
const_cast<uint32_t&>(dev->device.flags) = 0;
const_cast<uint32_t&>(dev->device.width) = m->info.xres;
const_cast<uint32_t&>(dev->device.height) = m->info.yres;
const_cast<int&>(dev->device.stride) = stride;
- const_cast<int&>(dev->device.format) = HAL_PIXEL_FORMAT_RGB_565;
+ const_cast<int&>(dev->device.format) = format;
const_cast<float&>(dev->device.xdpi) = m->xdpi;
const_cast<float&>(dev->device.ydpi) = m->ydpi;
const_cast<float&>(dev->device.fps) = m->fps;