diff mbox

[i-g-t] tests/kms_rmfb: Fix cursor fb size

Message ID 20170619122906.21336-1-ville.syrjala@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ville Syrjala June 19, 2017, 12:29 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Don't use the display mode size to determine the cursor fb size. That
will lead to a framebuffer with a stride that the cursor plane won't
support. Just use the max cursor size as the fb size instead.

This started to trip up after i915 started to actually use the cursor fb
stride in commit 1e1bb8710e60 ("drm/i915: Use fb->pitches[0] in cursor code")

Cc: Marta Löfstedt <marta.lofstedt@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97975
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 tests/kms_rmfb.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

Comments

Marta Lofstedt June 19, 2017, 12:37 p.m. UTC | #1
Tested OK, also NOTE that this fixes bug 97975

/Marta

> -----Original Message-----

> From: ville.syrjala@linux.intel.com [mailto:ville.syrjala@linux.intel.com]

> Sent: Monday, June 19, 2017 3:29 PM

> To: intel-gfx@lists.freedesktop.org

> Cc: Lofstedt, Marta <marta.lofstedt@intel.com>

> Subject: [PATCH i-g-t] tests/kms_rmfb: Fix cursor fb size

> 

> From: Ville Syrjälä <ville.syrjala@linux.intel.com>

> 

> Don't use the display mode size to determine the cursor fb size. That will lead

> to a framebuffer with a stride that the cursor plane won't support. Just use

> the max cursor size as the fb size instead.

> 

> This started to trip up after i915 started to actually use the cursor fb stride in

> commit 1e1bb8710e60 ("drm/i915: Use fb->pitches[0] in cursor code")

> 

> Cc: Marta Löfstedt <marta.lofstedt@intel.com>

> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97975

> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---

>  tests/kms_rmfb.c | 11 +++--------

>  1 file changed, 3 insertions(+), 8 deletions(-)

> 

> diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c index

> 5753d74c9411..9f1f564e54aa 100644

> --- a/tests/kms_rmfb.c

> +++ b/tests/kms_rmfb.c

> @@ -66,16 +66,11 @@ test_rmfb(struct rmfb_data *data, igt_output_t

> *output, enum pipe pipe, bool reo

>  	igt_create_fb(data->drm_fd, mode->hdisplay, mode-

> >vdisplay,

>  		      DRM_FORMAT_XRGB8888,

> LOCAL_DRM_FORMAT_MOD_NONE, &fb);

> 

> -	igt_create_fb(data->drm_fd, mode->hdisplay, mode-

> >vdisplay,

> -		      DRM_FORMAT_ARGB8888,

> LOCAL_DRM_FORMAT_MOD_NONE, &argb_fb);

> -

>  	do_or_die(drmGetCap(data->drm_fd,

> DRM_CAP_CURSOR_WIDTH, &cursor_width));

> -	if (cursor_width > mode->hdisplay)

> -		cursor_width = mode->hdisplay;

> -

>  	do_or_die(drmGetCap(data->drm_fd,

> DRM_CAP_CURSOR_HEIGHT, &cursor_height));

> -	if (cursor_height > mode->vdisplay)

> -		cursor_height = mode->vdisplay;

> +

> +	igt_create_fb(data->drm_fd, cursor_width, cursor_height,

> +		      DRM_FORMAT_ARGB8888,

> LOCAL_DRM_FORMAT_MOD_NONE, &argb_fb);

> 

>  	/*

>  	 * Make sure these buffers are suited for display use

> --

> 2.13.0
diff mbox

Patch

diff --git a/tests/kms_rmfb.c b/tests/kms_rmfb.c
index 5753d74c9411..9f1f564e54aa 100644
--- a/tests/kms_rmfb.c
+++ b/tests/kms_rmfb.c
@@ -66,16 +66,11 @@  test_rmfb(struct rmfb_data *data, igt_output_t *output, enum pipe pipe, bool reo
 	igt_create_fb(data->drm_fd, mode->hdisplay, mode->vdisplay,
 		      DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE, &fb);
 
-	igt_create_fb(data->drm_fd, mode->hdisplay, mode->vdisplay,
-		      DRM_FORMAT_ARGB8888, LOCAL_DRM_FORMAT_MOD_NONE, &argb_fb);
-
 	do_or_die(drmGetCap(data->drm_fd, DRM_CAP_CURSOR_WIDTH, &cursor_width));
-	if (cursor_width > mode->hdisplay)
-		cursor_width = mode->hdisplay;
-
 	do_or_die(drmGetCap(data->drm_fd, DRM_CAP_CURSOR_HEIGHT, &cursor_height));
-	if (cursor_height > mode->vdisplay)
-		cursor_height = mode->vdisplay;
+
+	igt_create_fb(data->drm_fd, cursor_width, cursor_height,
+		      DRM_FORMAT_ARGB8888, LOCAL_DRM_FORMAT_MOD_NONE, &argb_fb);
 
 	/*
 	 * Make sure these buffers are suited for display use