From: Emil Velikov <emil.veli...@collabora.com> As said in the EGL_KHR_platform_android extensions
For each EGLConfig that belongs to the Android platform, the EGL_NATIVE_VISUAL_ID attribute is an Android window format, such as WINDOW_FORMAT_RGBA_8888. Although it should be applicable overall. Even though we use HAL_PIXEL_FORMAT here, those are numerically identical to the WINDOW_FORMAT_ and AHARDWAREBUFFER_FORMAT_ ones. Barring the said format of course. That one is only listed in HAL. Keep in mind that even if we try to use the said format, you'll get caught by droid_create_surface(). The function compares the format of the underlying window, against the NATIVE_VISUAL_ID of the config. Unfortunatelly it only prints a warning, rather than error out, likely leading to visual corruption. While SDL will even call ANativeWindow_setBuffersGeometry() with the wrong format, and conviniently ignore the [expected] failure. Cc: mesa-sta...@lists.freedesktop.org Cc: Chad Versace <chadvers...@google.com> Cc: Tomasz Figa <tf...@chromium.org> Signed-off-by: Emil Velikov <emil.veli...@collabora.com> --- I'm about 99.99% sure the above is correct, but I haven't tested it. --- src/egl/drivers/dri2/platform_android.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/egl/drivers/dri2/platform_android.c b/src/egl/drivers/dri2/platform_android.c index 13006fee873..e909810d678 100644 --- a/src/egl/drivers/dri2/platform_android.c +++ b/src/egl/drivers/dri2/platform_android.c @@ -91,7 +91,6 @@ get_format_bpp(int native) switch (native) { case HAL_PIXEL_FORMAT_RGBA_8888: case HAL_PIXEL_FORMAT_RGBX_8888: - case HAL_PIXEL_FORMAT_BGRA_8888: bpp = 4; break; case HAL_PIXEL_FORMAT_RGB_565: @@ -110,7 +109,6 @@ static int get_fourcc(int native) { switch (native) { case HAL_PIXEL_FORMAT_RGB_565: return __DRI_IMAGE_FOURCC_RGB565; - case HAL_PIXEL_FORMAT_BGRA_8888: return __DRI_IMAGE_FOURCC_ARGB8888; case HAL_PIXEL_FORMAT_RGBA_8888: return __DRI_IMAGE_FOURCC_ABGR8888; case HAL_PIXEL_FORMAT_RGBX_8888: return __DRI_IMAGE_FOURCC_XBGR8888; default: @@ -122,7 +120,6 @@ static int get_fourcc(int native) static int get_format(int format) { switch (format) { - case HAL_PIXEL_FORMAT_BGRA_8888: return __DRI_IMAGE_FORMAT_ARGB8888; case HAL_PIXEL_FORMAT_RGB_565: return __DRI_IMAGE_FORMAT_RGB565; case HAL_PIXEL_FORMAT_RGBA_8888: return __DRI_IMAGE_FORMAT_ABGR8888; case HAL_PIXEL_FORMAT_RGBX_8888: return __DRI_IMAGE_FORMAT_XBGR8888; @@ -1027,7 +1024,6 @@ droid_add_configs_for_visuals(_EGLDriver *drv, _EGLDisplay *dpy) { HAL_PIXEL_FORMAT_RGBA_8888, { 0x000000ff, 0x0000ff00, 0x00ff0000, 0xff000000 } }, { HAL_PIXEL_FORMAT_RGBX_8888, { 0x000000ff, 0x0000ff00, 0x00ff0000, 0x00000000 } }, { HAL_PIXEL_FORMAT_RGB_565, { 0x0000f800, 0x000007e0, 0x0000001f, 0x00000000 } }, - { HAL_PIXEL_FORMAT_BGRA_8888, { 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 } }, }; unsigned int format_count[ARRAY_SIZE(visuals)] = { 0 }; -- 2.13.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev