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.lankho...@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.lankho...@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.lankho...@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, -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/e1xlg3l-0004po...@moszumanska.debian.org