dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Harry Wentland <harry.wentland@amd.com>
To: Pekka Paalanen <ppaalanen@gmail.com>
Cc: Mukunda Pramodh Kumar <mukunda.pramodh.kumar@intel.com>,
	Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>,
	dri-devel@lists.freedesktop.org, igt-dev@lists.freedesktop.org,
	Uma Shankar <uma.shankar@intel.com>,
	Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Subject: Re: [i-g-t 00/14] Add IGT support for plane color management
Date: Mon, 29 Nov 2021 10:20:21 -0500	[thread overview]
Message-ID: <b961943f-3e92-cb93-7b2c-a1ddabb971ed@amd.com> (raw)
In-Reply-To: <20211129112033.770d1c2a@eldfell>



On 2021-11-29 04:20, Pekka Paalanen wrote:
> On Fri, 26 Nov 2021 11:54:55 -0500
> Harry Wentland <harry.wentland@amd.com> wrote:
> 
>> On 2021-11-18 04:50, Pekka Paalanen wrote:
>>> On Mon, 15 Nov 2021 15:17:45 +0530
>>> Bhanuprakash Modem <bhanuprakash.modem@intel.com> wrote:
>>>   
>>>> From the Plane Color Management feature design, userspace can
>>>> take the smart blending decisions based on hardware supported
>>>> plane color features to obtain an accurate color profile.
>>>>
>>>> These IGT patches extend the existing pipe color management
>>>> tests to the plane level.
>>>>
>>>> Kernel implementation:
>>>> https://patchwork.freedesktop.org/series/90825/  
> 
> ...
> 
>>> I also found some things that looked hardware-specific in this code
>>> that to my understanding is supposed to be generic, and some concerns
>>> about UAPI as well.
>>>   
>>
>> I left some comments on intellisms in these patches.
>>
>> Do you have any specifics about your concerns about UAPI?
> 
> Yeah, the comments I left in the patches:
> 
> patch 3:
> 
>> Having to explicitly special-case index zero feels odd to me. Why does
>> it need explicit special-casing?
>>
>> To me it's a hint that the definitions of .start and .end are somehow
>> inconsistent.
> 
> patch 4 and 8:
> 
>>> +static bool is_hdr_plane(const igt_plane_t *plane)
>>> +{
>>> +	return plane->index >= 0 && plane->index < SDR_PLANE_BASE;  
>>
>> How can this be right for all KMS drivers?
>>
>> What is a HDR plane?
> 
> patch 12:
> 
>>> +struct drm_color_lut *coeffs_to_logarithmic_lut(data_t *data,
>>> +						const gamma_lut_t *gamma,
>>> +						uint32_t color_depth,
>>> +						int off)
>>> +{
>>> +	struct drm_color_lut *lut;
>>> +	int i, lut_size = gamma->size;
>>> +	/* This is the maximum value due to 16 bit precision in hardware. */  
>>
>> In whose hardware?
>>
>> Are igt tests not supposed to be generic for everything that exposes
>> the particular KMS properties?
>>
>> This also hints that the UAPI design is lacking, because userspace
>> needs to know hardware specific things out of thin air. Display servers
>> are not going to have hardware-specific code. They specialise based on
>> the existence of KMS properties instead.
> 
> ...
> 
>>> +void set_advance_gamma(data_t *data, igt_pipe_t *pipe, enum gamma_type type)
>>> +{
>>> +	igt_display_t *display = &data->display;
>>> +	gamma_lut_t *gamma_log;
>>> +	drmModePropertyPtr gamma_mode = NULL;
>>> +	segment_data_t *segment_info = NULL;
>>> +	struct drm_color_lut *lut = NULL;
>>> +	int lut_size = 0;
>>> +
>>> +	drmSetClientCap(data->drm_fd, DRM_CLIENT_CAP_ADVANCE_GAMMA_MODES, 1);  
>>
>> Is this how we are going to do cross-software DRM-master hand-over or
>> switching compatibility in general?
>>
>> Add a new client cap for every new KMS property, and if the KMS client
>> does not set the property, the kernel will magically reset it to ensure
>> the client's expectations are met? Is that how it works?
>>
>> Or why does this exist?
> 
> ...
> 
>>> +	drmSetClientCap(data->drm_fd, DRM_CLIENT_CAP_ADVANCE_GAMMA_MODES, 0);  
>>
>> I've never seen this done before. I did not know client caps could be
>> reset.
> 
> 
> So, patch 12 has the biggest UAPI questions, and patch 3 may need a
> UAPI change as well. The comments in patches 4 and 8 could be addressed
> with just removing that code since the concept of HDR/SDR planes does
> not exist in UAPI. Or, if that concept is needed then it's another UAPI
> problem.
> 

Thanks for reiterating your points. I missed your earlier replies and
found them in my IGT folder just now.

Looks like we're on the same page.

Harry

> 
> Thanks,
> pq
> 


  reply	other threads:[~2021-11-29 15:20 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-15  9:47 [i-g-t 00/14] Add IGT support for plane color management Bhanuprakash Modem
2021-11-15  9:47 ` [i-g-t 01/14] HAX: Get uapi headers to compile the IGT Bhanuprakash Modem
2021-11-15  9:47 ` [i-g-t 02/14] lib/igt_kms: Add plane color mgmt properties Bhanuprakash Modem
2021-11-15  9:47 ` [i-g-t 03/14] kms_color_helper: Add helper functions for plane color mgmt Bhanuprakash Modem
2021-11-18  8:41   ` Pekka Paalanen
2022-01-03  4:02     ` Modem, Bhanuprakash
2021-11-26 16:54   ` Harry Wentland
2022-01-03  4:02     ` Modem, Bhanuprakash
2021-11-15  9:47 ` [i-g-t 04/14] tests/kms_color: New subtests for Plane gamma Bhanuprakash Modem
2021-11-18  9:02   ` Pekka Paalanen
2022-01-03  4:09     ` Modem, Bhanuprakash
2021-11-26 16:55   ` Harry Wentland
2022-01-03  4:05     ` Modem, Bhanuprakash
2022-01-04 21:19       ` Harry Wentland
2022-01-05 11:21         ` Modem, Bhanuprakash
2022-01-05 22:13           ` Harry Wentland
2021-11-15  9:47 ` [i-g-t 05/14] tests/kms_color: New subtests for Plane degamma Bhanuprakash Modem
2021-11-15  9:47 ` [i-g-t 06/14] tests/kms_color: New subtests for Plane CTM Bhanuprakash Modem
2021-11-26 16:55   ` Harry Wentland
2021-11-15  9:47 ` [i-g-t 07/14] tests/kms_color: New negative tests for plane level color mgmt Bhanuprakash Modem
2021-11-18  9:19   ` Pekka Paalanen
2021-11-29 14:56     ` [igt-dev] " Harry Wentland
2022-01-03  4:05     ` Modem, Bhanuprakash
2021-11-15  9:47 ` [i-g-t 08/14] tests/kms_color_chamelium: New subtests for Plane gamma Bhanuprakash Modem
2021-11-18  9:32   ` Pekka Paalanen
2022-01-03  4:06     ` Modem, Bhanuprakash
2021-11-15  9:47 ` [i-g-t 09/14] tests/kms_color_chamelium: New subtests for Plane degamma Bhanuprakash Modem
2021-11-15  9:47 ` [i-g-t 10/14] tests/kms_color_chamelium: New subtests for Plane CTM Bhanuprakash Modem
2021-11-15  9:47 ` [i-g-t 11/14] lib/igt_kms: Add pipe color mgmt properties Bhanuprakash Modem
2021-11-18  9:34   ` Pekka Paalanen
2021-11-15  9:47 ` [i-g-t 12/14] kms_color_helper: Add helper functions to support logarithmic gamma mode Bhanuprakash Modem
2021-11-18  9:45   ` Pekka Paalanen
2022-01-03  4:07     ` Modem, Bhanuprakash
2021-11-26 16:55   ` Harry Wentland
2022-01-03  4:08     ` Modem, Bhanuprakash
2021-11-15  9:47 ` [i-g-t 13/14] tests/kms_color: Extended IGT tests " Bhanuprakash Modem
2021-11-15  9:47 ` [i-g-t 14/14] tests/kms_color_chamelium: " Bhanuprakash Modem
2021-11-18  9:50 ` [i-g-t 00/14] Add IGT support for plane color management Pekka Paalanen
2021-11-26 16:54   ` Harry Wentland
2021-11-29  9:20     ` Pekka Paalanen
2021-11-29 15:20       ` Harry Wentland [this message]
2022-01-03  4:11         ` Modem, Bhanuprakash
2022-01-04 22:01           ` Harry Wentland

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b961943f-3e92-cb93-7b2c-a1ddabb971ed@amd.com \
    --to=harry.wentland@amd.com \
    --cc=bhanuprakash.modem@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=juhapekka.heikkila@gmail.com \
    --cc=mukunda.pramodh.kumar@intel.com \
    --cc=ppaalanen@gmail.com \
    --cc=uma.shankar@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).