On Thursday 18 April 2013 18:26:58 ville.syrjala@xxxxxxxxxxxxxxx wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Render the crosshairs for 565 and x888/a888 formats. > > v2: Use the drm format to determine cairo format > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > tests/modetest/buffers.c | 26 +++++++++++++++++++++++--- > 1 file changed, 23 insertions(+), 3 deletions(-) > > diff --git a/tests/modetest/buffers.c b/tests/modetest/buffers.c > index 2f3adf8..abacea5 100644 > --- a/tests/modetest/buffers.c > +++ b/tests/modetest/buffers.c > @@ -656,15 +656,32 @@ fill_smpte(const struct format_info *info, void > *planes[3], unsigned int width, #define BLUE 0 > > static void > -make_pwetty(void *data, int width, int height, int stride) > +make_pwetty(void *data, int width, int height, int stride, uint32_t format) > { > #ifdef HAVE_CAIRO > cairo_surface_t *surface; > cairo_t *cr; > int x, y; > + cairo_format_t cairo_format; > + > + /* we can ignore the order of R,G,B channels */ > + switch (format) { > + case DRM_FORMAT_XRGB8888: > + case DRM_FORMAT_ARGB8888: > + case DRM_FORMAT_XBGR8888: > + case DRM_FORMAT_ABGR8888: > + cairo_format = CAIRO_FORMAT_ARGB32; > + break; > + case DRM_FORMAT_RGB565: > + case DRM_FORMAT_BGR565: > + cairo_format = CAIRO_FORMAT_RGB16_565; > + break; > + default: > + return; > + } > > surface = cairo_image_surface_create_for_data(data, > - CAIRO_FORMAT_ARGB32, > + cairo_format, > width, height, > stride); > cr = cairo_create(surface); > @@ -774,6 +791,7 @@ fill_tiles_rgb16(const struct format_info *info, > unsigned char *mem, unsigned int width, unsigned int height, unsigned int > stride) > { > const struct rgb_info *rgb = &info->rgb; > + unsigned char *mem_base = mem; > unsigned int x, y; > > for (y = 0; y < height; ++y) { > @@ -790,6 +808,8 @@ fill_tiles_rgb16(const struct format_info *info, > unsigned char *mem, } > mem += stride; > } > + > + make_pwetty(mem_base, width, height, stride, info->format); > } > > static void > @@ -837,7 +857,7 @@ fill_tiles_rgb32(const struct format_info *info, > unsigned char *mem, mem += stride; > } > > - make_pwetty(mem_base, width, height, stride); > + make_pwetty(mem_base, width, height, stride, info->format); > } > > static void -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel