Add support for RGBA_8888 pixel format
Change-Id: Ia15d49e51cad5bc8a3291975e1ff515a2b1c419c
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user