egl, wayland: RGB565 format support on Back-buffer
authorVivek Kasireddy <vivek.kasireddy@intel.com>
Wed, 11 Feb 2015 03:15:31 +0000 (19:15 -0800)
committerKristian Høgsberg <krh@bitplanet.net>
Mon, 23 Feb 2015 22:07:02 +0000 (14:07 -0800)
commit1e96eece300bbd2dd621a4941a4418222bb4c8e5
tree03db5673c58c93c1fdcdc2dc3f0284263281ae95
parentcbd287f094b4bd7a6030edf97f5330b4c3fa9a5c
egl, wayland: RGB565 format support on Back-buffer

In current code, color format is always hardcoded to
__DRI_IMAGE_FORMAT_ARGB8888 when buffer or DRI image is
allocated in function calls, get_back_bo and dri2_get_buffers,
regardless of current target's color format. This problem
may leads to incorrect render pitch calculation, which
eventually ends up with wrong offset of pixels in
the frame buffer when the image is in different color format
from dri surf's, especially with different bpp. (e.g. RGB565-16bpp)

Attached code patch simply adds RGB565 and XRGB8888 cases to two
functions noted above to resolve the issue.

v2: added a case of XRGB8888, format and bpp selection is done
    via switch-case (not "if-else" anymore)

Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Cc: "10.5" <mesa-stable@lists.freedesktop.org>
src/egl/drivers/dri2/platform_wayland.c