diff options
author | Rob Herring <[email protected]> | 2016-04-20 17:39:54 -0500 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2016-04-21 14:45:53 +0100 |
commit | ccdcf91104a5f07127b5b8d8570b5c4bbcf86647 (patch) | |
tree | b655bd8592f4998cd584c49ba801dfe4d616b0e7 | |
parent | 3b69076435029eb2881863c29afb796872645043 (diff) |
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 <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
-rw-r--r-- | src/gallium/state_trackers/dri/dri2.c | 6 | ||||
-rw-r--r-- | src/gallium/state_trackers/dri/dri_screen.c | 4 |
2 files changed, 10 insertions, 0 deletions
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, |