[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