case DRM_FORMAT_ABGR2101010:
case DRM_FORMAT_RGBA1010102:
case DRM_FORMAT_BGRA1010102:
+ case DRM_FORMAT_ABGR16161616:
+ case DRM_FORMAT_XBGR16161616:
case DRM_FORMAT_XBGR16161616F:
case DRM_FORMAT_ABGR16161616F:
case DRM_FORMAT_YUYV:
{ DRM_FORMAT_ABGR16161616, __DRI_IMAGE_FORMAT_ABGR16161616,
__DRI_IMAGE_COMPONENTS_RGBA, PIPE_FORMAT_R16G16B16A16_UNORM, 1,
{ { 0, 0, 0, __DRI_IMAGE_FORMAT_ABGR16161616 } } },
+ { DRM_FORMAT_XBGR16161616, __DRI_IMAGE_FORMAT_XBGR16161616,
+ __DRI_IMAGE_COMPONENTS_RGB, PIPE_FORMAT_R16G16B16X16_UNORM, 1,
+ { { 0, 0, 0, __DRI_IMAGE_FORMAT_XBGR16161616 } } },
{ DRM_FORMAT_ARGB2101010, __DRI_IMAGE_FORMAT_ARGB2101010,
__DRI_IMAGE_COMPONENTS_RGBA, PIPE_FORMAT_B10G10R10A2_UNORM, 1,
{ { 0, 0, 0, __DRI_IMAGE_FORMAT_ARGB2101010 } } },
const struct dri2_format_mapping *map = &dri2_format_table[i];
/* The sRGB format is not a real FourCC as defined by drm_fourcc.h, so we
- * must not leak it out to clients. The ABGR16161616 format wasn't
- * real until recently. Don't leak it out for now.
- */
- if (dri2_format_table[i].dri_fourcc == __DRI_IMAGE_FOURCC_SARGB8888 ||
- dri2_format_table[i].dri_fourcc == DRM_FORMAT_ABGR16161616)
+ * must not leak it out to clients. */
+ if (dri2_format_table[i].dri_fourcc == __DRI_IMAGE_FOURCC_SARGB8888)
continue;
if (pscreen->is_format_supported(pscreen, map->pipe_format,
.internal_format = GL_RGBA16F,
},
{
+ .image_format = __DRI_IMAGE_FORMAT_ABGR16161616,
+ .mesa_format = MESA_FORMAT_RGBA_UNORM16,
+ .internal_format = GL_RGBA16,
+ },
+ {
+ .image_format = __DRI_IMAGE_FORMAT_XBGR16161616,
+ .mesa_format = MESA_FORMAT_RGBX_UNORM16,
+ .internal_format = GL_RGBA16,
+ },
+ {
.image_format = __DRI_IMAGE_FORMAT_ARGB2101010,
.mesa_format = MESA_FORMAT_B10G10R10A2_UNORM,
.internal_format = GL_RGB10_A2,
case __DRI_IMAGE_FORMAT_SABGR8:
case __DRI_IMAGE_FORMAT_SXRGB8:
return 4;
+ case __DRI_IMAGE_FORMAT_ABGR16161616:
+ case __DRI_IMAGE_FORMAT_XBGR16161616:
case __DRI_IMAGE_FORMAT_XBGR16161616F:
case __DRI_IMAGE_FORMAT_ABGR16161616F:
return 8;
case __DRI_IMAGE_FORMAT_ARGB2101010: return DRM_FORMAT_ARGB2101010;
case __DRI_IMAGE_FORMAT_XBGR2101010: return DRM_FORMAT_XBGR2101010;
case __DRI_IMAGE_FORMAT_ABGR2101010: return DRM_FORMAT_ABGR2101010;
+ case __DRI_IMAGE_FORMAT_ABGR16161616: return DRM_FORMAT_ABGR16161616;
+ case __DRI_IMAGE_FORMAT_XBGR16161616: return DRM_FORMAT_XBGR16161616;
case __DRI_IMAGE_FORMAT_XBGR16161616F: return DRM_FORMAT_XBGR16161616F;
case __DRI_IMAGE_FORMAT_ABGR16161616F: return DRM_FORMAT_ABGR16161616F;
}