xorg-server: Changes to 'ubuntu+1'
COPYING | 24
ChangeLog | 270 +
Xext/panoramiXprocs.c | 12
Xext/saver.c | 16
Xext/security.c | 1
Xext/shm.c | 15
Xext/xvdisp.c | 98
Xext/xvdix.h | 31
Xext/xvmain.c | 146
composite/compext.c | 3
composite/compinit.c | 23
composite/compint.h | 1
composite/compwindow.c | 7
config/config.c | 161
config/udev.c | 10
configure.ac | 115
debian/changelog | 56
debian/control | 17
debian/patches/06_Revert-fb-reorder-Bresenham-error-correction-to-avoi.diff | 68
debian/patches/111_armel-drv-fallbacks.patch | 27
debian/patches/228_autobind_gpu.patch | 29
debian/patches/config-add-no-removal.patch | 13
debian/patches/drm_device_keep_trying.patch | 30
debian/patches/ppc64el-endian-fix.patch | 34
debian/patches/series | 5
debian/patches/xf86-fixup-detection.patch | 79
debian/patches/xmir.patch | 162
debian/rules | 14
debian/serverminver | 6
debian/upstream/signing-key.asc | 64
debian/xserver-xorg-core.install | 2
dix/devices.c | 61
dix/dispatch.c | 56
dix/extension.c | 2
dix/gc.c | 3
dix/getevents.c | 22
dix/main.c | 2
dix/pixmap.c | 18
dix/protocol.txt | 30
dix/registry.c | 94
dix/resource.c | 2
dix/window.c | 73
doc/Xserver-spec.xml | 6
dri3/dri3.c | 10
dri3/dri3.h | 2
exa/exa_accel.c | 20
exa/exa_priv.h | 19
exa/exa_unaccel.c | 11
fb/Makefile.am | 2
fb/fb.h | 342 -
fb/fbbits.c | 12
fb/fbblt.c | 271 -
fb/fbbltone.c | 314 -
fb/fbcopy.c | 2
fb/fbfill.c | 84
fb/fbgc.c | 83
fb/fbglyph.c | 8
fb/fbline.c | 4
fb/fboverlay.c | 5
fb/fboverlay.h | 4
fb/fbpict.c | 12
fb/fbpict.h | 4
fb/fbpoint.c | 2
fb/fbpush.c | 4
fb/fbrop.h | 10
fb/fbscreen.c | 4
fb/fbseg.c | 42
fb/fbstipple.c | 264 -
fb/fbtile.c | 163
fb/fbutil.c | 308 -
fb/fbwindow.c | 6
fb/wfbrename.h | 25
glamor/Makefile.am | 16
glamor/glamor.c | 63
glamor/glamor.h | 23
glamor/glamor_copy.c | 747 ++++
glamor/glamor_copyarea.c | 626 ---
glamor/glamor_copyplane.c | 75
glamor/glamor_copywindow.c | 56
glamor/glamor_core.c | 202 -
glamor/glamor_dash.c | 370 ++
glamor/glamor_egl.c | 1
glamor/glamor_eglmodule.c | 1
glamor/glamor_fill.c | 356 --
glamor/glamor_font.c | 7
glamor/glamor_glyphblt.c | 154
glamor/glamor_glyphs.c | 96
glamor/glamor_gradient.c | 19
glamor/glamor_largepixmap.c | 109
glamor/glamor_lines.c | 187 +
glamor/glamor_picture.c | 18
glamor/glamor_pixmap.c | 579 ---
glamor/glamor_points.c | 3
glamor/glamor_polylines.c | 136
glamor/glamor_prepare.c | 271 +
glamor/glamor_prepare.h | 52
glamor/glamor_priv.h | 317 +
glamor/glamor_program.c | 56
glamor/glamor_program.h | 6
glamor/glamor_render.c | 89
glamor/glamor_segment.c | 44
glamor/glamor_segs.c | 188 +
glamor/glamor_spans.c | 3
glamor/glamor_sync.c | 117
glamor/glamor_text.c | 6
glamor/glamor_tile.c | 293 -
glamor/glamor_transfer.c | 48
glamor/glamor_transform.c | 72
glamor/glamor_trapezoid.c | 1718 ----------
glamor/glamor_utils.c | 79
glamor/glamor_utils.h | 218 -
glamor/glamor_xv.c | 287 -
glx/glxcmds.c | 7
glx/glxdri2.c | 4
glx/glxdriswrast.c | 2
glx/indirect_dispatch.c | 25
glx/indirect_dispatch_swap.c | 26
hw/dmx/dmxgc.c | 12
hw/dmx/dmxgcops.c | 8
hw/dmx/dmxwindow.c | 4
hw/dmx/dmxwindow.h | 3
hw/kdrive/Xkdrive.man | 7
hw/kdrive/ephyr/Makefile.am | 6
hw/kdrive/ephyr/ephyr.c | 32
hw/kdrive/ephyr/ephyr.h | 18
hw/kdrive/ephyr/ephyr_glamor_glx.c | 24
hw/kdrive/ephyr/ephyr_glamor_xv.c | 161
hw/kdrive/ephyr/ephyrcursor.c | 262 +
hw/kdrive/ephyr/ephyrinit.c | 118
hw/kdrive/ephyr/ephyrvideo.c | 34
hw/kdrive/ephyr/hostx.c | 229 +
hw/kdrive/ephyr/hostx.h | 14
hw/kdrive/ephyr/man/Xephyr.man | 3
hw/kdrive/src/kdrive.c | 31
hw/kdrive/src/kdrive.h | 16
hw/kdrive/src/kxv.c | 359 --
hw/kdrive/src/kxv.h | 39
hw/vfb/InitOutput.c | 55
hw/xfree86/Makefile.am | 4
hw/xfree86/common/compiler.h | 659 ---
hw/xfree86/common/xf86.h | 8
hw/xfree86/common/xf86Bus.c | 3
hw/xfree86/common/xf86Config.c | 65
hw/xfree86/common/xf86Configure.c | 1
hw/xfree86/common/xf86Cursor.c | 19
hw/xfree86/common/xf86Events.c | 1
hw/xfree86/common/xf86Globals.c | 1
hw/xfree86/common/xf86Init.c | 25
hw/xfree86/common/xf86Module.h | 6
hw/xfree86/common/xf86Privstr.h | 8
hw/xfree86/common/xf86RandR.c | 32
hw/xfree86/common/xf86VGAarbiterPriv.h | 10
hw/xfree86/common/xf86Xinput.h | 5
hw/xfree86/common/xf86cmap.c | 46
hw/xfree86/common/xf86pciBus.c | 39
hw/xfree86/common/xf86platformBus.c | 81
hw/xfree86/common/xf86platformBus.h | 105
hw/xfree86/common/xf86str.h | 2
hw/xfree86/common/xf86xv.c | 302 -
hw/xfree86/common/xf86xv.h | 41
hw/xfree86/common/xf86xvpriv.h | 2
hw/xfree86/ddc/ddc.c | 58
hw/xfree86/ddc/xf86DDC.h | 5
hw/xfree86/dixmods/extmod/modinit.h | 80
hw/xfree86/doc/README.DRIcomp | 3
hw/xfree86/doc/Registry | 1
hw/xfree86/doc/ddxDesign.xml | 35
hw/xfree86/dri/dri.c | 77
hw/xfree86/dri/dri.h | 11
hw/xfree86/dri2/Makefile.am | 2
hw/xfree86/dri2/dri2.c | 62
hw/xfree86/dri2/pci_ids/Makefile.am | 11
hw/xfree86/dri2/pci_ids/i810_pci_ids.h | 4
hw/xfree86/dri2/pci_ids/i915_pci_ids.h | 15
hw/xfree86/dri2/pci_ids/i965_pci_ids.h | 115
hw/xfree86/dri2/pci_ids/pci_id_driver_map.h | 80
hw/xfree86/dri2/pci_ids/r200_pci_ids.h | 24
hw/xfree86/dri2/pci_ids/r300_pci_ids.h | 227 +
hw/xfree86/dri2/pci_ids/r600_pci_ids.h | 327 +
hw/xfree86/dri2/pci_ids/radeon_pci_ids.h | 23
hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h | 157
hw/xfree86/dri2/pci_ids/vmwgfx_pci_ids.h | 1
hw/xfree86/drivers/Makefile.am | 5
hw/xfree86/drivers/modesetting/Makefile.am | 66
hw/xfree86/drivers/modesetting/dri2.c | 863 +++++
hw/xfree86/drivers/modesetting/driver.c | 1231 +++++++
hw/xfree86/drivers/modesetting/driver.h | 124
hw/xfree86/drivers/modesetting/drmmode_display.c | 1691 +++++++++
hw/xfree86/drivers/modesetting/drmmode_display.h | 163
hw/xfree86/drivers/modesetting/modesetting.man | 57
hw/xfree86/drivers/modesetting/vblank.c | 383 ++
hw/xfree86/glamor_egl/Makefile.am | 3
hw/xfree86/glamor_egl/glamor_xf86_xv.c | 185 +
hw/xfree86/i2c/Makefile.am | 36
hw/xfree86/i2c/bt829.c | 822 ----
hw/xfree86/i2c/bt829.h | 103
hw/xfree86/i2c/bt829_module.c | 20
hw/xfree86/i2c/fi1236.c | 686 ---
hw/xfree86/i2c/fi1236.h | 113
hw/xfree86/i2c/fi1236_module.c | 24
hw/xfree86/i2c/msp3430.c | 779 ----
hw/xfree86/i2c/msp3430.h | 116
hw/xfree86/i2c/msp3430_module.c | 24
hw/xfree86/i2c/tda8425.c | 83
hw/xfree86/i2c/tda8425.h | 44
hw/xfree86/i2c/tda8425_module.c | 24
hw/xfree86/i2c/tda9850.c | 136
hw/xfree86/i2c/tda9850.h | 43
hw/xfree86/i2c/tda9850_module.c | 24
hw/xfree86/i2c/tda9885.c | 100
hw/xfree86/i2c/tda9885.h | 63
hw/xfree86/i2c/tda9885_module.c | 24
hw/xfree86/i2c/uda1380.c | 196 -
hw/xfree86/i2c/uda1380.h | 81
hw/xfree86/i2c/uda1380_module.c | 24
hw/xfree86/int10/generic.c | 52
hw/xfree86/loader/loader.c | 23
hw/xfree86/loader/loadmod.c | 160
hw/xfree86/man/xorg.conf.man | 22
hw/xfree86/modes/Makefile.am | 1
hw/xfree86/modes/xf86DisplayIDModes.c | 444 --
hw/xfree86/modes/xf86Rotate.c | 21
hw/xfree86/os-support/bsd/Makefile.am | 4
hw/xfree86/os-support/bsd/alpha_video.c | 446 --
hw/xfree86/os-support/bsd/arm_video.c | 423 --
hw/xfree86/os-support/bsd/bsd_axp.c | 71
hw/xfree86/os-support/bsd/bsd_ev56.c | 24
hw/xfree86/os-support/bsd/i386_video.c | 562 ---
hw/xfree86/os-support/bsd/ppc_video.c | 56
hw/xfree86/os-support/bsd/sparc64_video.c | 40
hw/xfree86/os-support/bus/xf86Pci.h | 21
hw/xfree86/os-support/hurd/Makefile.am | 2
hw/xfree86/os-support/hurd/hurd_mmap.c | 94
hw/xfree86/os-support/hurd/hurd_video.c | 65
hw/xfree86/os-support/linux/Makefile.am | 10
hw/xfree86/os-support/linux/int10/linux.c | 19
hw/xfree86/os-support/linux/lnx_axp.c | 103
hw/xfree86/os-support/linux/lnx_ev56.c | 24
hw/xfree86/os-support/linux/lnx_init.c | 6
hw/xfree86/os-support/linux/lnx_platform.c | 52
hw/xfree86/os-support/linux/lnx_video.c | 688 ----
hw/xfree86/os-support/shared/bios_mmap.c | 135
hw/xfree86/os-support/shared/vidmem.c | 205 -
hw/xfree86/os-support/shared/xf86Axp.c | 60
hw/xfree86/os-support/shared/xf86Axp.h | 33
hw/xfree86/os-support/solaris/sun_vid.c | 140
hw/xfree86/os-support/stub/Makefile.am | 1
hw/xfree86/os-support/stub/stub_bios.c | 12
hw/xfree86/os-support/xf86OSpriv.h | 13
hw/xfree86/os-support/xf86_OSlib.h | 4
hw/xfree86/os-support/xf86_OSproc.h | 26
hw/xfree86/parser/Device.c | 10
hw/xfree86/parser/xf86Parser.h | 1
hw/xfree86/parser/xf86tokens.h | 1
hw/xfree86/ramdac/xf86Cursor.c | 4
hw/xfree86/ramdac/xf86RamDacCmap.c | 1
hw/xfree86/sdksyms.sh | 3
hw/xfree86/vgahw/Makefile.am | 2
hw/xfree86/vgahw/vgaCmap.c | 276 -
hw/xfree86/x86emu/x86emu/x86emui.h | 2
hw/xnest/GC.c | 56
hw/xnest/Window.c | 4
hw/xnest/XNGC.h | 1
hw/xnest/XNWindow.h | 3
hw/xquartz/xpr/dri.c | 72
hw/xquartz/xpr/dri.h | 12
hw/xquartz/xpr/xprScreen.c | 23
hw/xwayland/Makefile.am | 4
hw/xwayland/xwayland-input.c | 51
hw/xwayland/xwayland.c | 48
hw/xwayland/xwayland.h | 2
hw/xwin/InitInput.c | 1
hw/xwin/InitOutput.c | 46
hw/xwin/Makefile.am | 69
hw/xwin/glx/.gitignore | 5
hw/xwin/glx/gen_gl_wrappers.py | 13
hw/xwin/glx/glshim.c | 3
hw/xwin/glx/glwindows.h | 5
hw/xwin/glx/indirect.c | 19
hw/xwin/glx/winpriv.c | 2
hw/xwin/man/XWin.man | 4
hw/xwin/win.h | 184 -
hw/xwin/winSetAppUserModelID.c | 2
hw/xwin/winclip.c | 42
hw/xwin/winclipboard.h | 126
hw/xwin/winclipboard/Makefile.am | 25
hw/xwin/winclipboard/debug.c | 52
hw/xwin/winclipboard/internal.h | 109
hw/xwin/winclipboard/textconv.c | 151
hw/xwin/winclipboard/thread.c | 498 ++
hw/xwin/winclipboard/winclipboard.h | 36
hw/xwin/winclipboard/wndproc.c | 531 +++
hw/xwin/winclipboard/xevents.c | 863 +++++
hw/xwin/winclipboard/xwinclip.c | 127
hw/xwin/winclipboard/xwinclip.man | 61
hw/xwin/winclipboardinit.c | 150
hw/xwin/winclipboardtextconv.c | 147
hw/xwin/winclipboardthread.c | 467 --
hw/xwin/winclipboardwndproc.c | 529 ---
hw/xwin/winclipboardwrappers.c | 226 -
hw/xwin/winclipboardxevents.c | 703 ----
hw/xwin/winconfig.h | 1
hw/xwin/wincreatewnd.c | 22
hw/xwin/windialogs.c | 11
hw/xwin/windisplay.c | 64
hw/xwin/windisplay.h | 34
hw/xwin/winengine.c | 23
hw/xwin/winfillsp.c | 842 ----
hw/xwin/winfont.c | 82
hw/xwin/wingc.c | 235 -
hw/xwin/wingetsp.c | 171
hw/xwin/winglobals.c | 13
hw/xwin/winglobals.h | 4
hw/xwin/winmisc.c | 63
hw/xwin/winmsg.h | 2
hw/xwin/winmsgwindow.c | 5
hw/xwin/winmultiwindowicons.c | 4
hw/xwin/winmultiwindowshape.c | 2
hw/xwin/winmultiwindowwindow.c | 14
hw/xwin/winmultiwindowwm.c | 7
hw/xwin/winnativegdi.c | 491 --
hw/xwin/winpfbdd.c | 620 ---
hw/xwin/winpixmap.c | 223 -
hw/xwin/winpolyline.c | 53
hw/xwin/winprefs.c | 10
hw/xwin/winprefslex.l | 2
hw/xwin/winprefsyacc.y | 11
hw/xwin/winrop.c | 142
hw/xwin/winscrinit.c | 139
hw/xwin/winsetsp.c | 175 -
hw/xwin/winshadddnl.c | 4
hw/xwin/winwindow.c | 219 -
hw/xwin/winwndproc.c | 17
include/callback.h | 18
include/colormap.h | 16
include/cursor.h | 4
include/dix-config.h.in | 22
include/dix.h | 75
include/dixfont.h | 10
include/dixgrabs.h | 4
include/gc.h | 4
include/gcstruct.h | 55
include/hotplug.h | 69
include/input.h | 11
include/os.h | 92
include/pixmap.h | 20
include/pixmapstr.h | 1
include/property.h | 36
include/registry.h | 40
include/resource.h | 74
include/scrnintstr.h | 126
include/servermd.h | 286 -
include/window.h | 20
include/windowstr.h | 3
include/xkbsrv.h | 18
include/xorg-config.h.in | 6
include/xorg-server.h.in | 7
man/Xserver.man | 7
mi/Makefile.am | 11
mi/mi.h | 141
mi/miarc.c | 216 +
mi/mibitblt.c | 18
mi/micmap.c | 44
mi/micoord.h | 20
mi/micopy.c | 8
mi/micursor.c | 68
mi/midash.c | 1
mi/mieq.c | 2
mi/miexpose.c | 111
mi/mifillarc.c | 151
mi/mifillarc.h | 9
mi/mifillrct.c | 2
mi/mifpoly.h | 42
mi/mifpolycon.c | 249 -
mi/migc.c | 45
mi/mioverlay.c | 72
mi/mipointer.c | 14
mi/mipoly.c | 619 +++
mi/mipoly.h | 20
mi/mipolycon.c | 235 -
mi/mipolygen.c | 213 -
mi/mipolyutil.c | 369 --
mi/miscrinit.c | 3
mi/mispans.c | 526 ---
mi/mispans.h | 87
mi/misprite.c | 4
mi/mivaltree.c | 52
mi/miwideline.c | 546 +++
mi/miwideline.h | 26
mi/miwindow.c | 55
mi/mizerarc.c | 2
mi/mizerline.c | 16
miext/rootless/rootlessValTree.c | 65
miext/shadow/shadow.c | 54
miext/shadow/shadow.h | 6
os/access.c | 49
os/connection.c | 9
os/log.c | 10
os/oscolor.c | 1554 ++++-----
os/utils.c | 84
present/present.c | 39
present/present.h | 1
present/present_event.c | 2
present/present_priv.h | 2
present/present_screen.c | 1
randr/rrcrtc.c | 74
randr/rrpointer.c | 11
render/mipict.c | 34
render/mirect.c | 2
render/picture.c | 82
render/picturestr.h | 6
test/Makefile.am | 5
test/list.c | 24
test/signal-logging.c | 7
test/xi2/protocol-common.c | 26
xfixes/region.c | 27
xkb/xkb.c | 2
xkb/xkbEvents.c | 9
418 files changed, 17122 insertions(+), 27894 deletions(-)
New commits:
commit cb27b76cdf0d0801a6bbf19a55bc4d68207f80e9
Author: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
Date: Tue Nov 4 16:29:22 2014 +0100
update packaging
diff --git a/debian/changelog b/debian/changelog
index 743eb14..05cbc8e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+xorg-server (2:1.17.0~rc1-0ubuntu1) UNRELEASED; urgency=medium
+
+ * Merge with 1.17 branch.
+ - ABI bumped.
+ - Patches refreshed.
+ - Modesetting moved to xorg-server.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Tue, 04 Nov 2014 16:14:20 +0100
+
xorg-server (2:1.16.1-1ubuntu1) vivid; urgency=medium
* Merge from released debian-unstable.
diff --git a/debian/patches/series b/debian/patches/series
index 77bbd08..4b13dcc 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -51,4 +51,3 @@ xmir.patch
drm_device_keep_trying.patch
xi2-resize-touch.patch
mi-dont-process-disabled.patch
-revert-abi.patch
diff --git a/debian/serverminver b/debian/serverminver
index 13cf097..66cac6b 100644
--- a/debian/serverminver
+++ b/debian/serverminver
@@ -1,3 +1,3 @@
-2:1.15.99.903
-ABI_VIDEODRV_VERSION:18.0
-ABI_XINPUT_VERSION:21.0
+2:1.16.99.903
+ABI_VIDEODRV_VERSION:19.0
+ABI_XINPUT_VERSION:22.0
commit 3f5c0980c37be258dd41123e534f226ab0810bbb
Author: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
Date: Tue Nov 4 16:29:10 2014 +0100
Bump ABI for XInput.
diff --git a/debian/patches/revert-abi.patch b/debian/patches/revert-abi.patch
deleted file mode 100644
index 00900b8..0000000
--- a/debian/patches/revert-abi.patch
+++ /dev/null
@@ -1,816 +0,0 @@
---- a/Xext/panoramiXprocs.c
-+++ b/Xext/panoramiXprocs.c
-@@ -1193,8 +1193,9 @@
- Bool overlap;
-
- RegionValidate(&totalReg, &overlap);
-- SendGraphicsExpose(client, &totalReg, stuff->dstDrawable,
-- X_CopyArea, 0);
-+ (*pDst->pScreen->SendGraphicsExpose) (client, &totalReg,
-+ stuff->dstDrawable,
-+ X_CopyArea, 0);
- RegionUninit(&totalReg);
- }
- }
-@@ -1305,8 +1306,9 @@
- Bool overlap;
-
- RegionValidate(&totalReg, &overlap);
-- SendGraphicsExpose(client, &totalReg, stuff->dstDrawable,
-- X_CopyPlane, 0);
-+ (*pdstDraw->pScreen->SendGraphicsExpose) (client, &totalReg,
-+ stuff->dstDrawable,
-+ X_CopyPlane, 0);
- RegionUninit(&totalReg);
- }
-
---- a/composite/compinit.c
-+++ b/composite/compinit.c
-@@ -120,12 +120,12 @@
- pScreen->backingStoreSupport != NotUseful) {
- if (pWin->backingStore != NotUseful && !pWin->backStorage) {
- compRedirectWindow(serverClient, pWin, CompositeRedirectAutomatic);
-- pWin->backStorage = TRUE;
-+ pWin->backStorage = (void *) (intptr_t) 1;
- }
- else if (pWin->backingStore == NotUseful && pWin->backStorage) {
- compUnredirectWindow(serverClient, pWin,
- CompositeRedirectAutomatic);
-- pWin->backStorage = FALSE;
-+ pWin->backStorage = NULL;
- }
- }
-
---- a/dix/dispatch.c
-+++ b/dix/dispatch.c
-@@ -1597,52 +1597,6 @@
- return Success;
- }
-
--/* send GraphicsExpose events, or a NoExpose event, based on the region */
--void
--SendGraphicsExpose(ClientPtr client, RegionPtr pRgn, XID drawable,
-- int major, int minor)
--{
-- if (pRgn && !RegionNil(pRgn)) {
-- xEvent *pEvent;
-- xEvent *pe;
-- BoxPtr pBox;
-- int i;
-- int numRects;
--
-- numRects = RegionNumRects(pRgn);
-- pBox = RegionRects(pRgn);
-- if (!(pEvent = calloc(numRects, sizeof(xEvent))))
-- return;
-- pe = pEvent;
--
-- for (i = 1; i <= numRects; i++, pe++, pBox++) {
-- pe->u.u.type = GraphicsExpose;
-- pe->u.graphicsExposure.drawable = drawable;
-- pe->u.graphicsExposure.x = pBox->x1;
-- pe->u.graphicsExposure.y = pBox->y1;
-- pe->u.graphicsExposure.width = pBox->x2 - pBox->x1;
-- pe->u.graphicsExposure.height = pBox->y2 - pBox->y1;
-- pe->u.graphicsExposure.count = numRects - i;
-- pe->u.graphicsExposure.majorEvent = major;
-- pe->u.graphicsExposure.minorEvent = minor;
-- }
-- /* GraphicsExpose is a "critical event", which TryClientEvents
-- * handles specially. */
-- TryClientEvents(client, NULL, pEvent, numRects,
-- (Mask) 0, NoEventMask, NullGrab);
-- free(pEvent);
-- }
-- else {
-- xEvent event = {
-- .u.noExposure.drawable = drawable,
-- .u.noExposure.majorEvent = major,
-- .u.noExposure.minorEvent = minor
-- };
-- event.u.u.type = NoExpose;
-- WriteEventsToClient(client, 1, &event);
-- }
--}
--
- int
- ProcCopyArea(ClientPtr client)
- {
-@@ -1674,7 +1628,8 @@
- stuff->width, stuff->height,
- stuff->dstX, stuff->dstY);
- if (pGC->graphicsExposures) {
-- SendGraphicsExpose(client, pRgn, stuff->dstDrawable, X_CopyArea, 0);
-+ (*pDst->pScreen->SendGraphicsExpose)
-+ (client, pRgn, stuff->dstDrawable, X_CopyArea, 0);
- if (pRgn)
- RegionDestroy(pRgn);
- }
-@@ -1721,7 +1676,8 @@
- stuff->srcY, stuff->width, stuff->height,
- stuff->dstX, stuff->dstY, stuff->bitPlane);
- if (pGC->graphicsExposures) {
-- SendGraphicsExpose(client, pRgn, stuff->dstDrawable, X_CopyPlane, 0);
-+ (*pdstDraw->pScreen->SendGraphicsExpose)
-+ (client, pRgn, stuff->dstDrawable, X_CopyPlane, 0);
- if (pRgn)
- RegionDestroy(pRgn);
- }
---- a/dix/gc.c
-+++ b/dix/gc.c
-@@ -495,6 +495,7 @@
- pGC->graphicsExposures = TRUE;
- pGC->clipOrg.x = 0;
- pGC->clipOrg.y = 0;
-+ pGC->clientClipType = CT_NONE;
- pGC->clientClip = (void *) NULL;
- pGC->numInDashList = 2;
- pGC->dash = DefaultDash;
-@@ -1066,7 +1067,7 @@
- pGC->graphicsExposures = FALSE;
- pGC->clipOrg.x = 0;
- pGC->clipOrg.y = 0;
-- if (pGC->clientClip)
-+ if (pGC->clientClipType != CT_NONE)
- (*pGC->funcs->ChangeClip) (pGC, CT_NONE, NULL, 0);
- pGC->stateChanges = GCAllBits;
- return pGC;
---- a/dix/window.c
-+++ b/dix/window.c
-@@ -362,7 +362,8 @@
- pWin->cursorIsNone = TRUE;
-
- pWin->backingStore = NotUseful;
-- pWin->backStorage = 0;
-+ pWin->DIXsaveUnder = FALSE;
-+ pWin->backStorage = (void *) NULL;
-
- pWin->mapped = FALSE; /* off */
- pWin->realized = FALSE; /* off */
---- a/exa/exa_accel.c
-+++ b/exa/exa_accel.c
-@@ -413,7 +413,7 @@
-
- if (!pGC || !exaGCReadsDestination(pDstDrawable, pGC->planemask,
- pGC->fillStyle, pGC->alu,
-- pGC->clientClip != NULL)) {
-+ pGC->clientClipType)) {
- dstregion = RegionCreate(NullBox, 0);
- RegionCopy(dstregion, srcregion);
- RegionTranslate(dstregion, dst_off_x - dx - src_off_x,
-@@ -771,7 +771,7 @@
-
- static Bool exaFillRegionSolid(DrawablePtr pDrawable, RegionPtr pRegion,
- Pixel pixel, CARD32 planemask, CARD32 alu,
-- Bool hasClientClip);
-+ unsigned int clientClipType);
-
- static void
- exaPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, int nrect, xRectangle *prect)
-@@ -816,11 +816,11 @@
- if (((pGC->fillStyle == FillSolid || pGC->tileIsPixel) &&
- exaFillRegionSolid(pDrawable, pReg, pGC->fillStyle == FillSolid ?
- pGC->fgPixel : pGC->tile.pixel, pGC->planemask,
-- pGC->alu, pGC->clientClip != NULL)) ||
-+ pGC->alu, pGC->clientClipType)) ||
- (pGC->fillStyle == FillTiled && !pGC->tileIsPixel &&
- exaFillRegionTiled(pDrawable, pReg, pGC->tile.pixmap, &pGC->patOrg,
- pGC->planemask, pGC->alu,
-- pGC->clientClip != NULL))) {
-+ pGC->clientClipType))) {
- goto out;
- }
- }
-@@ -990,7 +990,7 @@
-
- static Bool
- exaFillRegionSolid(DrawablePtr pDrawable, RegionPtr pRegion, Pixel pixel,
-- CARD32 planemask, CARD32 alu, Bool hasClientClip)
-+ CARD32 planemask, CARD32 alu, unsigned int clientClipType)
- {
- ExaScreenPriv(pDrawable->pScreen);
- PixmapPtr pPixmap = exaGetDrawablePixmap(pDrawable);
-@@ -1013,7 +1013,8 @@
- pixmaps[0].pPix = pPixmap;
- pixmaps[0].pReg = exaGCReadsDestination(pDrawable, planemask, FillSolid,
- alu,
-- hasClientClip) ? NULL : pRegion;
-+ clientClipType) ? NULL :
-+ pRegion;
-
- exaDoMigration(pixmaps, 1, TRUE);
- }
-@@ -1073,7 +1074,7 @@
- Bool
- exaFillRegionTiled(DrawablePtr pDrawable, RegionPtr pRegion, PixmapPtr pTile,
- DDXPointPtr pPatOrg, CARD32 planemask, CARD32 alu,
-- Bool hasClientClip)
-+ unsigned int clientClipType)
- {
- ExaScreenPriv(pDrawable->pScreen);
- PixmapPtr pPixmap;
-@@ -1095,7 +1096,7 @@
- if (tileWidth == 1 && tileHeight == 1)
- return exaFillRegionSolid(pDrawable, pRegion,
- exaGetPixmapFirstPixel(pTile), planemask,
-- alu, hasClientClip);
-+ alu, clientClipType);
-
- pPixmap = exaGetDrawablePixmap(pDrawable);
- pExaPixmap = ExaGetPixmapPriv(pPixmap);
-@@ -1112,7 +1113,8 @@
- pixmaps[0].pPix = pPixmap;
- pixmaps[0].pReg = exaGCReadsDestination(pDrawable, planemask, FillTiled,
- alu,
-- hasClientClip) ? NULL : pRegion;
-+ clientClipType) ? NULL :
-+ pRegion;
- pixmaps[1].as_dst = FALSE;
- pixmaps[1].as_src = TRUE;
- pixmaps[1].pPix = pTile;
---- a/exa/exa_priv.h
-+++ b/exa/exa_priv.h
-@@ -455,11 +455,12 @@
- static _X_INLINE Bool
- exaGCReadsDestination(DrawablePtr pDrawable, unsigned long planemask,
- unsigned int fillStyle, unsigned char alu,
-- Bool clientClip)
-+ unsigned int clientClipType)
- {
- return ((alu != GXcopy && alu != GXclear && alu != GXset &&
- alu != GXcopyInverted) || fillStyle == FillStippled ||
-- clientClip != FALSE || !EXA_PM_IS_SOLID(pDrawable, planemask));
-+ clientClipType != CT_NONE ||
-+ !EXA_PM_IS_SOLID(pDrawable, planemask));
- }
-
- void
-@@ -469,7 +470,7 @@
-
- exaFillRegionTiled(DrawablePtr pDrawable, RegionPtr pRegion, PixmapPtr pTile,
- DDXPointPtr pPatOrg, CARD32 planemask, CARD32 alu,
-- Bool clientClip);
-+ unsigned int clientClipType);
-
- void
-
---- a/exa/exa_unaccel.c
-+++ b/exa/exa_unaccel.c
-@@ -107,7 +107,7 @@
- EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable)));
- if (!pExaScr->prepare_access_reg || !pExaPixmap->pDamage ||
- exaGCReadsDestination(pDrawable, pGC->planemask, pGC->fillStyle,
-- pGC->alu, pGC->clientClip != NULL))
-+ pGC->alu, pGC->clientClipType))
- exaPrepareAccess(pDrawable, EXA_PREPARE_DEST);
- else
- pExaScr->prepare_access_reg(pPixmap, EXA_PREPARE_DEST,
-@@ -143,7 +143,7 @@
-
- if (pExaScr->prepare_access_reg &&
- !exaGCReadsDestination(pDst, pGC->planemask, pGC->fillStyle,
-- pGC->alu, pGC->clientClip != NULL) &&
-+ pGC->alu, pGC->clientClipType) &&
- RegionInitBoxes(®, pbox, nbox)) {
- PixmapPtr pPixmap = exaGetDrawablePixmap(pDst);
-
-@@ -179,9 +179,10 @@
- ExaScreenPriv(pScreen);
-
- if (pExaScr->prepare_access_reg &&
-- !(checkReads && exaGCReadsDestination(pDrawable, pGC->planemask,
-- pGC->fillStyle, pGC->alu,
-- pGC->clientClip != NULL))) {
-+ !(checkReads && exaGCReadsDestination(pDrawable,
-+ pGC->planemask,
-+ pGC->fillStyle,
-+ pGC->alu, pGC->clientClipType))) {
- BoxRec box;
- RegionRec reg;
- int xoff, yoff;
---- a/hw/dmx/dmxgc.c
-+++ b/hw/dmx/dmxgc.c
-@@ -391,10 +391,13 @@
- pGC->funcs->ChangeClip(pGC, type, pvalue, nrects);
-
- /* Set the client clip on the back-end server */
-- if (!pGC->clientClip) {
-+ switch (pGC->clientClipType) {
-+ case CT_NONE:
- if (dmxScreen->beDisplay)
- XSetClipMask(dmxScreen->beDisplay, pGCPriv->gc, None);
-- } else {
-+ break;
-+
-+ case CT_REGION:
- if (dmxScreen->beDisplay) {
- nRects = RegionNumRects((RegionPtr) pGC->clientClip);
- pRects = malloc(nRects * sizeof(*pRects));
-@@ -413,6 +416,11 @@
-
- free(pRects);
- }
-+ break;
-+
-+ case CT_PIXMAP:
-+ /* Condensed down to REGION in the mi code */
-+ break;
- }
-
- DMX_GC_FUNC_EPILOGUE(pGC);
---- a/hw/kdrive/src/kxv.c
-+++ b/hw/kdrive/src/kxv.c
-@@ -492,7 +492,7 @@
- KdXVCopyClip(XvPortRecPrivatePtr portPriv, GCPtr pGC)
- {
- /* copy the new clip if it exists */
-- if (pGC->clientClip) {
-+ if ((pGC->clientClipType == CT_REGION) && pGC->clientClip) {
- if (!portPriv->clientClip)
- portPriv->clientClip = RegionCreate(NullBox, 1);
- /* Note: this is in window coordinates */
---- a/hw/xfree86/common/xf86xv.c
-+++ b/hw/xfree86/common/xf86xv.c
-@@ -599,7 +599,7 @@
- xf86XVCopyClip(XvPortRecPrivatePtr portPriv, GCPtr pGC)
- {
- /* copy the new clip if it exists */
-- if (pGC->clientClip) {
-+ if ((pGC->clientClipType == CT_REGION) && pGC->clientClip) {
- if (!portPriv->clientClip)
- portPriv->clientClip = RegionCreate(NullBox, 1);
- /* Note: this is in window coordinates */
---- a/hw/xnest/GC.c
-+++ b/hw/xnest/GC.c
-@@ -194,12 +194,11 @@
- BoxPtr pBox;
- XRectangle *pRects;
-
-- xnestDestroyClip(pGC);
-+ xnestDestroyClipHelper(pGC);
-
- switch (type) {
- case CT_NONE:
- XSetClipMask(xnestDisplay, xnestGC(pGC), None);
-- pValue = NULL;
- break;
-
- case CT_REGION:
-@@ -225,9 +224,11 @@
- * Need to change into region, so subsequent uses are with
- * current pixmap contents.
- */
-- pGC->clientClip = (*pGC->pScreen->BitmapToRegion) ((PixmapPtr) pValue);
-+ pGC->clientClip =
-+ (void *) (*pGC->pScreen->BitmapToRegion) ((PixmapPtr) pValue);
- (*pGC->pScreen->DestroyPixmap) ((PixmapPtr) pValue);
- pValue = pGC->clientClip;
-+ type = CT_REGION;
- break;
-
- case CT_UNSORTED:
-@@ -263,34 +264,65 @@
- case CT_YSORTED:
- case CT_YXSORTED:
- case CT_YXBANDED:
-- /* server clip representation is a region */
-- pGC->clientClip = RegionFromRects(nRects, (xRectangle *) pValue, type);
-+
-+ /*
-+ * other parts of server can only deal with CT_NONE,
-+ * CT_PIXMAP and CT_REGION client clips.
-+ */
-+ pGC->clientClip = (void *) RegionFromRects(nRects,
-+ (xRectangle *) pValue,
-+ type);
- free(pValue);
- pValue = pGC->clientClip;
-+ type = CT_REGION;
-+
- break;
- }
-
-+ pGC->clientClipType = type;
- pGC->clientClip = pValue;
- }
-
- void
- xnestDestroyClip(GCPtr pGC)
- {
-- if (pGC->clientClip) {
-+ xnestDestroyClipHelper(pGC);
-+
-+ XSetClipMask(xnestDisplay, xnestGC(pGC), None);
-+
-+ pGC->clientClipType = CT_NONE;
-+ pGC->clientClip = NULL;
-+}
-+
-+void
-+xnestDestroyClipHelper(GCPtr pGC)
-+{
-+ switch (pGC->clientClipType) {
-+ default:
-+ case CT_NONE:
-+ break;
-+
-+ case CT_REGION:
- RegionDestroy(pGC->clientClip);
-- XSetClipMask(xnestDisplay, xnestGC(pGC), None);
-- pGC->clientClip = NULL;
-+ break;
- }
- }
-
- void
- xnestCopyClip(GCPtr pGCDst, GCPtr pGCSrc)
- {
-- if (pGCSrc->clientClip) {
-- RegionPtr pRgn = RegionCreate(NULL, 1);
-+ RegionPtr pRgn;
-+
-+ switch (pGCSrc->clientClipType) {
-+ default:
-+ case CT_NONE:
-+ xnestDestroyClip(pGCDst);
-+ break;
-+
-+ case CT_REGION:
-+ pRgn = RegionCreate(NULL, 1);
- RegionCopy(pRgn, pGCSrc->clientClip);
- xnestChangeClip(pGCDst, CT_REGION, pRgn, 0);
-- } else {
-- xnestDestroyClip(pGCDst);
-+ break;
- }
- }
---- a/hw/xnest/XNGC.h
-+++ b/hw/xnest/XNGC.h
-@@ -37,6 +37,7 @@
- void xnestDestroyGC(GCPtr pGC);
- void xnestChangeClip(GCPtr pGC, int type, void *pValue, int nRects);
- void xnestDestroyClip(GCPtr pGC);
-+void xnestDestroyClipHelper(GCPtr pGC);
- void xnestCopyClip(GCPtr pGCDst, GCPtr pGCSrc);
-
- #endif /* XNESTGC_H */
---- a/include/dix.h
-+++ b/include/dix.h
-@@ -254,12 +254,6 @@
-
- extern _X_EXPORT Bool ClientIsAsleep(ClientPtr /*client */ );
-
--extern _X_EXPORT void SendGraphicsExpose(ClientPtr /*client */ ,
-- RegionPtr /*pRgn */ ,
-- XID /*drawable */ ,
-- int /*major */ ,
-- int /*minor */);
--
- /* atom.c */
-
- extern _X_EXPORT Atom MakeAtom(const char * /*string */ ,
---- a/include/gcstruct.h
-+++ b/include/gcstruct.h
-@@ -254,15 +254,16 @@
- unsigned int arcMode:1;
- unsigned int subWindowMode:1;
- unsigned int graphicsExposures:1;
-+ unsigned int clientClipType:2; /* CT_<kind> */
- unsigned int miTranslate:1; /* should mi things translate? */
- unsigned int tileIsPixel:1; /* tile is solid pixel */
- unsigned int fExpose:1; /* Call exposure handling */
- unsigned int freeCompClip:1; /* Free composite clip */
- unsigned int scratch_inuse:1; /* is this GC in a pool for reuse? */
-- unsigned int unused:15; /* see comment above */
-- unsigned int planemask;
-- unsigned int fgPixel;
-- unsigned int bgPixel;
-+ unsigned int unused:13; /* see comment above */
-+ unsigned long planemask;
-+ unsigned long fgPixel;
-+ unsigned long bgPixel;
- /*
- * alas -- both tile and stipple must be here as they
- * are independently specifiable
-@@ -270,11 +271,11 @@
- PixUnion tile;
- PixmapPtr stipple;
- DDXPointRec patOrg; /* origin for (tile, stipple) */
-- DDXPointRec clipOrg;
- struct _Font *font;
-- RegionPtr clientClip;
-- unsigned int stateChanges; /* masked with GC_<kind> */
-- unsigned int serialNumber;
-+ DDXPointRec clipOrg;
-+ void *clientClip;
-+ unsigned long stateChanges; /* masked with GC_<kind> */
-+ unsigned long serialNumber;
- const GCFuncs *funcs;
- const GCOps *ops;
- PrivateRec *devPrivates;
---- a/include/scrnintstr.h
-+++ b/include/scrnintstr.h
-@@ -252,6 +252,12 @@
-
- typedef RegionPtr (*BitmapToRegionProcPtr) (PixmapPtr /*pPix */ );
-
-+typedef void (*SendGraphicsExposeProcPtr) (ClientPtr /*client */ ,
-+ RegionPtr /*pRgn */ ,
-+ XID /*drawable */ ,
-+ int /*major */ ,
-+ int /*minor */ );
-+
- typedef void (*ScreenBlockHandlerProcPtr) (ScreenPtr pScreen,
Reply to: