Re: [Pixman] Dithering patches, v2

2019-04-09 Thread Bill Spitzak
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? What other operations would need dithering (a large blur comes to mind, also zooming way in on an image in bilinear)? I think the blue noise

Re: [Pixman] Dithering patches, v2

2019-04-09 Thread Basile Clement
I forgot to mention two things:  - Enabling dithering makes processing much slower, since it forces the wide pipeline to be used (and some optimisations are disabled).  This could be solved through the use of fast paths where needed (e.g. when blitting images from an equal or lower

[Pixman] [PATCH 4/4] Ordered dithering with blue noise

2019-04-09 Thread basile-pixman
From: Basile Clement On some screens (typically low quality laptop screens), using Bayer ordered dithering has been observed to cause color changes depending on *where the gradient is rendered on the screen*, causing visible flickering when moving an image on the screen. To alleviate the issue,

[Pixman] [PATCH 1/4] Implement basic dithering for the wide pipeline

2019-04-09 Thread basile-pixman
From: Basile Clement This patch implements dithering in pixman. A "dither" property is added to BITS images, which is used to: - Force rendering to the image to go through the floating point pipeline. Note that this is different from FAST_PATH_NARROW_FORMAT as it should not enable the

[Pixman] [PATCH 3/4] demos: Add a dithering demo

2019-04-09 Thread basile-pixman
From: Basile Clement This adds a dither.c which provides a demo of the dithering feature. This is based on the scale.c demo for scaling and provides a selection of intermediate formats and dithering operators (currently, only PIXMAN_DITHER_ORDERED_BAYER_8) to use. Images are first blitted onto

[Pixman] [PATCH 2/4] test: Check the dithering path in tolerance-test

2019-04-09 Thread basile-pixman
From: Basile Clement This adds support for testing dithered destinations in tolerance-test. When dithering is enabled, the pixel checker allows for an additional quantization error. --- test/tolerance-test.c | 22 +++- test/utils.c | 121 ++

[Pixman] Dithering patches, v2

2019-04-09 Thread basile-pixman
I am resubmitting for review and inclusion my series of patches on dithering from October, which I ended up not having the time to finish then. There are only a couple changes to make the patches compatible with the recently added floating point formats, and I have also added a dithering matrix

[Pixman] [PATCH] Fix bilinear filter computation in wide pipeline

2019-04-09 Thread basile-pixman
From: Basile Clement The recently introduced wide pipeline for filters has a typo which causes it to improperly compute bilinear interpolation positions, causing various glitches when enabled. This patch uses the proper computation for bilinear interpolation in the wide pipeline. It also makes