New uAPI for color management proposal and feedback request v2
sebastian at sebastianwick.net
sebastian at sebastianwick.net
Tue Aug 17 14:54:28 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.
User space is aware of output changes and already has to set properties
such
that the new output will light up. So IMO what you describe is expected
behavior. What makes this still a bit hary is when you switch from user
space
which set the property to user space which is not aware of the property
but
this is a more general problem that already exists for all new
properties. The
solution here is a reset mechanism for user space. More context:
https://oftc.irclog.whitequark.org/dri-devel/2021-06-16#1623837713-1623842163;
> 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 dri-devel
mailing list