[igt-dev] [PATCH i-g-t] tests/kms_rotation: align rendered image correctly for rotation
Juha-Pekka Heikkila
juhapekka.heikkila at gmail.com
Tue Dec 18 12:33:28 UTC 2018
On 18.12.2018 13.56, Chris Wilson wrote:
> Quoting Juha-Pekka Heikkila (2018-12-18 11:30:03)
>> rendered test image had off-by-one error in size calculation
>> which was failing some tests on certain resolutions and plane
>> sizes.
>>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109016
>> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
>> ---
>> tests/kms_rotation_crc.c | 11 +++++++++--
>> 1 file changed, 9 insertions(+), 2 deletions(-)
>>
>> diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
>> index c67f608..8edf9aa 100644
>> --- a/tests/kms_rotation_crc.c
>> +++ b/tests/kms_rotation_crc.c
>> @@ -126,6 +126,9 @@ paint_squares(data_t *data, igt_rotation_t rotation,
>> unsigned int h = fb->height;
>> rgb_color_t tl, tr, bl, br;
>>
>> + igt_assert_f(!(w&1), "rotation image must be even width, now attempted %d\n", w);
>> + igt_assert_f(!(h&1), "rotation image must be even height, now attempted %d\n", h);
>> +
>> cr = igt_get_cairo_ctx(data->gfx_fd, fb);
>>
>> set_color(&tl, o, 0.0f, 0.0f);
>> @@ -439,8 +442,12 @@ static void get_multiplane_crc(data_t *data, igt_output_t *output,
>> planes[c].plane = igt_output_get_plane_type(output,
>> planeinfo[c].planetype);
>>
>> - w = planeinfo[c].width;
>> - h = planeinfo[c].height;
>> + /*
>> + * make plane and fb width and height always even due to
>> + * test image rendering
>> + */
>> + w = (planeinfo[c].width | 1) + 1;
>> + h = (planeinfo[c].height | 1) + 1;
>
> Is expanding safe? &~1 to trim instead?
I think expanding should be ok as fb is created on following lines but
I'm fine both ways. I'll send new version.
/Juha-Pekka
More information about the igt-dev
mailing list