[Mesa-dev] [PATCH 3/3] targets/va: export radeon winsys_create functions

Nicolai Hähnle nhaehnle at gmail.com
Fri Mar 24 16:47:01 UTC 2017


On 24.03.2017 15:31, Marek Olšák wrote:
> On Fri, Mar 24, 2017 at 12:02 PM, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
>> On 24.03.2017 01:00, Marek Olšák wrote:
>>>
>>> From: Marek Olšák <marek.olsak at amd.com>
>>>
>>> This should fix this radeonsi error:
>>>   "mesa: for the -simplifycfg-sink-common option: may only occur zero or
>>> one
>>>    times!"
>>> ---
>>>  src/gallium/targets/va/va.sym | 2 ++
>>>  1 file changed, 2 insertions(+)
>>>
>>> diff --git a/src/gallium/targets/va/va.sym b/src/gallium/targets/va/va.sym
>>> index c925b2e..b19bc36 100644
>>> --- a/src/gallium/targets/va/va.sym
>>> +++ b/src/gallium/targets/va/va.sym
>>> @@ -1,6 +1,8 @@
>>>  {
>>>         global:
>>>                 __vaDriverInit_*_*;
>>> +               radeon_drm_winsys_create;
>>> +               amdgpu_winsys_create;
>>
>>
>> Oof, that's ugly, but at least it's only a change to va and the chance of
>> collision is low. Have you verified that it fixes the bug? If so, this (and
>> the other patches anyway) is
>
> It's not ugly. It's actually the correct fix to ensure that there is
> only one winsys & screen per device per process. Our GL and VDPAU
> drivers do it too and initially it was the only way to share
> pipe_resource between libs. It's also done by nouveau and freedreno.
> The idea is that first loaded lib exports the whole gallium driver via
> these symbols and any libs loaded later are forced to use it and can't
> use their own.

Ok, that's interesting, thanks. It feels a bit weird, but there's a 
definite upside to doing this that would be difficult to get otherwise.

Nicolai

>
> Marek
>


-- 
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.


More information about the mesa-dev mailing list