[Pixman] Dithering patches, v2

Basile Clement basile-pixman at clement.pm
Wed Apr 10 21:15:02 UTC 2019

I'm not sure how, but I badly broke the formatting on that email -- my
apologies.  Below is the previous email formatted as intended.

On 4/10/19 1:04 AM, Bill Spitzak wrote:

> How difficult is it to just make the gradients use dithering, so
> they produce 8-bit (or whatever) results directly but with the dithering
> pattern in them?

We don't have the destination bpp when we compute the gradients.  Søren
Sandmann explained the various issues with this approach earlier

Note that it is always possible to add fast paths for gradient+dithering
if performance is an issue.

> What other operations would need dithering (a large blur comes to
> mind, also zooming way in on an image in bilinear)?

Any type of filter (eg blur) or zoom could benefit from dithering, as
well as any high bpp to low bpp compositing (compositing to r5g6b5 was
mentioned in one of the previous discussions).  Although for that one
proper gamma correction may be required.

> I think the blue noise large pattern is a great idea.

All credits go to Wikipedia :)

By the way re-reading the email I linked reminded me --

Søren, I don't know if you are still reading this mailing list, but you
said in that email one year ago:

> I could elaborate on that subject and have done so several times in
> the past, but in my experience those long emails about pixman
> internals were mostly just a waste of time. I don't recall a single 
> one of them ever resulting in a useful patch.

Your emails (especially the two I linked above, but also a couple
others) were instrumental in getting a good enough grasp on the pixman
internals for writing the floating point gradient computation and
dithering patches, so thank you for taking the time to share your
knowledge and insights.  Hopefully mine will be (are?) those
long-awaited useful patches.

- Basile

More information about the Pixman mailing list