Add format definition and required plumbing to create images. Cc: <mesa-stable@lists.freedesktop.org> Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3077>master
| @@ -1343,6 +1343,7 @@ struct __DRIdri2ExtensionRec { | |||
| #define __DRI_IMAGE_FORMAT_UYVY 0x1013 | |||
| #define __DRI_IMAGE_FORMAT_XBGR16161616F 0x1014 | |||
| #define __DRI_IMAGE_FORMAT_ABGR16161616F 0x1015 | |||
| #define __DRI_IMAGE_FORMAT_SXRGB8 0x1016 | |||
| #define __DRI_IMAGE_USE_SHARE 0x0001 | |||
| #define __DRI_IMAGE_USE_SCANOUT 0x0002 | |||
| @@ -1370,6 +1371,7 @@ struct __DRIdri2ExtensionRec { | |||
| #define __DRI_IMAGE_FOURCC_SARGB8888 0x83324258 | |||
| #define __DRI_IMAGE_FOURCC_SABGR8888 0x84324258 | |||
| #define __DRI_IMAGE_FOURCC_SXRGB8888 0x85324258 | |||
| /** | |||
| * Queryable on images created by createImageFromNames. | |||
| @@ -1119,6 +1119,7 @@ dri3_cpp_for_format(uint32_t format) { | |||
| case __DRI_IMAGE_FORMAT_ABGR2101010: | |||
| case __DRI_IMAGE_FORMAT_SARGB8: | |||
| case __DRI_IMAGE_FORMAT_SABGR8: | |||
| case __DRI_IMAGE_FORMAT_SXRGB8: | |||
| return 4; | |||
| case __DRI_IMAGE_FORMAT_XBGR16161616F: | |||
| case __DRI_IMAGE_FORMAT_ABGR16161616F: | |||
| @@ -1172,6 +1173,7 @@ image_format_to_fourcc(int format) | |||
| 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_SXRGB8: return __DRI_IMAGE_FOURCC_SXRGB8888; | |||
| case __DRI_IMAGE_FORMAT_RGB565: return DRM_FORMAT_RGB565; | |||
| case __DRI_IMAGE_FORMAT_XRGB8888: return DRM_FORMAT_XRGB8888; | |||
| case __DRI_IMAGE_FORMAT_ARGB8888: return DRM_FORMAT_ARGB8888; | |||
| @@ -950,6 +950,10 @@ static const struct { | |||
| .image_format = __DRI_IMAGE_FORMAT_SARGB8, | |||
| .mesa_format = MESA_FORMAT_B8G8R8A8_SRGB, | |||
| }, | |||
| { | |||
| .image_format = __DRI_IMAGE_FORMAT_SXRGB8, | |||
| .mesa_format = MESA_FORMAT_B8G8R8X8_SRGB, | |||
| }, | |||
| { | |||
| .image_format = __DRI_IMAGE_FORMAT_R16, | |||
| .mesa_format = MESA_FORMAT_R_UNORM16, | |||