[Pixman] [PATCH 05/32] pixman-image: Early detection of solid 1x1 repeating source images

Ben Avison bavison at riscosopen.org
Wed Apr 22 07:08:28 PDT 2015


On Thu, 07 Aug 2014 17:50:01 +0100, I wrote:
> Doesn't handle every pixel format, but for those that it does, enables
> early conversion of OVER to SRC, for example.
> ---
>  pixman/pixman-image.c |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/pixman/pixman-image.c b/pixman/pixman-image.c
> index 1ff1a49..ad6e82e 100644
> --- a/pixman/pixman-image.c
> +++ b/pixman/pixman-image.c
[...]

On Sun, 05 Oct 2014 20:03:42 +0100, Søren Sandmann <soren.sandmann at gmail.com> wrote:
> I don't think this works as written. What if someone writes a
> non-opaque pixel to the 1x1 image after it has been used once? Then
> the flags would be wrong.

This appears to be a valid concern, and one which isn't exercised by any
of the existing tests. I have written a new fuzz tester which does detect
the behavioural change of the original version of this patch, and an
updated patch which doesn't write the updated flags back to the
pixman_image_t struct but re-evaluates them on every usage. I will post
these in a moment, though you may wish to note that I've slightly changed
the subject (the new fix is no longer in pixman-image.c, and in Pixman
terminology, "solid" means an image has the same colour and alpha
components at all spatial coordinates, rather than being a synonym for
"opaque").

Ben


More information about the Pixman mailing list