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
| #define __DRI_IMAGE_FORMAT_UYVY 0x1013 | #define __DRI_IMAGE_FORMAT_UYVY 0x1013 | ||||
| #define __DRI_IMAGE_FORMAT_XBGR16161616F 0x1014 | #define __DRI_IMAGE_FORMAT_XBGR16161616F 0x1014 | ||||
| #define __DRI_IMAGE_FORMAT_ABGR16161616F 0x1015 | #define __DRI_IMAGE_FORMAT_ABGR16161616F 0x1015 | ||||
| #define __DRI_IMAGE_FORMAT_SXRGB8 0x1016 | |||||
| #define __DRI_IMAGE_USE_SHARE 0x0001 | #define __DRI_IMAGE_USE_SHARE 0x0001 | ||||
| #define __DRI_IMAGE_USE_SCANOUT 0x0002 | #define __DRI_IMAGE_USE_SCANOUT 0x0002 | ||||
| #define __DRI_IMAGE_FOURCC_SARGB8888 0x83324258 | #define __DRI_IMAGE_FOURCC_SARGB8888 0x83324258 | ||||
| #define __DRI_IMAGE_FOURCC_SABGR8888 0x84324258 | #define __DRI_IMAGE_FOURCC_SABGR8888 0x84324258 | ||||
| #define __DRI_IMAGE_FOURCC_SXRGB8888 0x85324258 | |||||
| /** | /** | ||||
| * Queryable on images created by createImageFromNames. | * Queryable on images created by createImageFromNames. |
| case __DRI_IMAGE_FORMAT_ABGR2101010: | case __DRI_IMAGE_FORMAT_ABGR2101010: | ||||
| case __DRI_IMAGE_FORMAT_SARGB8: | case __DRI_IMAGE_FORMAT_SARGB8: | ||||
| case __DRI_IMAGE_FORMAT_SABGR8: | case __DRI_IMAGE_FORMAT_SABGR8: | ||||
| case __DRI_IMAGE_FORMAT_SXRGB8: | |||||
| return 4; | return 4; | ||||
| case __DRI_IMAGE_FORMAT_XBGR16161616F: | case __DRI_IMAGE_FORMAT_XBGR16161616F: | ||||
| case __DRI_IMAGE_FORMAT_ABGR16161616F: | case __DRI_IMAGE_FORMAT_ABGR16161616F: | ||||
| switch (format) { | switch (format) { | ||||
| case __DRI_IMAGE_FORMAT_SARGB8: return __DRI_IMAGE_FOURCC_SARGB8888; | case __DRI_IMAGE_FORMAT_SARGB8: return __DRI_IMAGE_FOURCC_SARGB8888; | ||||
| case __DRI_IMAGE_FORMAT_SABGR8: return __DRI_IMAGE_FOURCC_SABGR8888; | 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_RGB565: return DRM_FORMAT_RGB565; | ||||
| case __DRI_IMAGE_FORMAT_XRGB8888: return DRM_FORMAT_XRGB8888; | case __DRI_IMAGE_FORMAT_XRGB8888: return DRM_FORMAT_XRGB8888; | ||||
| case __DRI_IMAGE_FORMAT_ARGB8888: return DRM_FORMAT_ARGB8888; | case __DRI_IMAGE_FORMAT_ARGB8888: return DRM_FORMAT_ARGB8888; |
| .image_format = __DRI_IMAGE_FORMAT_SARGB8, | .image_format = __DRI_IMAGE_FORMAT_SARGB8, | ||||
| .mesa_format = MESA_FORMAT_B8G8R8A8_SRGB, | .mesa_format = MESA_FORMAT_B8G8R8A8_SRGB, | ||||
| }, | }, | ||||
| { | |||||
| .image_format = __DRI_IMAGE_FORMAT_SXRGB8, | |||||
| .mesa_format = MESA_FORMAT_B8G8R8X8_SRGB, | |||||
| }, | |||||
| { | { | ||||
| .image_format = __DRI_IMAGE_FORMAT_R16, | .image_format = __DRI_IMAGE_FORMAT_R16, | ||||
| .mesa_format = MESA_FORMAT_R_UNORM16, | .mesa_format = MESA_FORMAT_R_UNORM16, |