Go to file
Hans de Goede 5c7af02b10 xrandrprovider: Do not use separate lists for unbound / source / offload slaves
A single provider can be both a offload and source slave at the same time,
the use of seperate lists breaks in this case e.g. :

xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x7b cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 2 associated providers: 0 name:modesetting
Provider 1: id: 0x46 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 2 outputs: 5 associated providers: 0 name:modesetting

xrandr --setprovideroutputsource 1 0x7b
xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x7b cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 2 associated providers: 1 name:modesetting
Provider 1: id: 0x46 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 2 outputs: 5 associated providers: 1 name:modesetting

xrandr --setprovideroffloadsink 1 0x7b
xrandr --listproviders
Providers: number : 3
Provider 0: id: 0x7b cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 2 associated providers: 2 name:modesetting
Provider 1: id: 0x46 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 2 outputs: 5 associated providers: 2 name:modesetting
Provider 2: id: 0x46 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 2 outputs: 5 associated providers: 2 name:modesetting

Not good. The problem is that the provider with id 0x46 now is on both
the output_slave_list and the offload_slave_list of the master screen.

This commit fixes this by unifying all 3 lists into a single slaves list.

Note that this does change the struct _Screen definition, so this is an ABI
break. I do not expect any of the drivers to actually use the removed / changed
fields so a recompile should suffice.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
2016-06-17 11:35:58 +02:00
composite dix: Remove pointless client-state callbacks 2016-05-11 11:21:08 -04:00
config Remove SIGIO support for input [v5] 2016-05-26 16:07:54 -07:00
damageext dix: Remove pointless client-state callbacks 2016-05-11 11:21:08 -04:00
dbe Convert top level extensions to new *allocarray functions 2015-04-21 16:57:08 -07:00
dix xrandrprovider: Do not use separate lists for unbound / source / offload slaves 2016-06-17 11:35:58 +02:00
doc doc: Convert an \fP pair into appropriate tags. 2015-09-23 10:32:53 -04:00
dri3 dri3: remove unused file dri3int.h 2016-04-18 11:26:36 -04:00
exa exa: only draw valid trapezoids 2016-06-17 11:21:30 +02:00
fb Fix alphamap interactions with wfb 2015-09-29 12:21:34 -04:00
glamor glamor: Use DestroyPixmap instead of FreePicture for glyph atlas pixmap 2016-06-14 22:47:00 -07:00
glx glx: Stop tracking hasUnflushedCommands 2016-05-11 11:23:20 -04:00
hw xrandrprovider: Do not use separate lists for unbound / source / offload slaves 2016-06-17 11:35:58 +02:00
include xrandrprovider: Do not use separate lists for unbound / source / offload slaves 2016-06-17 11:35:58 +02:00
m4 Add ax_pthread.m4 to m4/ 2016-05-29 19:20:51 -07:00
man Xserver.man: document more transports for -nolisten & -listen options 2015-10-28 14:16:28 -04:00
mi dix: Update some comments to reflect the new non-SIGIO input model 2016-06-08 11:36:32 -04:00
miext damage: Make damageRegionProcessPending take a damage not a drawable 2016-05-18 15:25:44 -04:00
os dix: Use OsSignal() not signal() 2016-06-08 11:36:31 -04:00
present xrandrprovider: Do not use separate lists for unbound / source / offload slaves 2016-06-17 11:35:58 +02:00
pseudoramiX Convert top level extensions to new *allocarray functions 2015-04-21 16:57:08 -07:00
randr xrandrprovider: Do not use separate lists for unbound / source / offload slaves 2016-06-17 11:35:58 +02:00
record record: don't call RecordDeleteContext when AddResource fails 2016-03-08 10:20:04 -05:00
render exa: only draw valid trapezoids 2016-06-17 11:21:30 +02:00
test test: Actually verify that two equivalent touch points are the same 2016-05-29 18:43:16 -07:00
Xext xace: Remove the audit hooks and tune dispatch 2016-06-10 13:26:19 -04:00
xfixes dix: Remove pointless client-state callbacks 2016-05-11 11:21:08 -04:00
Xi Remove SIGIO support for input [v5] 2016-05-26 16:07:54 -07:00
xkb xkb: add hook to allow/deny AccessX key repeat 2016-06-03 09:39:42 +02:00
.dir-locals.el Add .dir-locals.el 2013-08-17 12:17:36 +02:00
.gitignore .gitignore: Add new autotools file 'test-driver' 2014-04-21 13:41:42 -07:00
autogen.sh autogen: Set a default subject prefix for patches 2016-02-08 17:41:38 -05:00
configure.ac Allow compile-time selection of a fallback input driver 2016-06-08 13:08:32 -04:00
COPYING modesetting: Merge modesetting's COPYING into the xserver's. 2014-09-15 12:46:02 -07:00
devbook.am doc: Create a script to filter xmlto output 2015-01-05 14:24:06 -08:00
docbook.am docbook.am: embed css styles inside the HTML HEAD element 2011-09-21 14:07:49 -07:00
fix-miregion Change region implementation names to eliminate the 'mi' prefix 2010-06-05 17:47:32 -07:00
fix-miregion-private Change region implementation names to eliminate the 'mi' prefix 2010-06-05 17:47:32 -07:00
fix-patch-whitespace Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fix-region Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
Makefile.am DIST_SUBDIRS needs to include glamor, even if it isn't built 2014-02-13 15:25:56 -08:00
manpages.am Xorg: Add a suid root wrapper 2014-03-12 08:50:05 +01:00
README packaging: provide a default README file #24206 2010-01-27 14:00:17 -08:00
xorg-server.m4 macros: clarify documentation 2012-11-05 13:24:57 -06:00
xorg-server.pc.in xfree86: link modules against Xorg symbols on Cygwin 2012-04-05 21:57:07 -05:00
xserver.ent.in doc: relocate xserver.ent in the package root directory 2011-05-14 11:22:26 -07:00

					X Server

The X server accepts requests from client applications to create windows,
which are (normally rectangular) "virtual screens" that the client program
can draw into.

Windows are then composed on the actual screen by the X server
(or by a separate composite manager) as directed by the window manager,
which usually communicates with the user via graphical controls such as buttons
and draggable titlebars and borders.

For a comprehensive overview of X Server and X Window System, consult the
following article:
http://en.wikipedia.org/wiki/X_server

All questions regarding this software should be directed at the
Xorg mailing list:

        http://lists.freedesktop.org/mailman/listinfo/xorg

Please submit bug reports to the Xorg bugzilla:

        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg

The master development code repository can be found at:

        git://anongit.freedesktop.org/git/xorg/xserver

        http://cgit.freedesktop.org/xorg/xserver

For patch submission instructions, see:

	http://www.x.org/wiki/Development/Documentation/SubmittingPatches

For more information on the git code manager, see:

        http://wiki.x.org/wiki/GitPage