diff --git a/src/gallium/frontends/dri/dri_helpers.c b/src/gallium/frontends/dri/dri_helpers.c index 1b0ed83043d..9e12bb21981 100644 --- a/src/gallium/frontends/dri/dri_helpers.c +++ b/src/gallium/frontends/dri/dri_helpers.c @@ -409,79 +409,62 @@ dri2_create_from_texture(struct dri_context *dri_ctx, int target, unsigned textu } static const struct dri2_format_mapping dri2_format_table[] = { - { DRM_FORMAT_ABGR16161616F, __DRI_IMAGE_FORMAT_ABGR16161616F, - PIPE_FORMAT_R16G16B16A16_FLOAT, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_ABGR16161616F } } }, - { DRM_FORMAT_XBGR16161616F, __DRI_IMAGE_FORMAT_XBGR16161616F, - PIPE_FORMAT_R16G16B16X16_FLOAT, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_XBGR16161616F } } }, - { DRM_FORMAT_ABGR16161616, __DRI_IMAGE_FORMAT_ABGR16161616, - PIPE_FORMAT_R16G16B16A16_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_ABGR16161616 } } }, - { DRM_FORMAT_XBGR16161616, __DRI_IMAGE_FORMAT_XBGR16161616, - PIPE_FORMAT_R16G16B16X16_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_XBGR16161616 } } }, - { DRM_FORMAT_ARGB2101010, __DRI_IMAGE_FORMAT_ARGB2101010, - PIPE_FORMAT_B10G10R10A2_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_ARGB2101010 } } }, - { DRM_FORMAT_XRGB2101010, __DRI_IMAGE_FORMAT_XRGB2101010, - PIPE_FORMAT_B10G10R10X2_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_XRGB2101010 } } }, - { DRM_FORMAT_ABGR2101010, __DRI_IMAGE_FORMAT_ABGR2101010, - PIPE_FORMAT_R10G10B10A2_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_ABGR2101010 } } }, - { DRM_FORMAT_XBGR2101010, __DRI_IMAGE_FORMAT_XBGR2101010, - PIPE_FORMAT_R10G10B10X2_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_XBGR2101010 } } }, - { DRM_FORMAT_ARGB8888, __DRI_IMAGE_FORMAT_ARGB8888, - PIPE_FORMAT_BGRA8888_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_ARGB8888 } } }, - { DRM_FORMAT_ABGR8888, __DRI_IMAGE_FORMAT_ABGR8888, - PIPE_FORMAT_RGBA8888_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_ABGR8888 } } }, - { __DRI_IMAGE_FOURCC_SARGB8888, __DRI_IMAGE_FORMAT_SARGB8, - PIPE_FORMAT_BGRA8888_SRGB, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_SARGB8 } } }, - { DRM_FORMAT_XRGB8888, __DRI_IMAGE_FORMAT_XRGB8888, - PIPE_FORMAT_BGRX8888_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_XRGB8888 } } }, - { DRM_FORMAT_RGB888, __DRI_IMAGE_FORMAT_RGB888, - PIPE_FORMAT_B8G8R8_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_RGB888 } } }, - { DRM_FORMAT_XBGR8888, __DRI_IMAGE_FORMAT_XBGR8888, - PIPE_FORMAT_RGBX8888_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_XBGR8888 } } }, - { DRM_FORMAT_BGR888, __DRI_IMAGE_FORMAT_BGR888, - PIPE_FORMAT_R8G8B8_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_BGR888 } } }, - { DRM_FORMAT_ARGB1555, __DRI_IMAGE_FORMAT_ARGB1555, - PIPE_FORMAT_B5G5R5A1_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_ARGB1555 } } }, - { DRM_FORMAT_ABGR1555, __DRI_IMAGE_FORMAT_ABGR1555, - PIPE_FORMAT_R5G5B5A1_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_ABGR1555 } } }, - { DRM_FORMAT_ARGB4444, __DRI_IMAGE_FORMAT_ARGB4444, - PIPE_FORMAT_B4G4R4A4_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_ARGB4444 } } }, - { DRM_FORMAT_ABGR4444, __DRI_IMAGE_FORMAT_ABGR4444, - PIPE_FORMAT_R4G4B4A4_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_ABGR4444 } } }, - { DRM_FORMAT_RGB565, __DRI_IMAGE_FORMAT_RGB565, - PIPE_FORMAT_B5G6R5_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_RGB565 } } }, - { DRM_FORMAT_R8, __DRI_IMAGE_FORMAT_R8, - PIPE_FORMAT_R8_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_R8 } } }, - { DRM_FORMAT_R16, __DRI_IMAGE_FORMAT_R16, - PIPE_FORMAT_R16_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_R16 } } }, - { DRM_FORMAT_GR88, __DRI_IMAGE_FORMAT_GR88, - PIPE_FORMAT_RG88_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_GR88 } } }, - { DRM_FORMAT_GR1616, __DRI_IMAGE_FORMAT_GR1616, - PIPE_FORMAT_RG1616_UNORM, 1, - { { 0, 0, 0, __DRI_IMAGE_FORMAT_GR1616 } } }, + /* + * RGB formats: + */ + { DRM_FORMAT_ABGR16161616F, __DRI_IMAGE_FORMAT_ABGR16161616F, + PIPE_FORMAT_R16G16B16A16_FLOAT, 1, }, + { DRM_FORMAT_XBGR16161616F, __DRI_IMAGE_FORMAT_XBGR16161616F, + PIPE_FORMAT_R16G16B16X16_FLOAT, 1, }, + { DRM_FORMAT_ABGR16161616, __DRI_IMAGE_FORMAT_ABGR16161616, + PIPE_FORMAT_R16G16B16A16_UNORM, 1, }, + { DRM_FORMAT_XBGR16161616, __DRI_IMAGE_FORMAT_XBGR16161616, + PIPE_FORMAT_R16G16B16X16_UNORM, 1, }, + { DRM_FORMAT_ARGB2101010, __DRI_IMAGE_FORMAT_ARGB2101010, + PIPE_FORMAT_B10G10R10A2_UNORM, 1, }, + { DRM_FORMAT_XRGB2101010, __DRI_IMAGE_FORMAT_XRGB2101010, + PIPE_FORMAT_B10G10R10X2_UNORM, 1, }, + { DRM_FORMAT_ABGR2101010, __DRI_IMAGE_FORMAT_ABGR2101010, + PIPE_FORMAT_R10G10B10A2_UNORM, 1, }, + { DRM_FORMAT_XBGR2101010, __DRI_IMAGE_FORMAT_XBGR2101010, + PIPE_FORMAT_R10G10B10X2_UNORM, 1, }, + { DRM_FORMAT_ARGB8888, __DRI_IMAGE_FORMAT_ARGB8888, + PIPE_FORMAT_BGRA8888_UNORM, 1, }, + { DRM_FORMAT_ABGR8888, __DRI_IMAGE_FORMAT_ABGR8888, + PIPE_FORMAT_RGBA8888_UNORM, 1, }, + { __DRI_IMAGE_FOURCC_SARGB8888, __DRI_IMAGE_FORMAT_SARGB8, + PIPE_FORMAT_BGRA8888_SRGB, 1, }, + { DRM_FORMAT_XRGB8888, __DRI_IMAGE_FORMAT_XRGB8888, + PIPE_FORMAT_BGRX8888_UNORM, 1, }, + { DRM_FORMAT_RGB888, __DRI_IMAGE_FORMAT_RGB888, + PIPE_FORMAT_B8G8R8_UNORM, 1, }, + { DRM_FORMAT_XBGR8888, __DRI_IMAGE_FORMAT_XBGR8888, + PIPE_FORMAT_RGBX8888_UNORM, 1, }, + { DRM_FORMAT_BGR888, __DRI_IMAGE_FORMAT_BGR888, + PIPE_FORMAT_R8G8B8_UNORM, 1, }, + { DRM_FORMAT_ARGB1555, __DRI_IMAGE_FORMAT_ARGB1555, + PIPE_FORMAT_B5G5R5A1_UNORM, 1, }, + { DRM_FORMAT_ABGR1555, __DRI_IMAGE_FORMAT_ABGR1555, + PIPE_FORMAT_R5G5B5A1_UNORM, 1, }, + { DRM_FORMAT_ARGB4444, __DRI_IMAGE_FORMAT_ARGB4444, + PIPE_FORMAT_B4G4R4A4_UNORM, 1, }, + { DRM_FORMAT_ABGR4444, __DRI_IMAGE_FORMAT_ABGR4444, + PIPE_FORMAT_R4G4B4A4_UNORM, 1, }, + { DRM_FORMAT_RGB565, __DRI_IMAGE_FORMAT_RGB565, + PIPE_FORMAT_B5G6R5_UNORM, 1, }, + { DRM_FORMAT_R8, __DRI_IMAGE_FORMAT_R8, + PIPE_FORMAT_R8_UNORM, 1, }, + { DRM_FORMAT_R16, __DRI_IMAGE_FORMAT_R16, + PIPE_FORMAT_R16_UNORM, 1, }, + { DRM_FORMAT_GR88, __DRI_IMAGE_FORMAT_GR88, + PIPE_FORMAT_RG88_UNORM, 1, }, + { DRM_FORMAT_GR1616, __DRI_IMAGE_FORMAT_GR1616, + PIPE_FORMAT_RG1616_UNORM, 1, }, + + /* + * YUV formats: + */ { DRM_FORMAT_YUV410, __DRI_IMAGE_FORMAT_NONE, PIPE_FORMAT_IYUV, 3, { { 0, 0, 0, __DRI_IMAGE_FORMAT_R8 },