Hello, All you have to do is iterate over all planes at runtime until one is found that has the pipeline property attached, it's not a performance sensitive area and no locking is required for testing if plane->color_pipeline_property is NULL.
You can also make drm_plane_create_color_pipeline_property set the flag in drm_device::driver_features that the cap is supported. But the cap setting code's not really performance sensitive, it will be called only a few times during boot at most. Perhaps check whether the first crtc->primary plane has the cap is also sufficient. If you want to continue with a special driver cap, then please set the flag for the xe driver too. Kind regards, ~Maarten Lankhorst On 6/30/26 10:42, Robert Mader wrote: > From the main commit: > > The client cap is currently advertised unconditionally, even for drivers that > do > not support plane color pipelines. If clients supporting the later, like > Wayland > compositors and drm_info, enable the client cap on sich drivers they will be > left without both color pipeline and the legacy properties COLOR_ENCODING and > COLOR_RANGE, effectively breaking YUV->RGB conversion support. > > Add a new driver feature and guard the client cap behind it, allowing > plane color pipeline and legacy YUV->RGB support to co-exist. > > In case of VKMS make the client cap depend on the enable_plane_pipeline. > > The series can be easily tested with drm_info >= v2.10.0 and VKMS. Without the > enable_plane_pipeline option - currently the default - the legacy flags > COLOR_ENCODING and COLOR_RANGE should be advertised, just like older drm_info > versions. > > --- > > Related series actually implementing the color pipeline replacement for the > legacy flags: > https://lists.freedesktop.org/archives/dri-devel/2026-June/575655.html > > > Robert Mader (4): > drm: Guard DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE behind driver feature > drm/amdgpu: Add DRIVER_PLANE_COLOR_PIPELINE driver feature > drm/i915: Add DRIVER_PLANE_COLOR_PIPELINE driver feature > drm/vkms: Add DRIVER_PLANE_COLOR_PIPELINE driver feature > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 2 +- > drivers/gpu/drm/drm_ioctl.c | 2 ++ > drivers/gpu/drm/i915/i915_driver.c | 2 +- > drivers/gpu/drm/vkms/vkms_drv.c | 6 +++++- > include/drm/drm_drv.h | 6 ++++++ > 5 files changed, 15 insertions(+), 3 deletions(-) >
