[cairo] [PATCH] Add support for RGBA128F and RGB96F formats.

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Fri Aug 3 18:19:22 UTC 2018


Op 03-08-18 om 07:23 schreef Bryce Harrington:
> On Mon, Jun 11, 2018 at 03:19:49PM +0200, Maarten Lankhorst wrote:
>> IGT wants to add support for planes with a bit depth >10, which
>> requires a higher precision format than we have currently.
>>
>> I'm using RGBA as format, because of its existence in OpenGL.
>> With the new formats we can directly convert our bytes to half float,
>> or do our own conversion to convert to one of the planar YCbCr formats.
>>
>> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
>> ---
>> This patch requires the following patch in pixman to work:
>> https://lists.freedesktop.org/archives/pixman/2018-June/004734.html
> The refactoring in _emit_image to condense the _write_data() calls looks
> good and if you split that out I'd be happy to land that part
> ahead of time.
>
> The rest of the patch I see no problems with, but it'll obviously have
> to wait for the pixman patches to land first.  Then it'll need a pixman
> version requirement check in configure.ac as part of this patchset.  (Or
> perhaps some sort of feature check?)
>
> Do the new formats behave properly when specified to the cairo
> testsuite?  I.e., does this work?
>
>   make test TARGETS=image FORMAT=rgba128f
Sort of.

I added a backend called imagefloat for testing, but it has small differences compared to the reference images for ARGB8888,
which is causing the tests to fail.

I guess if we want to do it properly we would need to generate new test images for imagefloat in 16-bits format.

~Maarten


More information about the cairo mailing list