diff options
author | Dave Airlie <airlied@redhat.com> | 2012-05-24 15:39:05 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-07-07 10:37:10 +0100 |
commit | 382dd45bb88fa92764bf0ecd655cb9890eb84960 (patch) | |
tree | 85b930bba263dd8f4fd174ec09df3612be978965 /randr | |
parent | 05d2472cd242293a5fa205efff5734a3380072b4 (diff) |
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 <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'randr')
-rw-r--r-- | randr/rrprovider.c | 7 |
1 files changed, 7 insertions, 0 deletions
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); } |