[Intel-gfx] New uAPI for color management proposal and feedback request v2

Werner Sembach wse at tuxedocomputers.com
Tue Aug 3 09:38:19 UTC 2021


Greetings,

Original proposal: https://www.mail-archive.com/amd-gfx@lists.freedesktop.org/msg62387.html

Abstract: Add "preferred color format", "active color format", "active bpc", and "active Broadcast RGB" drm properties,
to control color information send to the monitor.

It seems that the "preferred-" properties is not what is actually the most useful for the userspace devs.

Preferable (Note: with only a sample size of 2 people) would be a "force color format" property. If the color format is
not available for the current Monitor and GPU combo. the TEST_ONLY check should fail and the property should not be setable.

This however opens another problem: When a Monitor is disconnected and a new one is connected, the drm properties do not
get resetted. So if the old monitor did allow to set for example ycbcr420, but the new monitor does not support this
color format at all, it will stay permanently black until the drm property is set to a correct value by hand. This is
not an expected behavior imho.

So a discussion questions: Does it make sense that connector properties are keep for different Monitors?

If no: On connecting a new Monitor all atomic drm properties should be reset to a default value.

I have an idea how this could be implemented (correct me if i'm wrong): When an atomic property is attached it get
assigned an inital value. But if I understood the docu correctly, this value is ignored because atomic properties use
the getter and setter methods when their values are read or written. My implementation suggestion would be to iterate
over all attached atomic properties once a new monitor is connected and reset them to this initial value, which should
be unchanged since initialization? This assumes that besides the initial value being unused it's still a sane default
for all drivers.

Kind Regards,

Werner Sembach



More information about the Intel-gfx mailing list