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(-)
> 

Reply via email to