From ccdcf91104a5f07127b5b8d8570b5c4bbcf86647 Mon Sep 17 00:00:00 2001 From: Rob Herring Date: Wed, 20 Apr 2016 17:39:54 -0500 Subject: [PATCH] st/dri: add 32-bit RGBX/RGBA formats MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Add support for 32-bit RGBX/RGBA formats which are preferred for Android. Signed-off-by: Rob Herring Reviewed-by: Marek Olšák Reviewed-by: Eric Anholt --- src/gallium/state_trackers/dri/dri2.c | 6 ++++++ src/gallium/state_trackers/dri/dri_screen.c | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c index 675a9bb21cf..9d948a26fc3 100644 --- a/src/gallium/state_trackers/dri/dri2.c +++ b/src/gallium/state_trackers/dri/dri2.c @@ -120,6 +120,9 @@ static enum pipe_format dri2_format_to_pipe_format (int format) case __DRI_IMAGE_FORMAT_ARGB8888: pf = PIPE_FORMAT_BGRA8888_UNORM; break; + case __DRI_IMAGE_FORMAT_XBGR8888: + pf = PIPE_FORMAT_RGBX8888_UNORM; + break; case __DRI_IMAGE_FORMAT_ABGR8888: pf = PIPE_FORMAT_RGBA8888_UNORM; break; @@ -297,6 +300,9 @@ dri_image_drawable_get_buffers(struct dri_drawable *drawable, case PIPE_FORMAT_BGRA8888_UNORM: image_format = __DRI_IMAGE_FORMAT_ARGB8888; break; + case PIPE_FORMAT_RGBX8888_UNORM: + image_format = __DRI_IMAGE_FORMAT_XBGR8888; + break; case PIPE_FORMAT_RGBA8888_UNORM: image_format = __DRI_IMAGE_FORMAT_ABGR8888; break; diff --git a/src/gallium/state_trackers/dri/dri_screen.c b/src/gallium/state_trackers/dri/dri_screen.c index 2ac55c88926..2856ec05355 100644 --- a/src/gallium/state_trackers/dri/dri_screen.c +++ b/src/gallium/state_trackers/dri/dri_screen.c @@ -104,6 +104,8 @@ static const __DRIconfig ** dri_fill_in_modes(struct dri_screen *screen) { static const mesa_format mesa_formats[] = { + MESA_FORMAT_R8G8B8A8_UNORM, + MESA_FORMAT_R8G8B8X8_UNORM, MESA_FORMAT_B8G8R8A8_UNORM, MESA_FORMAT_B8G8R8X8_UNORM, MESA_FORMAT_B8G8R8A8_SRGB, @@ -111,6 +113,8 @@ dri_fill_in_modes(struct dri_screen *screen) MESA_FORMAT_B5G6R5_UNORM, }; static const enum pipe_format pipe_formats[] = { + PIPE_FORMAT_RGBA8888_UNORM, + PIPE_FORMAT_RGBX8888_UNORM, PIPE_FORMAT_BGRA8888_UNORM, PIPE_FORMAT_BGRX8888_UNORM, PIPE_FORMAT_BGRA8888_SRGB, -- 2.30.2