From patchwork Thu Apr 18 15:26:57 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?VmlsbGUgU3lyasOkbMOk?= X-Patchwork-Id: 2461391 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by patchwork1.kernel.org (Postfix) with ESMTP id 7C11C3FCA5 for ; Thu, 18 Apr 2013 15:42:25 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 58F02E64EF for ; Thu, 18 Apr 2013 08:42:25 -0700 (PDT) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id B9565E648A for ; Thu, 18 Apr 2013 08:27:02 -0700 (PDT) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP; 18 Apr 2013 08:25:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.87,502,1363158000"; d="scan'208";a="320355429" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.168]) by orsmga002.jf.intel.com with SMTP; 18 Apr 2013 08:26:59 -0700 Received: by stinkbox (sSMTP sendmail emulation); Thu, 18 Apr 2013 18:26:59 +0300 From: ville.syrjala@linux.intel.com To: dri-devel@lists.freedesktop.org Subject: [PATCH libdrm 1/3] modetest: Pass format_info to fill_tiles functions Date: Thu, 18 Apr 2013 18:26:57 +0300 Message-Id: <1366298819-27290-1-git-send-email-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 1.8.1.5 MIME-Version: 1.0 Cc: Laurent Pinchart X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org Errors-To: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org From: Ville Syrjälä The fourcc is inside the format_info structure, so if we want to use it inside the various fill_tiles functions, we need to pass down the whole format_info, not just the rgb/yuv infos. Signed-off-by: Ville Syrjälä Acked-by: Laurent Pinchart --- tests/modetest/buffers.c | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/tests/modetest/buffers.c b/tests/modetest/buffers.c index b249f1f..2f3adf8 100644 --- a/tests/modetest/buffers.c +++ b/tests/modetest/buffers.c @@ -702,11 +702,12 @@ make_pwetty(void *data, int width, int height, int stride) } static void -fill_tiles_yuv_planar(const struct yuv_info *yuv, +fill_tiles_yuv_planar(const struct format_info *info, unsigned char *y_mem, unsigned char *u_mem, unsigned char *v_mem, unsigned int width, unsigned int height, unsigned int stride) { + const struct yuv_info *yuv = &info->yuv; unsigned int cs = yuv->chroma_stride; unsigned int xsub = yuv->xsub; unsigned int ysub = yuv->ysub; @@ -736,10 +737,11 @@ fill_tiles_yuv_planar(const struct yuv_info *yuv, } static void -fill_tiles_yuv_packed(const struct yuv_info *yuv, unsigned char *mem, +fill_tiles_yuv_packed(const struct format_info *info, unsigned char *mem, unsigned int width, unsigned int height, unsigned int stride) { + const struct yuv_info *yuv = &info->yuv; unsigned char *y_mem = (yuv->order & YUV_YC) ? mem : mem + 1; unsigned char *c_mem = (yuv->order & YUV_CY) ? mem : mem + 1; unsigned int u = (yuv->order & YUV_YCrCb) ? 2 : 0; @@ -768,9 +770,10 @@ fill_tiles_yuv_packed(const struct yuv_info *yuv, unsigned char *mem, } static void -fill_tiles_rgb16(const struct rgb_info *rgb, unsigned char *mem, +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 int x, y; for (y = 0; y < height; ++y) { @@ -790,9 +793,10 @@ fill_tiles_rgb16(const struct rgb_info *rgb, unsigned char *mem, } static void -fill_tiles_rgb24(const struct rgb_info *rgb, unsigned char *mem, +fill_tiles_rgb24(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 int x, y; for (y = 0; y < height; ++y) { @@ -811,9 +815,10 @@ fill_tiles_rgb24(const struct rgb_info *rgb, unsigned char *mem, } static void -fill_tiles_rgb32(const struct rgb_info *rgb, unsigned char *mem, +fill_tiles_rgb32(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; @@ -846,7 +851,7 @@ fill_tiles(const struct format_info *info, void *planes[3], unsigned int width, case DRM_FORMAT_VYUY: case DRM_FORMAT_YUYV: case DRM_FORMAT_YVYU: - return fill_tiles_yuv_packed(&info->yuv, planes[0], + return fill_tiles_yuv_packed(info, planes[0], width, height, stride); case DRM_FORMAT_NV12: @@ -855,11 +860,11 @@ fill_tiles(const struct format_info *info, void *planes[3], unsigned int width, case DRM_FORMAT_NV61: u = info->yuv.order & YUV_YCbCr ? planes[1] : planes[1] + 1; v = info->yuv.order & YUV_YCrCb ? planes[1] : planes[1] + 1; - return fill_tiles_yuv_planar(&info->yuv, planes[0], u, v, + return fill_tiles_yuv_planar(info, planes[0], u, v, width, height, stride); case DRM_FORMAT_YVU420: - return fill_tiles_yuv_planar(&info->yuv, planes[0], planes[1], + return fill_tiles_yuv_planar(info, planes[0], planes[1], planes[2], width, height, stride); case DRM_FORMAT_ARGB4444: @@ -880,12 +885,12 @@ fill_tiles(const struct format_info *info, void *planes[3], unsigned int width, case DRM_FORMAT_RGBX5551: case DRM_FORMAT_BGRA5551: case DRM_FORMAT_BGRX5551: - return fill_tiles_rgb16(&info->rgb, planes[0], + return fill_tiles_rgb16(info, planes[0], width, height, stride); case DRM_FORMAT_BGR888: case DRM_FORMAT_RGB888: - return fill_tiles_rgb24(&info->rgb, planes[0], + return fill_tiles_rgb24(info, planes[0], width, height, stride); case DRM_FORMAT_ARGB8888: case DRM_FORMAT_XRGB8888: @@ -903,7 +908,7 @@ fill_tiles(const struct format_info *info, void *planes[3], unsigned int width, case DRM_FORMAT_RGBX1010102: case DRM_FORMAT_BGRA1010102: case DRM_FORMAT_BGRX1010102: - return fill_tiles_rgb32(&info->rgb, planes[0], + return fill_tiles_rgb32(info, planes[0], width, height, stride); } }