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

Marek Olšák maraeo at gmail.com
Fri Mar 24 14:31:12 UTC 2017


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.

Marek


More information about the mesa-dev mailing list