[i-g-t] lib/igt_fb: Add a check on stride alignment for pixman conversion

Submitted by Paul Kocialkowski on Dec. 7, 2018, 9:01 a.m.

Details

Message ID 20181207090146.4686-1-paul.kocialkowski@bootlin.com
State New
Series "lib/igt_fb: Add a check on stride alignment for pixman conversion"
Headers show

Commit Message

Paul Kocialkowski Dec. 7, 2018, 9:01 a.m.
Pixman requires buffer strides the be aligned to 32-bit words in order
to create internal representations of buffers. If this condition is not
met, it will fail and IGT will not be able to report the error cause,
making it hard to debug the issue.

Add an explicit check in our code prior to calling pixman when
converting buffer so that the error can be understood if it occurs.
---
 lib/igt_fb.c | 4 ++++
 1 file changed, 4 insertions(+)

Patch hide | download patch | download mbox

diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index 2462d6ba..513a66b7 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -1901,6 +1901,10 @@  static void convert_pixman(struct fb_convert *cvt)
 	igt_assert((src_pixman != PIXMAN_invalid) &&
 		   (dst_pixman != PIXMAN_invalid));
 
+	/* Pixman requires the stride to be aligned to 32 bits. */
+	igt_assert((cvt->src.fb->strides[0] % sizeof(uint32_t)) == 0);
+	igt_assert((cvt->dst.fb->strides[0] % sizeof(uint32_t)) == 0);
+
 	src_ptr = convert_src_get(cvt);
 
 	src_image = pixman_image_create_bits(src_pixman,

Comments

Maxime Ripard Dec. 7, 2018, 9:12 a.m.
On Fri, Dec 07, 2018 at 10:01:46AM +0100, Paul Kocialkowski wrote:
> Pixman requires buffer strides the be aligned to 32-bit words in order
> to create internal representations of buffers. If this condition is not
> met, it will fail and IGT will not be able to report the error cause,
> making it hard to debug the issue.
> 
> Add an explicit check in our code prior to calling pixman when
> converting buffer so that the error can be understood if it occurs.

Missing SoB.

Otherwise,
Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>

Maxime