[PATCH xf86-video-amdgpu 0/5] Implementing non-legacy color management

sunpeng.li at amd.com sunpeng.li at amd.com
Mon Mar 26 20:00:13 UTC 2018

From: "Leo (Sunpeng) Li" <sunpeng.li at amd.com>

These patches will enable modification of non-legacy color management
properties via xrandr.

On top of the current legacy gamma, DRM allows the setting of three color
management tables: the degamma LUT, the color transform matrix (CTM), and the
regamma LUT. To user land, all of them are stored as DRM blobs, and are
referenced by CRTC properties via their blob IDs.

Therefore, in order to allow setting color management via xrandr, we have to:

1. Enable modification of CRTC properties via xrandr
2. Allow configuring and changing DRM blob properties via their IDs
3. Ensure compatability with legacy gamma

The first three patches does the above, while the last two does some
refactoring work to remove repetative code.

A note to reviewers, I'm a little unclear on whether this woks when one CRTC is
connected to multiple outputs. I expect that changing a CRTC property via one
of its outputs will update for that output only, since randr still understands
it as an "output property". In whic case, there needs to be a v2. However, I'm
not sure how I can setup a test for this. Let me know if you have tips.

Leo (Sunpeng) Li (5):
  Add functions for changing CRTC color management properties
  Hook up CRTC color management functions
  Keep CRTC properties consistent
  Enable configure & change helper to handle enums
  Modify output_create_resources to use configure & change helper

 src/drmmode_display.c | 483 +++++++++++++++++++++++++++++++++++++++++---------
 src/drmmode_display.h |  17 +-
 2 files changed, 414 insertions(+), 86 deletions(-)


More information about the amd-gfx mailing list