Commits on Source (6)
-
Move the debug printing before the bail-out if the property does not exist. This means that trying to set a missing property will be logged, and it can be identified by the property id being 0. We are starting to program more KMS properties, and if KMS state building fails, this gives better chances to figure out what happened. For example, if we accidentally assume that some property always exists when it doesn't. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
dbce396c -
We are assuming that CRTC_GAMMA_LUT is pass-through, so better ensure it really is pass-through rather than whatever the previous KMS client left there. Unfortunately, we have old drm_output_set_gamma() API that cms-static and cms-colord plugins are using. To avoid trampling over them, do not touch gamma after they did. Those plugins are deprecated, so there is no reason to make set_gamma work through atomic. drm_output_set_gamma() is called from weston_compositor_add_output() through the output_created_signal. This is after drm_output_enable() and before any KMS modeset or atomic commit on the CRTC. Therefore it is not possible that there would be any KMS action in flight when drm_output_set_gamma() is called, and so setting deprecated_gamma_is_set should be non-racy - like setting CRTC_GAMMA_LUT itself. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
debfeb30 -
We are assuming that gamma LUT is pass-through, so better ensure it really is pass-through rather than whatever the previous KMS client left there. Unfortunately the legacy ioctl does not offer any way to reset the LUT without actually crafting an identity LUT. If the legacy gamma libdrm function indicates the feature is not supported, do not try to use it again. This avoids hammering the legacy gamma every frame when deprecated drm_output_set_gamma() is not used. drm_output_set_gamma() is not updated to check/set this flag in order to maintain its old behavior. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
1acf69ac -
We are assuming that CRTC_DEGAMMA_LUT is pass-through, so better ensure it really is pass-through rather than whatever the previous KMS client left there. This too falls under deprecated_gamma_is_set check, because the legacy gamma could use either GAMMA or DEGAMMA. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
d1ca5f71 -
We are assuming that CRTC_CTM is pass-through, so better ensure it really is pass-through rather than whatever the previous KMS client left there. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
e0d267fb -
Libweston has no support for VRR yet, so make sure it cannot be on by accident. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
40999363