Re: [PATCH i-g-t 1/2] Revert "lib/kms: Set display->has_plane_color_pipeline automatically"

"Sharma, Swati2" <[email protected]>
Newsgroups org.freedesktop.lists.igt-dev
Message-ID <[email protected]>
Hi Chaitanya

On 21-07-2026 04:30 pm, Borah, Chaitanya Kumar wrote:
>
>
> On 7/21/2026 4:25 PM, Sharma, Swati2 wrote:
>> Hi Chaitanya,
>>
>> On 14-07-2026 08:15 pm, Chaitanya Kumar Borah wrote:
>>> This reverts commit be4e98c3b79e8bb843f7bb762616742691fee72e.
>>>
>>> Enabling DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE from the common
>>> igt_display_require() path makes all IGT display clients opt into the
>>> new plane color pipeline UAPI.
>>>
>>> With the color pipeline client cap enabled, legacy plane COLOR_ENCODING
>>> and COLOR_RANGE properties are ignored during commit preparation.
>>> The driver cannot distinguish this case, because enum 
>>> drm_color_encoding
>>> and enum drm_color_range do not provide an explicit uninitialized 
>>> value.
>>>
>>> Revert the global opt-in and keep the cap enablement local to the
>>> color-pipeline-aware tests. kms_properties colorop coverage shall be
>>> preserved separately.
>>>
>>> Cc: John Harrison <[email protected]>
>>> Cc: Kamil Konieczny <[email protected]>
>>> Cc: Swati Sharma <[email protected]>
>>> Signed-off-by: Chaitanya Kumar Borah <[email protected]>
>>> ---
>>>   lib/igt_kms.c              | 2 --
>>>   tests/kms_color_pipeline.c | 5 +++++
>>>   tests/kms_colorop.c        | 4 ++++
>>>   3 files changed, 9 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
>>> index 2eefb773b..c56127c42 100644
>>> --- a/lib/igt_kms.c
>>> +++ b/lib/igt_kms.c
>>> @@ -3201,8 +3201,6 @@ void igt_display_require(igt_display_t 
>>> *display, int drm_fd)
>>>       if (drmSetClientCap(drm_fd, 
>>> LOCAL_DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT, 1) == 0)
>>>           display->has_virt_cursor_plane = 1;
>>> -    if (drmSetClientCap(drm_fd, 
>>> DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE, 1) == 0)
>>> -        display->has_plane_color_pipeline = 1;
>>>       plane_resources = drmModeGetPlaneResources(display->drm_fd);
>>>       igt_assert(plane_resources);
>>> diff --git a/tests/kms_color_pipeline.c b/tests/kms_color_pipeline.c
>>> index 6119a830f..78860a845 100644
>>> --- a/tests/kms_color_pipeline.c
>>> +++ b/tests/kms_color_pipeline.c
>>> @@ -349,6 +349,7 @@ run_tests_for_plane(data_t *data)
>>>   int igt_main()
>>>   {
>>> +    int has_plane_color_pipeline = 0;
>>>       data_t data = {};
>>>       igt_fixture() {
>>> @@ -363,9 +364,13 @@ int igt_main()
>>>           if (drmSetClientCap(data.drm_fd, DRM_CLIENT_CAP_ATOMIC, 1) 
>>> == 0)
>>>               data.display.is_atomic = 1;
>>> +        if (drmSetClientCap(data.drm_fd, 
>>> DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE, 1) == 0)
>>> +            has_plane_color_pipeline = 1;
>>> +
>>>           kmstest_set_vt_graphics_mode();
>>>           igt_display_require(&data.display, data.drm_fd);
>>> +        data.display.has_plane_color_pipeline = 
>>> has_plane_color_pipeline;
>>>           igt_require(data.display.is_atomic);
>>>       }
>>> diff --git a/tests/kms_colorop.c b/tests/kms_colorop.c
>>> index 4db83470d..16db0b8ad 100644
>>> --- a/tests/kms_colorop.c
>>> +++ b/tests/kms_colorop.c
>>> @@ -418,10 +418,14 @@ int igt_main_args("d", long_options, help_str, 
>>> opt_handler, NULL)
>>>           igt_require_f(!ret, "error setting 
>>> DRM_CLIENT_CAP_WRITEBACK_CONNECTORS\n");
>>>           igt_display_require(&display, display.drm_fd);
>>> +        if (drmSetClientCap(display.drm_fd, 
>>> DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE, 1) == 0)
>>> +            display.has_plane_color_pipeline = 1;
>>>           kmstest_set_vt_graphics_mode();
>>>           igt_display_require(&display, display.drm_fd);
>>> +        if (drmSetClientCap(display.drm_fd, 
>>> DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE, 1) == 0)
>>> +            display.has_plane_color_pipeline = 1;
>>
>> Can't we follow same local variable pattern as kms_color_pipeline? 
>> That will avoid calling drmSetClientCap() twice.
>>
>
> We can but since this is a pure revert we can take it up in a separate 
> patch.
>
> I can float one if this gets approved.

Sure, lets get this fixed as well as part of a new patch.

Above changes LGTM

Reviewed-by: Swati Sharma <[email protected]>

>
> ==
> Chaitanya
>
>>
>>> igt_require(display.is_atomic);
>>>       }
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.