mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-11-23 18:24:13 +08:00
dri: Add __DRI_IMAGE_FORMAT_SABGR8
Add format definition and required plumbing to create images. Note that there is no match to drm_fourcc definition, just like with existing _DRI_IMAGE_FOURCC_SARGB8888. Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
4559aefb5c
commit
fa4d4d97f3
@ -1253,6 +1253,7 @@ struct __DRIdri2ExtensionRec {
|
||||
#define __DRI_IMAGE_FORMAT_YUYV 0x100f
|
||||
#define __DRI_IMAGE_FORMAT_XBGR2101010 0x1010
|
||||
#define __DRI_IMAGE_FORMAT_ABGR2101010 0x1011
|
||||
#define __DRI_IMAGE_FORMAT_SABGR8 0x1012
|
||||
|
||||
#define __DRI_IMAGE_USE_SHARE 0x0001
|
||||
#define __DRI_IMAGE_USE_SCANOUT 0x0002
|
||||
@ -1289,6 +1290,7 @@ struct __DRIdri2ExtensionRec {
|
||||
#define __DRI_IMAGE_FOURCC_ABGR8888 0x34324241
|
||||
#define __DRI_IMAGE_FOURCC_XBGR8888 0x34324258
|
||||
#define __DRI_IMAGE_FOURCC_SARGB8888 0x83324258
|
||||
#define __DRI_IMAGE_FOURCC_SABGR8888 0x84324258
|
||||
#define __DRI_IMAGE_FOURCC_ARGB2101010 0x30335241
|
||||
#define __DRI_IMAGE_FOURCC_XRGB2101010 0x30335258
|
||||
#define __DRI_IMAGE_FOURCC_ABGR2101010 0x30334241
|
||||
|
@ -1022,6 +1022,7 @@ dri3_cpp_for_format(uint32_t format) {
|
||||
case __DRI_IMAGE_FORMAT_XBGR2101010:
|
||||
case __DRI_IMAGE_FORMAT_ABGR2101010:
|
||||
case __DRI_IMAGE_FORMAT_SARGB8:
|
||||
case __DRI_IMAGE_FORMAT_SABGR8:
|
||||
return 4;
|
||||
case __DRI_IMAGE_FORMAT_NONE:
|
||||
default:
|
||||
@ -1041,6 +1042,7 @@ image_format_to_fourcc(int format)
|
||||
/* Convert from __DRI_IMAGE_FORMAT to __DRI_IMAGE_FOURCC (sigh) */
|
||||
switch (format) {
|
||||
case __DRI_IMAGE_FORMAT_SARGB8: return __DRI_IMAGE_FOURCC_SARGB8888;
|
||||
case __DRI_IMAGE_FORMAT_SABGR8: return __DRI_IMAGE_FOURCC_SABGR8888;
|
||||
case __DRI_IMAGE_FORMAT_RGB565: return __DRI_IMAGE_FOURCC_RGB565;
|
||||
case __DRI_IMAGE_FORMAT_XRGB8888: return __DRI_IMAGE_FOURCC_XRGB8888;
|
||||
case __DRI_IMAGE_FORMAT_ARGB8888: return __DRI_IMAGE_FOURCC_ARGB8888;
|
||||
|
@ -900,6 +900,8 @@ driGLFormatToImageFormat(mesa_format format)
|
||||
return __DRI_IMAGE_FORMAT_GR88;
|
||||
case MESA_FORMAT_NONE:
|
||||
return __DRI_IMAGE_FORMAT_NONE;
|
||||
case MESA_FORMAT_R8G8B8A8_SRGB:
|
||||
return __DRI_IMAGE_FORMAT_SABGR8;
|
||||
case MESA_FORMAT_B8G8R8A8_SRGB:
|
||||
return __DRI_IMAGE_FORMAT_SARGB8;
|
||||
default:
|
||||
@ -937,6 +939,8 @@ driImageFormatToGLFormat(uint32_t image_format)
|
||||
return MESA_FORMAT_R16G16_UNORM;
|
||||
case __DRI_IMAGE_FORMAT_SARGB8:
|
||||
return MESA_FORMAT_B8G8R8A8_SRGB;
|
||||
case __DRI_IMAGE_FORMAT_SABGR8:
|
||||
return MESA_FORMAT_R8G8B8A8_SRGB;
|
||||
case __DRI_IMAGE_FORMAT_NONE:
|
||||
return MESA_FORMAT_NONE;
|
||||
default:
|
||||
|
@ -208,6 +208,7 @@ driCreateConfigs(mesa_format format,
|
||||
masks = masks_table[2];
|
||||
break;
|
||||
case MESA_FORMAT_R8G8B8A8_UNORM:
|
||||
case MESA_FORMAT_R8G8B8A8_SRGB:
|
||||
masks = masks_table[5];
|
||||
break;
|
||||
case MESA_FORMAT_R8G8B8X8_UNORM:
|
||||
|
Loading…
Reference in New Issue
Block a user