From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH v2 libdrm 2/3] modetest: Make RGB565 pwetty too Date: Thu, 18 Apr 2013 17:30:04 +0200 Message-ID: <1859632.Re8rrHAmLF@avalon> References: <1366298819-27290-1-git-send-email-ville.syrjala@linux.intel.com> <1366298819-27290-2-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [95.142.166.194]) by gabe.freedesktop.org (Postfix) with ESMTP id 006A9E5D0B for ; Thu, 18 Apr 2013 08:29:58 -0700 (PDT) In-Reply-To: <1366298819-27290-2-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: ville.syrjala@linux.intel.com Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org On Thursday 18 April 2013 18:26:58 ville.syrjala@linux.intel.com wrote: > From: Ville Syrj=E4l=E4 > = > Render the crosshairs for 565 and x888/a888 formats. > = > v2: Use the drm format to determine cairo format > = > Signed-off-by: Ville Syrj=E4l=E4 Acked-by: Laurent Pinchart > --- > 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 form= at) > { > #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 =3D CAIRO_FORMAT_ARGB32; > + break; > + case DRM_FORMAT_RGB565: > + case DRM_FORMAT_BGR565: > + cairo_format =3D CAIRO_FORMAT_RGB16_565; > + break; > + default: > + return; > + } > = > surface =3D cairo_image_surface_create_for_data(data, > - CAIRO_FORMAT_ARGB32, > + cairo_format, > width, height, > stride); > cr =3D 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 =3D &info->rgb; > + unsigned char *mem_base =3D mem; > unsigned int x, y; > = > for (y =3D 0; y < height; ++y) { > @@ -790,6 +808,8 @@ fill_tiles_rgb16(const struct format_info *info, > unsigned char *mem, } > mem +=3D 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 +=3D stride; > } > = > - make_pwetty(mem_base, width, height, stride); > + make_pwetty(mem_base, width, height, stride, info->format); > } > = > static void -- = Regards, Laurent Pinchart