[PATCH 12/36] dix: add unattached list for attaching screens to initially.

Dave Airlie airlied at gmail.com
Mon Jul 2 09:44:45 PDT 2012


On Mon, Jul 2, 2012 at 5:31 PM, walter harms <wharms at bfs.de> wrote:
>
>
> Am 02.07.2012 12:13, schrieb Dave Airlie:
>> From: Dave Airlie <airlied at redhat.com>
>>
>> This list is meant for attaching unbound gpu screens to initially,
>> before the client side rebinds them.
>>
>> Signed-off-by: Dave Airlie <airlied at redhat.com>
>> ---
>>  dix/dispatch.c       |   19 +++++++++++++++++++
>>  include/screenint.h  |    5 +++++
>>  include/scrnintstr.h |    6 ++++++
>>  3 files changed, 30 insertions(+)
>>
>> diff --git a/dix/dispatch.c b/dix/dispatch.c
>> index b0fc531..b9da233 100644
>> --- a/dix/dispatch.c
>> +++ b/dix/dispatch.c
>> @@ -3740,6 +3740,8 @@ static int init_screen(ScreenPtr pScreen, int i, Bool gpu)
>>      pScreen->ClipNotify = 0;    /* for R4 ddx compatibility */
>>      pScreen->CreateScreenResources = 0;
>>
>> +    xorg_list_init(&pScreen->unattached_list);
>> +
>>      /*
>>       * This loop gets run once for every Screen that gets added,
>>       * but thats ok.  If the ddx layer initializes the formats
>> @@ -3888,3 +3890,20 @@ RemoveGPUScreen(ScreenPtr pScreen)
>>      free(pScreen);
>>
>>  }
>> +
>> +void
>> +AttachUnboundGPU(ScreenPtr pScreen, ScreenPtr new)
>> +{
>> +    assert(new->isGPU);
>> +    xorg_list_add(&new->unattached_head, &pScreen->unattached_list);
>> +    new->current_master = pScreen;
>> +}
>> +
>> +void
>> +DetachUnboundGPU(ScreenPtr slave)
>> +{
>> +    assert(slave->isGPU);
>> +    xorg_list_del(&slave->unattached_head);
>> +    slave->current_master = NULL;
>> +}
>> +
>
> I do not know the code so your are sure that there is no second user
> so no lock is needed ?

server has no threads and I don't think sigio will get in here.

Dave.


More information about the xorg-devel mailing list