From fd0082c47ecf1028bbb9e1e0dbc20173a3174772 Mon Sep 17 00:00:00 2001 From: Sean V Kelley Date: Tue, 24 Apr 2012 07:49:10 -0700 Subject: [PATCH] i965: Support Android RGBX8888 format for EGL generated images Enabled MESA_FORMAT_RGBX8888_REV for RGBX. Android software requires RGBX8888 format to be supported for software rendering. That requires EGL to be capable of generating images from this format. Signed-off-by: Sean V Kelley Signed-off-by: Chad Versace --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 2 ++ src/mesa/drivers/dri/intel/intel_screen.c | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index 69af0eecee1..8983195d7d0 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -291,6 +291,8 @@ brw_format_for_mesa_format(gl_format mesa_format) [MESA_FORMAT_RGBA8888_REV] = BRW_SURFACEFORMAT_R8G8B8A8_UNORM, [MESA_FORMAT_ARGB8888] = BRW_SURFACEFORMAT_B8G8R8A8_UNORM, [MESA_FORMAT_ARGB8888_REV] = 0, + [MESA_FORMAT_RGBX8888] = 0, + [MESA_FORMAT_RGBX8888_REV] = BRW_SURFACEFORMAT_R8G8B8X8_UNORM, [MESA_FORMAT_XRGB8888] = BRW_SURFACEFORMAT_B8G8R8X8_UNORM, [MESA_FORMAT_XRGB8888_REV] = 0, [MESA_FORMAT_RGB888] = 0, diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index ac6b22f7e06..9db56064bea 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -211,6 +211,11 @@ intel_create_image_from_name(__DRIscreen *screen, image->internal_format = GL_RGBA; image->data_type = GL_UNSIGNED_BYTE; break; + case __DRI_IMAGE_FORMAT_XBGR8888: + image->format = MESA_FORMAT_RGBX8888_REV; + image->internal_format = GL_RGB; + image->data_type = GL_UNSIGNED_BYTE; + break; default: free(image); return NULL; @@ -327,6 +332,11 @@ intel_create_image(__DRIscreen *screen, image->internal_format = GL_RGBA; image->data_type = GL_UNSIGNED_BYTE; break; + case __DRI_IMAGE_FORMAT_XBGR8888: + image->format = MESA_FORMAT_RGBX8888_REV; + image->internal_format = GL_RGB; + image->data_type = GL_UNSIGNED_BYTE; + break; default: free(image); return NULL; -- 2.30.2