On 2026-07-21 10:15, Robert Mader wrote:
> Hi Harry,
>
> On 21.07.26 15:55, Harry Wentland wrote:
>>>> ...
>>> If I understand you correctly you suggest to map legacy COLOR_RANGE and
>>> COLOR_ENCODING to the new FIXED_MATRIX colorop in a generic way, instead of
>>> having drivers advertise them separately. Do I have that right?
>>>
>>> It's probably a good idea. It should be easy to make that change after
>>> merging the Fixed Matrix series with YUV support.
>>>
>> I sketched this out but both VKMS and amdgpu have HW generations
>> or configs where no color pipeline is created. For that we still
>> need the current way of COLOR_RANGE and COLOR_ENCODING handling.
>> Because of this the code to create COLOR_RANGE and COLOR_ENCODING
>> based on the color pipeline is not really simplifying things, but
>> merely adding more code.
>>
>> At this point I am not convinced adding helpers to create COLOR_RANGE
>> and COLOR_ENCODING based on the color pipeline is a net positive.
>> Maybe in the future that equation changes.
>>
>> If anyone is interested I'm still happy to share the code. Just
>> let me know.
>>
>> Harry
>
> thanks for taking a look! I'd be very interested - mainly because in my
> understanding the "both VKMS and amdgpu have HW generations or configs where
> no color pipeline is created" should be fixable:
>
> 1. For amdgpu every hardware generation supporting COLOR_RANGE and
> COLOR_ENCODING should be able to create a color pipeline *only* exposing the
> corresponding FIXED_MATRIX colorop, mapping to the exact same hardware block
> internally. I hope that shouldn't conflict too much with the current
> architecture?
> 2. In case of VKMS the "enable_plane_pipeline" config could be adopted so
> that - if it is disabled - the plane pipeline is still initialized but only
> the FIXED_MATRIX colorop is added. Additionally we would need to disable
> DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE - possibly by a driver cap similar to v1
> of this series - so that userspace can't enable/use the colop-op directly. As
> a result, VKMS with enable_plane_pipeline=0 should get the legacy properties
> via your helper, be able to drop explicit handling of them.
>
> Does that make sense / do you think that could work?
>
That makes sense and yes, it could work. If I have time I
might give that a try.
I'm worried we'd be still adding overhead by creating this
fixed-matrix-only pipeline, but once we have code it'd be
easy to see.
Harry
> Best regards,
>
> Robert
>
> --
> Robert Mader
> Consultant Software Developer
>
> Collabora Ltd.
> Platinum Building, St John's Innovation Park, Cambridge CB4 0DS, UK
> Registered in England & Wales, no. 5513718
>