[Pixman] [PATCH] test: Fix stride calculation in stress-test
Søren Sandmann
soren.sandmann at gmail.com
Tue Jun 12 16:13:31 UTC 2018
Reviewed-by: soren.sandmann at gmail.com
On Tue, Jun 12, 2018 at 10:38 AM, Siarhei Siamashka <
siarhei.siamashka at gmail.com> wrote:
> Currently the number of bits per pixel is used instead of the
> number of bytes per pixel when calculating image strides. This
> does not cause any real problems, but the gaps between scanlines
> are excessively large.
>
> This patch actually converts bits to bytes and rounds up the result
> to the nearest byte boundary.
>
> Signed-off-by: Siarhei Siamashka <siarhei.siamashka at gmail.com>
> ---
> test/stress-test.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/test/stress-test.c b/test/stress-test.c
> index 1f03c75..85d1293 100644
> --- a/test/stress-test.c
> +++ b/test/stress-test.c
> @@ -291,7 +291,7 @@ create_random_bits_image (alpha_preference_t
> alpha_preference)
> {
> default:
> case 0:
> - stride = width * PIXMAN_FORMAT_BPP (format) + prng_rand_n (17);
> + stride = (width * PIXMAN_FORMAT_BPP (format) + 7) / 8 +
> prng_rand_n (17);
> stride = (stride + 3) & (~3);
> bits = (uint32_t *)make_random_bytes (height * stride);
> break;
> @@ -302,7 +302,7 @@ create_random_bits_image (alpha_preference_t
> alpha_preference)
> break;
>
> case 2: /* Zero-filled */
> - stride = width * PIXMAN_FORMAT_BPP (format) + prng_rand_n (17);
> + stride = (width * PIXMAN_FORMAT_BPP (format) + 7) / 8 +
> prng_rand_n (17);
> stride = (stride + 3) & (~3);
> bits = fence_malloc (height * stride);
> if (!bits)
> @@ -311,7 +311,7 @@ create_random_bits_image (alpha_preference_t
> alpha_preference)
> break;
>
> case 3: /* Filled with 0xFF */
> - stride = width * PIXMAN_FORMAT_BPP (format) + prng_rand_n (17);
> + stride = (width * PIXMAN_FORMAT_BPP (format) + 7) / 8 +
> prng_rand_n (17);
> stride = (stride + 3) & (~3);
> bits = fence_malloc (height * stride);
> if (!bits)
> @@ -327,7 +327,7 @@ create_random_bits_image (alpha_preference_t
> alpha_preference)
> break;
>
> case 5: /* bits is a real pointer, has read/write functions */
> - stride = width * PIXMAN_FORMAT_BPP (format) + prng_rand_n (17);
> + stride = (width * PIXMAN_FORMAT_BPP (format) + 7) / 8 +
> prng_rand_n (17);
> stride = (stride + 3) & (~3);
> bits = fence_malloc (height * stride);
> if (!bits)
> @@ -338,7 +338,7 @@ create_random_bits_image (alpha_preference_t
> alpha_preference)
> break;
>
> case 6: /* bits is a real pointer, stride is negative */
> - stride = (width * PIXMAN_FORMAT_BPP (format) + prng_rand_n (17));
> + stride = (width * PIXMAN_FORMAT_BPP (format) + 7) / 8 +
> prng_rand_n (17);
> stride = (stride + 3) & (~3);
> bits = (uint32_t *)make_random_bytes (height * stride);
> if (!bits)
> --
> 2.16.1
>
> _______________________________________________
> Pixman mailing list
> Pixman at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/pixman
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pixman/attachments/20180612/b2a4aa3d/attachment.html>
More information about the Pixman
mailing list