From 382dd45bb88fa92764bf0ecd655cb9890eb84960 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 24 May 2012 15:39:05 +0100 Subject: dix: add ability to link output slave gpus to the current gpu (v1.1) Just add the interfaces to attach/detach output slaves, and a linked list to keep track of them. Hook up the randr providers list to include these slaves. v1.1: add another assert to the add path. Reviewed-by: Keith Packard Reviewed-by: Adam Jackson Signed-off-by: Dave Airlie --- randr/rrprovider.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'randr') diff --git a/randr/rrprovider.c b/randr/rrprovider.c index aae309501..377320032 100644 --- a/randr/rrprovider.c +++ b/randr/rrprovider.c @@ -72,6 +72,10 @@ ProcRRGetProviders (ClientPtr client) if (pScrPriv->provider) total_providers++; + xorg_list_for_each_entry(iter, &pScreen->output_slave_list, output_head) { + pScrPriv = rrGetScrPriv(iter); + total_providers += pScrPriv->provider ? 1 : 0; + } xorg_list_for_each_entry(iter, &pScreen->unattached_list, unattached_head) { pScrPriv = rrGetScrPriv(iter); total_providers += pScrPriv->provider ? 1 : 0; @@ -105,6 +109,9 @@ ProcRRGetProviders (ClientPtr client) providers = (RRProvider *)extra; ADD_PROVIDER(pScreen); + xorg_list_for_each_entry(iter, &pScreen->output_slave_list, output_head) { + ADD_PROVIDER(iter); + } xorg_list_for_each_entry(iter, &pScreen->unattached_list, unattached_head) { ADD_PROVIDER(iter); } -- cgit v1.2.3