From 8499b08b9a16aa0e9e8e90582e8fcfd92b1ae3b1 Mon Sep 17 00:00:00 2001 From: Kra1o5 Date: Wed, 14 Oct 2015 18:22:42 +0200 Subject: Add support for RGBA_8888 pixel format Change-Id: I56c6e55409e56d5574221bc2e39d31756549caad --- minui/Android.mk | 6 ++++++ minui/graphics.c | 12 ++++++++++++ minui/graphics_overlay.c | 2 ++ 3 files changed, 20 insertions(+) (limited to 'minui') diff --git a/minui/Android.mk b/minui/Android.mk index 7d8e3a7f3..d21f1304a 100644 --- a/minui/Android.mk +++ b/minui/Android.mk @@ -41,6 +41,9 @@ LOCAL_MODULE := libminui # ordinary characters in this context). Strip double-quotes from the # value so that either will work. +ifeq ($(subst ",,$(TARGET_RECOVERY_PIXEL_FORMAT)),RGBA_8888) + LOCAL_CFLAGS += -DRECOVERY_RGBA +endif ifeq ($(subst ",,$(TARGET_RECOVERY_PIXEL_FORMAT)),RGBX_8888) LOCAL_CFLAGS += -DRECOVERY_RGBX endif @@ -107,6 +110,9 @@ LOCAL_SHARED_LIBRARIES := libpng libpixelflinger # ordinary characters in this context). Strip double-quotes from the # value so that either will work. +ifeq ($(subst ",,$(TARGET_RECOVERY_PIXEL_FORMAT)),RGBA_8888) + LOCAL_CFLAGS += -DRECOVERY_RGBA +endif ifeq ($(subst ",,$(TARGET_RECOVERY_PIXEL_FORMAT)),RGBX_8888) LOCAL_CFLAGS += -DRECOVERY_RGBX endif diff --git a/minui/graphics.c b/minui/graphics.c index cce02a963..580af297a 100644 --- a/minui/graphics.c +++ b/minui/graphics.c @@ -42,6 +42,9 @@ #if defined(RECOVERY_BGRA) #define PIXEL_FORMAT GGL_PIXEL_FORMAT_BGRA_8888 #define PIXEL_SIZE 4 +#elif defined(RECOVERY_RGBA) +#define PIXEL_FORMAT GGL_PIXEL_FORMAT_RGBA_8888 +#define PIXEL_SIZE 4 #elif defined(RECOVERY_RGBX) #define PIXEL_FORMAT GGL_PIXEL_FORMAT_RGBX_8888 #define PIXEL_SIZE 4 @@ -111,6 +114,15 @@ static int get_framebuffer(GGLSurface *fb) vi.blue.length = 8; vi.transp.offset = 0; vi.transp.length = 8; + } else if (PIXEL_FORMAT == GGL_PIXEL_FORMAT_RGBA_8888) { + vi.red.offset = 0; + vi.red.length = 8; + vi.green.offset = 8; + vi.green.length = 8; + vi.blue.offset = 16; + vi.blue.length = 8; + vi.transp.offset = 24; + vi.transp.length = 8; } else if (PIXEL_FORMAT == GGL_PIXEL_FORMAT_RGBX_8888) { vi.red.offset = 24; vi.red.length = 8; diff --git a/minui/graphics_overlay.c b/minui/graphics_overlay.c index d793b57e6..c42e9c18a 100644 --- a/minui/graphics_overlay.c +++ b/minui/graphics_overlay.c @@ -72,6 +72,8 @@ static int map_mdp_pixel_format() int format = MDP_RGB_565; #if defined(RECOVERY_BGRA) format = MDP_BGRA_8888; +#elif defined(RECOVERY_RGBA) + format = MDP_RGBA_8888; #elif defined(RECOVERY_RGBX) format = MDP_RGBA_8888; #endif -- cgit v1.2.3