All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mika Kahola <mika.kahola@intel.com>
To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	igt-dev@lists.freedesktop.org
Subject: Re: [igt-dev] [PATCH i-g-t 2/8] lib/igt_fb: Pass format to igt_calc_fb_size
Date: Thu, 25 Jan 2018 13:51:31 +0200	[thread overview]
Message-ID: <1516881091.2602.3.camel@intel.com> (raw)
In-Reply-To: <20180123125642.58698-3-maarten.lankhorst@linux.intel.com>

On Tue, 2018-01-23 at 13:56 +0100, Maarten Lankhorst wrote:
> bpp is only sufficient to calculate dimensions for packed formats, in
> case of planar formats we need to pass the drm format fourcc, which
> will give us better information.
> 
> This is required for supporting planar framebuffers.
> 

Reviewed-by: Mika Kahola <mika.kahola@intel.com>

> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
>  lib/igt_fb.c                     | 10 ++++++----
>  lib/igt_fb.h                     |  2 +-
>  tests/kms_frontbuffer_tracking.c |  4 +---
>  3 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> index 39a83bae178a..da07d1a9e21f 100644
> --- a/lib/igt_fb.c
> +++ b/lib/igt_fb.c
> @@ -147,7 +147,7 @@ void igt_get_fb_tile_size(int fd, uint64_t
> tiling, int fb_bpp,
>   * @fd: the DRM file descriptor
>   * @width: width of the framebuffer in pixels
>   * @height: height of the framebuffer in pixels
> - * @bpp: bytes per pixel of the framebuffer
> + * @format: drm fourcc pixel format code
>   * @tiling: tiling layout of the framebuffer (as framebuffer
> modifier)
>   * @size_ret: returned size for the framebuffer
>   * @stride_ret: returned stride for the framebuffer
> @@ -155,10 +155,11 @@ void igt_get_fb_tile_size(int fd, uint64_t
> tiling, int fb_bpp,
>   * This function returns valid stride and size values for a
> framebuffer with the
>   * specified parameters.
>   */
> -void igt_calc_fb_size(int fd, int width, int height, int bpp,
> uint64_t tiling,
> +void igt_calc_fb_size(int fd, int width, int height, uint32_t
> format, uint64_t tiling,
>  		      unsigned *size_ret, unsigned *stride_ret)
>  {
>  	unsigned int tile_width, tile_height, stride, size;
> +	int bpp = igt_drm_format_to_bpp(format);
>  	int byte_width = width * (bpp / 8);
>  
>  	igt_get_fb_tile_size(fd, tiling, bpp, &tile_width,
> &tile_height);
> @@ -249,13 +250,12 @@ static int create_bo_for_fb(int fd, int width,
> int height, uint32_t format,
>  			    unsigned *size_ret, unsigned
> *stride_ret,
>  			    bool *is_dumb)
>  {
> -	int bpp = igt_drm_format_to_bpp(format);
>  	int bo;
>  
>  	if (tiling || size || stride) {
>  		unsigned calculated_size, calculated_stride;
>  
> -		igt_calc_fb_size(fd, width, height, bpp, tiling,
> +		igt_calc_fb_size(fd, width, height, format, tiling,
>  				 &calculated_size,
> &calculated_stride);
>  		if (stride == 0)
>  			stride = calculated_stride;
> @@ -290,6 +290,8 @@ static int create_bo_for_fb(int fd, int width,
> int height, uint32_t format,
>  			return -EINVAL;
>  		}
>  	} else {
> +		int bpp = igt_drm_format_to_bpp(format);
> +
>  		if (is_dumb)
>  			*is_dumb = true;
>  
> diff --git a/lib/igt_fb.h b/lib/igt_fb.h
> index 3004f0656029..152798e9896b 100644
> --- a/lib/igt_fb.h
> +++ b/lib/igt_fb.h
> @@ -90,7 +90,7 @@ enum igt_text_align {
>  
>  void igt_get_fb_tile_size(int fd, uint64_t tiling, int fb_bpp,
>  			  unsigned *width_ret, unsigned
> *height_ret);
> -void igt_calc_fb_size(int fd, int width, int height, int bpp,
> uint64_t tiling,
> +void igt_calc_fb_size(int fd, int width, int height, uint32_t
> format, uint64_t tiling,
>  		      unsigned *size_ret, unsigned *stride_ret);
>  unsigned int
>  igt_create_fb_with_bo_size(int fd, int width, int height,
> diff --git a/tests/kms_frontbuffer_tracking.c
> b/tests/kms_frontbuffer_tracking.c
> index 1601cab45b9a..ea5297538c34 100644
> --- a/tests/kms_frontbuffer_tracking.c
> +++ b/tests/kms_frontbuffer_tracking.c
> @@ -541,7 +541,6 @@ static void create_fb(enum pixel_format pformat,
> int width, int height,
>  {
>  	uint32_t format;
>  	unsigned int size, stride;
> -	int bpp;
>  	uint64_t tiling_for_size;
>  
>  	switch (pformat) {
> @@ -576,13 +575,12 @@ static void create_fb(enum pixel_format
> pformat, int width, int height,
>  	 * the same size regardless of tiling since we want to
> properly exercise
>  	 * the Kernel's specific tiling-checking code paths without
> accidentally
>  	 * hitting size-checking ones first. */
> -	bpp = igt_drm_format_to_bpp(format);
>  	if (plane == PLANE_CUR)
>  		tiling_for_size = LOCAL_DRM_FORMAT_MOD_NONE;
>  	else
>  		tiling_for_size = opt.tiling;
>  
> -	igt_calc_fb_size(drm.fd, width, height, bpp,
> tiling_for_size, &size,
> +	igt_calc_fb_size(drm.fd, width, height, format,
> tiling_for_size, &size,
>  			 &stride);
>  
>  	igt_create_fb_with_bo_size(drm.fd, width, height, format,
> tiling, fb,
-- 
Mika Kahola - Intel OTC

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2018-01-25 11:51 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-23 12:56 [igt-dev] [PATCH i-g-t 0/8] lib/igt_fb: Add support for the NV12 format Maarten Lankhorst
2018-01-23 12:56 ` [igt-dev] [PATCH i-g-t 1/8] lib/igt_fb: Add igt_put_cairo_ctx as counter to igt_get_cairo_ctx Maarten Lankhorst
2018-01-23 15:50   ` Ville Syrjälä
2018-01-24 12:26     ` Maarten Lankhorst
2018-01-25 11:43       ` Mika Kahola
2018-01-29 17:01         ` Maarten Lankhorst
2018-01-31 17:03   ` Ville Syrjälä
2018-01-23 12:56 ` [igt-dev] [PATCH i-g-t 2/8] lib/igt_fb: Pass format to igt_calc_fb_size Maarten Lankhorst
2018-01-25 11:51   ` Mika Kahola [this message]
2018-01-23 12:56 ` [igt-dev] [PATCH i-g-t 3/8] lib/fb: Handle planar formats in igt_calc_fb_size and create_bo_for_fb Maarten Lankhorst
2018-01-26  9:00   ` Mika Kahola
2018-01-26 10:20     ` Maarten Lankhorst
2018-01-26 10:24       ` Mika Kahola
2018-01-26 12:01         ` Maarten Lankhorst
2018-01-26 13:10           ` Mika Kahola
2018-02-01 14:39   ` Ville Syrjälä
2018-01-23 12:56 ` [igt-dev] [PATCH i-g-t 4/8] lib/intel_batchbuffer: Add delta argument to igt_blitter_fast_copy__raw Maarten Lankhorst
2018-01-26  9:02   ` Mika Kahola
2018-01-29 12:10   ` [igt-dev] [PATCH i-g-t] lib/intel_batchbuffer: Add delta argument to igt_blitter_fast_copy__raw, v2 Maarten Lankhorst
2018-01-23 12:56 ` [igt-dev] [PATCH i-g-t 5/8] lib/intel_batchbuffer: Add src/dst delta arguments to igt_blitter_fast_copy too Maarten Lankhorst
2018-01-26  9:04   ` Mika Kahola
2018-01-23 12:56 ` [igt-dev] [PATCH i-g-t 6/8] lib/fb: Add support for creating planar framebuffers Maarten Lankhorst
2018-01-23 14:50   ` [igt-dev] [PATCH i-g-t] lib/fb: Add support for creating planar framebuffers, v2 Maarten Lankhorst
2018-01-24 10:53     ` [igt-dev] [PATCH i-g-t] lib/fb: Add support for creating planar framebuffers, v3 Maarten Lankhorst
2018-01-29  8:44       ` Mika Kahola
2018-01-23 12:56 ` [igt-dev] [PATCH i-g-t 7/8] tests/kms_render: Copy all planes when copying fb Maarten Lankhorst
2018-01-26 13:56   ` Mika Kahola
2018-02-28 15:40     ` Arkadiusz Hiler
2018-02-28 15:43       ` Maarten Lankhorst
2018-02-28 15:43       ` Arkadiusz Hiler
2018-01-23 12:56 ` [igt-dev] [PATCH i-g-t 8/8] lib/igt_fb: Add support for NV12 format through conversion Maarten Lankhorst
2018-01-31 13:45   ` Mika Kahola
2018-01-31 14:32     ` Ville Syrjälä
2018-01-31 15:09       ` Maarten Lankhorst
2018-01-31 16:52       ` [igt-dev] [PATCH i-g-t] lib/igt_fb: Add support for NV12 format through conversion, v2 Maarten Lankhorst
2018-02-01 14:23         ` Ville Syrjälä
2018-02-01 14:43           ` Maarten Lankhorst
2018-01-23 14:28 ` [igt-dev] ✗ Fi.CI.BAT: failure for lib/igt_fb: Add support for the NV12 format Patchwork
2018-01-23 15:41 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_fb: Add support for the NV12 format. (rev2) Patchwork
2018-01-23 19:47 ` [igt-dev] ✗ Fi.CI.IGT: failure for lib/igt_fb: Add support for the NV12 format Patchwork
2018-01-23 22:30 ` [igt-dev] ✗ Fi.CI.IGT: failure for lib/igt_fb: Add support for the NV12 format. (rev2) Patchwork
2018-01-24 12:16 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_fb: Add support for the NV12 format. (rev3) Patchwork
2018-01-24 15:57 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2018-01-29 12:37 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_fb: Add support for the NV12 format. (rev4) Patchwork
2018-01-29 17:29 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2018-01-31 17:15 ` [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_fb: Add support for the NV12 format. (rev5) Patchwork
2018-01-31 18:55 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1516881091.2602.3.camel@intel.com \
    --to=mika.kahola@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=maarten.lankhorst@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.