summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKra1o5 <kra1o5x@gmail.com>2015-10-14 18:09:54 +0200
committerEthan Yonker <dees_troy@teamw.in>2015-10-14 20:32:03 +0200
commit7756859abe7db5f5ac099adb08822207ec414149 (patch)
tree6d4b8cce0e8a9fddee8c60df26fb4577e0cf1900
parentAdd qcom overlay graphics support to minui (diff)
downloadandroid_bootable_recovery-7756859abe7db5f5ac099adb08822207ec414149.tar
android_bootable_recovery-7756859abe7db5f5ac099adb08822207ec414149.tar.gz
android_bootable_recovery-7756859abe7db5f5ac099adb08822207ec414149.tar.bz2
android_bootable_recovery-7756859abe7db5f5ac099adb08822207ec414149.tar.lz
android_bootable_recovery-7756859abe7db5f5ac099adb08822207ec414149.tar.xz
android_bootable_recovery-7756859abe7db5f5ac099adb08822207ec414149.tar.zst
android_bootable_recovery-7756859abe7db5f5ac099adb08822207ec414149.zip
-rw-r--r--minui.old/Android.mk3
-rw-r--r--minui.old/graphics.c12
-rw-r--r--minui.old/graphics_overlay.c2
-rw-r--r--minui/Android.mk3
-rw-r--r--minui/graphics_adf.cpp2
-rw-r--r--minui/graphics_drm.cpp3
-rw-r--r--minui/graphics_overlay.cpp2
-rw-r--r--minuitwrp/Android.mk3
-rw-r--r--minuitwrp/graphics.c15
-rw-r--r--minuitwrp/graphics_overlay.c2
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