xserver/hw/xfree86
Aaron Plattner bdd1e22cbd xfree86: detach scanout pixmaps when detaching output GPUs
Commit 8f4640bdb9 fixed a bit of a
chicken-and-egg problem by detaching GPU screens when their providers
are destroyed, which happens before CloseScreen is called.  However,
this created a new problem: the GPU screen tears down its RandR crtc
objects during CloseScreen and if one of them is active, it tries to
detach the scanout pixmap then.  This crashes because
RRCrtcDetachScanoutPixmap tries to get the master screen's screen
pixmap, but crtc->pScreen->current_master is already NULL at that
point.

It doesn't make sense for an unbound GPU screen to still be scanning
out its former master screen's pixmap, so detach them first when the
provider is destroyed.

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2013-07-25 11:15:53 -07:00
..
common dix: scale y back instead of x up when pre-scaling coordinates 2013-07-22 14:18:30 +10:00
ddc Define prototypes for hw/xfree86/modes/xf86Modes.c only in xf86Modes.h. 2013-04-08 09:19:34 -07:00
dixmods Constify extensions in LoadExtension users 2012-11-21 11:13:55 +11:00
doc dix: Remove refs to mi backing store from docs 2012-09-23 10:31:39 -07:00
dri Merge remote-tracking branch 'yselkowitz/master' 2012-12-19 12:22:03 -08:00
dri2 Revert "DRI2: re-allocate DRI2 drawable if pixmap serial changes" 2013-06-18 10:54:22 -07:00
exa api: rework the X server driver API to avoid global arrays. 2012-06-05 13:22:18 +01:00
fbdevhw Define prototypes for hw/xfree86/modes/xf86Modes.c only in xf86Modes.h. 2013-04-08 09:19:34 -07:00
i2c Fix formatting of address operators 2012-12-05 18:09:48 -06:00
int10 int10: fix pci_device_read_rom usage 2012-10-04 13:06:02 -07:00
loader Fix up formatting of initializers for arrays of structs 2012-08-06 15:22:53 -07:00
man dix: allow a ConstantDeceleration between 0 and 1 (#66134) 2013-07-17 14:27:26 +10:00
modes xfree86: detach scanout pixmaps when detaching output GPUs 2013-07-25 11:15:53 -07:00
os-support Fix mouse header include on DragonFly and FreeBSD 2013-07-17 14:27:26 +10:00
parser Remove obsolete tab stop comments from hw/xfree86/parser/*.c 2012-06-20 21:41:52 -07:00
ramdac Abstract cursor refcounting 2013-05-15 19:17:57 +10:00
shadowfb api: rework the X server driver API to avoid global arrays. 2012-06-05 13:22:18 +01:00
utils Define prototypes for hw/xfree86/modes/xf86Modes.c only in xf86Modes.h. 2013-04-08 09:19:34 -07:00
vbe Define prototypes for hw/xfree86/modes/xf86Modes.c only in xf86Modes.h. 2013-04-08 09:19:34 -07:00
vgahw xf86dga: handle DGAAvailable for gpu screens. (v2) 2012-07-07 10:37:10 +01:00
x86emu Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
.gitignore xfree86: Move sdksyms generation to ddx toplevel 2011-06-23 05:28:31 -07:00
Makefile.am Remove XAA 2012-07-10 00:41:57 -07:00
sdksyms.sh dix: fix redundant redeclaration warnings in dixfont 2012-11-05 13:24:59 -06:00
xorgconf.cpp xfree86: use sed rather than cpp to perform string substitutions 2011-01-18 15:11:14 -08:00