[RFC PATCH 0/6] Initial per-surface color management

Niels Ole Salscheider niels_ole at salscheider-online.de
Sun Mar 30 04:36:31 PDT 2014

The following patches add initial support for per-surface color
management in weston. The last patch allows to set a color profile in
the "image" demo program.

It uses sRGB as blending color space for now because OpenGL ES 2.0
limits me to an 8 bit LUT and I would like to avoid losing precision.
But we should use a linear blending space in the long term to get
correct results.

There are still a few open points:
- should the color profile and LUT data be double-buffered?
- borders and YUV surfaces should be color-corrected.
- color correction is only implemented for the gl renderer.
- the events for blending and output color space changes are not tested.

Niels Ole Salscheider (6):
  Add colorcorrection protocol
  Attach input profiles and build corresponding LUTs
  Attach output profiles and build corresponding LUTs
  gl-renderer: Add necessary shaders for color correction
  gl-renderer: Correct colors during rendering
  image demo client: Add support for color management

 Makefile.am                  |  18 +-
 clients/image.c              | 249 ++++++++++++++++++++++++++
 protocol/colorcorrection.xml |  87 +++++++++
 src/cms-colord.c             |   4 +-
 src/cms-helper.c             |   7 +-
 src/cms-helper.h             |   3 +-
 src/cms-static.c             |   1 +
 src/compositor.c             | 222 +++++++++++++++++++++++
 src/compositor.h             |  27 +++
 src/gl-renderer.c            | 413 ++++++++++++++++++++++++++++++++++++++++---
 10 files changed, 1001 insertions(+), 30 deletions(-)
 create mode 100644 protocol/colorcorrection.xml


More information about the wayland-devel mailing list