[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