Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2b22734 authored by Alberto96's avatar Alberto96 Committed by Ethan Chen
Browse files

egl: Add support for BGRA_8888 format

* Select with BOARD_USE_BGRA_8888 flag

Change-Id: I79a5a9edfef9c264eeeb9807797d03208f9bdbd7
parent 974ff062
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -70,6 +70,10 @@ ifneq ($(MAX_EGL_CACHE_SIZE),)
  LOCAL_CFLAGS += -DMAX_EGL_CACHE_SIZE=$(MAX_EGL_CACHE_SIZE)
endif

ifeq ($(BOARD_USE_BGRA_8888),true)
  LOCAL_CFLAGS += -DUSE_BGRA_8888=1
endif

LOCAL_REQUIRED_MODULES := $(egl.cfg_config_module)
egl.cfg_config_module :=

+8 −0
Original line number Diff line number Diff line
@@ -450,13 +450,21 @@ EGLSurface eglCreateWindowSurface( EGLDisplay dpy, EGLConfig config,
        }
#else
        // by default, just pick RGBA_8888
#ifdef USE_BGRA_8888
        EGLine format = HAL_PIXEL_FORMAT_BGRA_8888;
#else
        EGLint format = HAL_PIXEL_FORMAT_RGBA_8888;
#endif

        EGLint a = 0;
        cnx->egl.eglGetConfigAttrib(iDpy, config, EGL_ALPHA_SIZE, &a);
        if (a > 0) {
            // alpha-channel requested, there's really only one suitable format
#ifdef USE_BGRA_8888
            format = HAL_PIXEL_FORMAT_BGRA_8888;
#else
            format = HAL_PIXEL_FORMAT_RGBA_8888;
#endif
        } else {
            EGLint r, g, b;
            r = g = b = 0;