[Mesa-dev] [RFC 7/7] radeon: remove screen ref counting

Christian König deathsimple at vodafone.de
Mon Jun 20 14:27:43 UTC 2016


Am 20.06.2016 um 16:13 schrieb Rob Herring:
> On Mon, Jun 20, 2016 at 8:31 AM, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
>> On 17.06.2016 21:05, Rob Herring wrote:
>>> On Fri, Jun 17, 2016 at 1:45 PM, Emil Velikov <emil.l.velikov at gmail.com>
>>> wrote:
>>>> On 17 June 2016 at 18:45, Rob Herring <robh at kernel.org> wrote:
>>>>> Now that the pipe-loader is reference counting the screen creation, it
>>>>> is unnecessary to do in it the winsys/driver.
>>>
>>> [...]
>>>
>>>>> -static unsigned hash_dev(void *key)
>>>>> -{
>>>>> -#if defined(PIPE_ARCH_X86_64)
>>>>> -   return pointer_to_intptr(key) ^ (pointer_to_intptr(key) >> 32);
>>>>> -#else
>>>>> -   return pointer_to_intptr(key);
>>>>> -#endif
>>>>> -}
>>>>> -
>>>> As you can see above the hashing algo is different for AMDGPU. Not
>>>> familiar with the story behind any of this, so hopefully the AMD folk
>>>> will give you some insights.
>>>
>>> They are also hashing the fd in libdrm amdgpu_device_initialize(), so
>>> I thought this was redundant (unless you have an old libdrm).
>>
>> Correct. The idea is that there may be non-Mesa users of libdrm_amdgpu (in
>> particular, the amdgpu-pro stack).
>>
>> The hashing in libdrm is different as well, though, and apparently on
>> purpose, see commit c68d58aa14b7f of libdrm. This might mean the series
>> doesn't work as is. Christian or Marek might know more.
> Okay, so the screen needs to be re-used across card and render nodes.
> Seems like other drivers could need that behavior as well and I should
> use the libdrm version.

Well not necessarily. Reusing the screen between cards and render nodes 
only works if the driver can deal with that.

E.g. for amdgpu we ran into the situation that you can create the screen 
initially only with a render node and then get a DRI2 authenticated fd 
later on.

What we do in libdrm is to remember the DRI2 authenticated fd separately 
to make use of it for flink import/exports. I fear that your cleanup 
would break that behavior.

Regards,
Christian.

>
> Rob
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev



More information about the mesa-dev mailing list