[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