[igt-dev] [PATCH v7 09/14] fb: Add more formats

Ville Syrjälä ville.syrjala at linux.intel.com
Wed Sep 19 13:14:22 UTC 2018


On Tue, Sep 11, 2018 at 10:47:36AM +0200, Maxime Ripard wrote:
> We're going to need some DRM formats, and we're going to need the igt_fb
> code to handle them. Since it relies on the format_desc structure to map
> the DRM fourcc to the pixman and cairo formats, we need to add these new
> formats to that structure.
> 
> Reviewed-by: Eric Anholt <eric at anholt.net>
> Signed-off-by: Maxime Ripard <maxime.ripard at bootlin.com>
> ---
>  lib/igt_fb.c | 35 +++++++++++++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
> 
> diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> index f83ad0d2679c..425f98e23380 100644
> --- a/lib/igt_fb.c
> +++ b/lib/igt_fb.c
> @@ -72,16 +72,46 @@ static struct format_desc_struct {
>  	int num_planes;
>  	int plane_bpp[4];
>  } format_desc[] = {
> +	{ .name = "ARGB1555", .depth = 16, .drm_id = DRM_FORMAT_ARGB1555,
> +	  .cairo_id = CAIRO_FORMAT_INVALID,
> +	  .pixman_id = PIXMAN_a1r5g5b5,
> +	  .num_planes = 1, .plane_bpp = { 16, },
> +	},
> +	{ .name = "XRGB1555", .depth = 15, .drm_id = DRM_FORMAT_XRGB1555,
> +	  .cairo_id = CAIRO_FORMAT_INVALID,
> +	  .pixman_id = PIXMAN_x1r5g5b5,
> +	  .num_planes = 1, .plane_bpp = { 16, },
> +	},

I think this is going to mess up the depth->format behaviour that
bunch of tests expect. So nak on adding .depth to these.

>  	{ .name = "RGB565", .depth = 16, .drm_id = DRM_FORMAT_RGB565,
>  	  .cairo_id = CAIRO_FORMAT_RGB16_565,
>  	  .pixman_id = PIXMAN_r5g6b5,
>  	  .num_planes = 1, .plane_bpp = { 16, },
>  	},
> +	{ .name = "BGR565", .depth = 16, .drm_id = DRM_FORMAT_BGR565,
> +	  .cairo_id = CAIRO_FORMAT_INVALID,
> +	  .pixman_id = PIXMAN_b5g6r5,
> +	  .num_planes = 1, .plane_bpp = { 16, },
> +	},
> +	{ .name = "BGR888", .depth = 24, .drm_id = DRM_FORMAT_BGR888,
> +	  .cairo_id = CAIRO_FORMAT_INVALID,
> +	  .pixman_id = PIXMAN_b8g8r8,
> +	  .num_planes = 1, .plane_bpp = { 24, },
> +	},
> +	{ .name = "RGB888", .depth = 24, .drm_id = DRM_FORMAT_RGB888,
> +	  .cairo_id = CAIRO_FORMAT_INVALID,
> +	  .pixman_id = PIXMAN_r8g8b8,
> +	  .num_planes = 1, .plane_bpp = { 24, },
> +	},
>  	{ .name = "XRGB8888", .depth = 24, .drm_id = DRM_FORMAT_XRGB8888,
>  	  .cairo_id = CAIRO_FORMAT_RGB24,
>  	  .pixman_id = PIXMAN_x8r8g8b8,
>  	  .num_planes = 1, .plane_bpp = { 32, },
>  	},
> +	{ .name = "XBGR8888", .depth = 24, .drm_id = DRM_FORMAT_XBGR8888,
> +	  .cairo_id = CAIRO_FORMAT_INVALID,
> +	  .pixman_id = PIXMAN_x8b8g8r8,
> +	  .num_planes = 1, .plane_bpp = { 32, },
> +	},
>  	{ .name = "XRGB2101010", .depth = 30, .drm_id = DRM_FORMAT_XRGB2101010,
>  	  .cairo_id = CAIRO_FORMAT_RGB30,
>  	  .pixman_id = PIXMAN_x2r10g10b10,
> @@ -92,6 +122,11 @@ static struct format_desc_struct {
>  	  .pixman_id = PIXMAN_a8r8g8b8,
>  	  .num_planes = 1, .plane_bpp = { 32, },
>  	},
> +	{ .name = "ABGR8888", .depth = 24, .drm_id = DRM_FORMAT_ABGR8888,
> +	  .cairo_id = CAIRO_FORMAT_INVALID,
> +	  .pixman_id = PIXMAN_a8b8g8r8,
> +	  .num_planes = 1, .plane_bpp = { 32, },
> +	},
>  	{ .name = "NV12", .depth = -1, .drm_id = DRM_FORMAT_NV12,
>  	  .cairo_id = CAIRO_FORMAT_RGB24,
>  	  .num_planes = 2, .plane_bpp = { 8, 16, },
> -- 
> git-series 0.9.1

-- 
Ville Syrjälä
Intel


More information about the igt-dev mailing list