diff options
-rw-r--r-- | minui.old/Android.mk | 3 | ||||
-rw-r--r-- | minui.old/graphics.c | 12 | ||||
-rw-r--r-- | minui.old/graphics_overlay.c | 2 | ||||
-rw-r--r-- | minui/Android.mk | 3 | ||||
-rw-r--r-- | minui/graphics_adf.cpp | 2 | ||||
-rw-r--r-- | minui/graphics_drm.cpp | 3 | ||||
-rw-r--r-- | minui/graphics_overlay.cpp | 2 | ||||
-rw-r--r-- | minuitwrp/Android.mk | 3 | ||||
-rw-r--r-- | minuitwrp/graphics.c | 15 | ||||
-rw-r--r-- | minuitwrp/graphics_overlay.c | 2 |
10 files changed, 47 insertions, 0 deletions
diff --git a/minui.old/Android.mk b/minui.old/Android.mk index 7d8e3a7f3..6191448b7 100644 --- a/minui.old/Android.mk +++ b/minui.old/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 diff --git a/minui.old/graphics.c b/minui.old/graphics.c index cce02a963..580af297a 100644 --- a/minui.old/graphics.c +++ b/minui.old/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.old/graphics_overlay.c b/minui.old/graphics_overlay.c index d793b57e6..c42e9c18a 100644 --- a/minui.old/graphics_overlay.c +++ b/minui.old/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 diff --git a/minui/Android.mk b/minui/Android.mk index f2170255d..b9cf8adce 100644 --- a/minui/Android.mk +++ b/minui/Android.mk @@ -49,6 +49,9 @@ LOCAL_CLANG := true ifeq ($(subst ",,$(TARGET_RECOVERY_PIXEL_FORMAT)),ABGR_8888) LOCAL_CFLAGS += -DRECOVERY_ABGR endif +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_adf.cpp b/minui/graphics_adf.cpp index 5d0867f58..10e1c4b23 100644 --- a/minui/graphics_adf.cpp +++ b/minui/graphics_adf.cpp @@ -145,6 +145,8 @@ static GRSurface* adf_init(minui_backend *backend) pdata->format = DRM_FORMAT_ABGR8888; #elif defined(RECOVERY_BGRA) pdata->format = DRM_FORMAT_BGRA8888; +#elif defined(RECOVERY_RGBA) + pdata->format = DRM_FORMAT_RGBA8888; #elif defined(RECOVERY_RGBX) pdata->format = DRM_FORMAT_RGBX8888; #else diff --git a/minui/graphics_drm.cpp b/minui/graphics_drm.cpp index 03e33b775..ddda18721 100644 --- a/minui/graphics_drm.cpp +++ b/minui/graphics_drm.cpp @@ -117,6 +117,7 @@ static int drm_format_to_bpp(uint32_t format) { case DRM_FORMAT_RGBX8888: case DRM_FORMAT_BGRX8888: case DRM_FORMAT_XBGR8888: + case DRM_FORMAT_ARGB8888: case DRM_FORMAT_XRGB8888: return 32; case DRM_FORMAT_RGB565: @@ -143,6 +144,8 @@ static drm_surface *drm_create_surface(int width, int height) { format = DRM_FORMAT_RGBA8888; #elif defined(RECOVERY_BGRA) format = DRM_FORMAT_ARGB8888; +#elif defined(RECOVERY_RGBA) + format = DRM_FORMAT_ABGR8888; #elif defined(RECOVERY_RGBX) format = DRM_FORMAT_XBGR8888; #else diff --git a/minui/graphics_overlay.cpp b/minui/graphics_overlay.cpp index 2ba452a0e..978a3bb10 100644 --- a/minui/graphics_overlay.cpp +++ b/minui/graphics_overlay.cpp @@ -82,6 +82,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 diff --git a/minuitwrp/Android.mk b/minuitwrp/Android.mk index 2f30343d0..92043395d 100644 --- a/minuitwrp/Android.mk +++ b/minuitwrp/Android.mk @@ -62,6 +62,9 @@ ifeq ($(TWRP_EVENT_LOGGING), true) LOCAL_CFLAGS += -D_EVENT_LOGGING endif +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/minuitwrp/graphics.c b/minuitwrp/graphics.c index 6dfbc23b5..a3da6cbea 100644 --- a/minuitwrp/graphics.c +++ b/minuitwrp/graphics.c @@ -44,6 +44,10 @@ #define PIXEL_FORMAT GGL_PIXEL_FORMAT_BGRA_8888 #define PIXEL_SIZE 4 #endif +#ifdef RECOVERY_RGBA +#define PIXEL_FORMAT GGL_PIXEL_FORMAT_RGBA_8888 +#define PIXEL_SIZE 4 +#endif #ifdef RECOVERY_RGBX #define PIXEL_FORMAT GGL_PIXEL_FORMAT_RGBX_8888 #define PIXEL_SIZE 4 @@ -199,6 +203,17 @@ 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) { + fprintf(stderr, "Pixel format: RGBA_8888\n"); + if (PIXEL_SIZE != 4) fprintf(stderr, "E: Pixel Size mismatch!\n"); + 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) { fprintf(stderr, "Pixel format: RGBX_8888\n"); if (PIXEL_SIZE != 4) fprintf(stderr, "E: Pixel Size mismatch!\n"); diff --git a/minuitwrp/graphics_overlay.c b/minuitwrp/graphics_overlay.c index 80e64d72b..723ffa2d4 100644 --- a/minuitwrp/graphics_overlay.c +++ b/minuitwrp/graphics_overlay.c @@ -75,6 +75,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 |