From: Rob Herring Date: Wed, 20 Apr 2016 22:39:54 +0000 (-0500) Subject: st/dri: add 32-bit RGBX/RGBA formats X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ccdcf91104a5f07127b5b8d8570b5c4bbcf86647;p=mesa.git st/dri: add 32-bit RGBX/RGBA formats 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 --- 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,