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 <robh@kernel.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:

committed by
Emil Velikov

parent
3b69076435
commit
ccdcf91104
@@ -120,6 +120,9 @@ static enum pipe_format dri2_format_to_pipe_format (int format)
|
|||||||
case __DRI_IMAGE_FORMAT_ARGB8888:
|
case __DRI_IMAGE_FORMAT_ARGB8888:
|
||||||
pf = PIPE_FORMAT_BGRA8888_UNORM;
|
pf = PIPE_FORMAT_BGRA8888_UNORM;
|
||||||
break;
|
break;
|
||||||
|
case __DRI_IMAGE_FORMAT_XBGR8888:
|
||||||
|
pf = PIPE_FORMAT_RGBX8888_UNORM;
|
||||||
|
break;
|
||||||
case __DRI_IMAGE_FORMAT_ABGR8888:
|
case __DRI_IMAGE_FORMAT_ABGR8888:
|
||||||
pf = PIPE_FORMAT_RGBA8888_UNORM;
|
pf = PIPE_FORMAT_RGBA8888_UNORM;
|
||||||
break;
|
break;
|
||||||
@@ -297,6 +300,9 @@ dri_image_drawable_get_buffers(struct dri_drawable *drawable,
|
|||||||
case PIPE_FORMAT_BGRA8888_UNORM:
|
case PIPE_FORMAT_BGRA8888_UNORM:
|
||||||
image_format = __DRI_IMAGE_FORMAT_ARGB8888;
|
image_format = __DRI_IMAGE_FORMAT_ARGB8888;
|
||||||
break;
|
break;
|
||||||
|
case PIPE_FORMAT_RGBX8888_UNORM:
|
||||||
|
image_format = __DRI_IMAGE_FORMAT_XBGR8888;
|
||||||
|
break;
|
||||||
case PIPE_FORMAT_RGBA8888_UNORM:
|
case PIPE_FORMAT_RGBA8888_UNORM:
|
||||||
image_format = __DRI_IMAGE_FORMAT_ABGR8888;
|
image_format = __DRI_IMAGE_FORMAT_ABGR8888;
|
||||||
break;
|
break;
|
||||||
|
@@ -104,6 +104,8 @@ static const __DRIconfig **
|
|||||||
dri_fill_in_modes(struct dri_screen *screen)
|
dri_fill_in_modes(struct dri_screen *screen)
|
||||||
{
|
{
|
||||||
static const mesa_format mesa_formats[] = {
|
static const mesa_format mesa_formats[] = {
|
||||||
|
MESA_FORMAT_R8G8B8A8_UNORM,
|
||||||
|
MESA_FORMAT_R8G8B8X8_UNORM,
|
||||||
MESA_FORMAT_B8G8R8A8_UNORM,
|
MESA_FORMAT_B8G8R8A8_UNORM,
|
||||||
MESA_FORMAT_B8G8R8X8_UNORM,
|
MESA_FORMAT_B8G8R8X8_UNORM,
|
||||||
MESA_FORMAT_B8G8R8A8_SRGB,
|
MESA_FORMAT_B8G8R8A8_SRGB,
|
||||||
@@ -111,6 +113,8 @@ dri_fill_in_modes(struct dri_screen *screen)
|
|||||||
MESA_FORMAT_B5G6R5_UNORM,
|
MESA_FORMAT_B5G6R5_UNORM,
|
||||||
};
|
};
|
||||||
static const enum pipe_format pipe_formats[] = {
|
static const enum pipe_format pipe_formats[] = {
|
||||||
|
PIPE_FORMAT_RGBA8888_UNORM,
|
||||||
|
PIPE_FORMAT_RGBX8888_UNORM,
|
||||||
PIPE_FORMAT_BGRA8888_UNORM,
|
PIPE_FORMAT_BGRA8888_UNORM,
|
||||||
PIPE_FORMAT_BGRX8888_UNORM,
|
PIPE_FORMAT_BGRX8888_UNORM,
|
||||||
PIPE_FORMAT_BGRA8888_SRGB,
|
PIPE_FORMAT_BGRA8888_SRGB,
|
||||||
|
Reference in New Issue
Block a user