[cairo] [PATCH v2 0/5] Add support for RGBA128F and RGB96F formats.

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Mon Aug 6 14:59:26 UTC 2018


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.

Maarten Lankhorst (5):
  cairo-trace: Simplify bigendian case in emit_image.
  Add support for RGBA128F and RGB96F formats.
  png: Add support for writing new floating point formats as 16 bpc png.
  png: Add support for 16 bpc png reading as floating point format
  boilerplate: Add support for new float formats.

 boilerplate/cairo-boilerplate.c            | 154 +++++++++++++++---
 perf/micro/fill-clip.c                     |   2 +
 perf/micro/pixel.c                         |   2 +
 src/cairo-debug.c                          |   6 +
 src/cairo-image-compositor.c               |   4 +
 src/cairo-image-source.c                   |  27 ++++
 src/cairo-image-surface.c                  |  16 ++
 src/cairo-png.c                            | 174 +++++++++++++++++++--
 src/cairo-script-surface.c                 |  20 +++
 src/cairo-xlib-display.c                   |  12 ++
 src/cairo.h                                |   6 +-
 src/cairoint.h                             |   2 +-
 test/any2ppm.c                             |   2 +
 test/map-to-image.c                        |   2 +
 test/png.c                                 |   2 +
 util/cairo-script/cairo-script-operators.c |  12 ++
 util/cairo-trace/trace.c                   |  35 ++---
 17 files changed, 414 insertions(+), 64 deletions(-)

-- 
2.18.0



More information about the cairo mailing list