From: "Leo (Sunpeng) Li" <sunpeng.li@xxxxxxx> 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(-) -- 2.7.4