diff --git a/Xext/Makefile.am b/Xext/Makefile.am index fde0550ee..ad3f98edf 100644 --- a/Xext/Makefile.am +++ b/Xext/Makefile.am @@ -66,7 +66,7 @@ BUILTIN_SRCS += $(XINERAMA_SRCS) endif # Security extension: multi-level security to protect clients from each other -XCSECURITY_SRCS = security.c +XCSECURITY_SRCS = security.c securitysrv.h if XCSECURITY BUILTIN_SRCS += $(XCSECURITY_SRCS) diff --git a/Xext/xres.c b/Xext/xres.c index 3e8231621..1617337bf 100644 --- a/Xext/xres.c +++ b/Xext/xres.c @@ -19,6 +19,8 @@ #include "swaprep.h" #include #include "pixmapstr.h" +#include "windowstr.h" +#include "gcstruct.h" #include "modinit.h" static int @@ -154,6 +156,7 @@ ProcXResQueryClientResources (ClientPtr client) swapl (&rep.length, n); swapl (&rep.num_types, n); } + WriteToClient (client,sizeof(xXResQueryClientResourcesReply),(char*)&rep); if(num_types) { @@ -185,13 +188,54 @@ ProcXResQueryClientResources (ClientPtr client) return (client->noClientException); } +static unsigned long +ResGetApproxPixmapBytes (PixmapPtr pix) +{ + unsigned long nPixels; + int bytesPerPixel; + + bytesPerPixel = pix->drawable.bitsPerPixel>>3; + nPixels = pix->drawable.width * pix->drawable.height; + + /* Divide by refcnt as pixmap could be shared between clients, + * so total pixmap mem is shared between these. + */ + return ( nPixels * bytesPerPixel ) / pix->refcnt; +} + static void ResFindPixmaps (pointer value, XID id, pointer cdata) { unsigned long *bytes = (unsigned long *)cdata; PixmapPtr pix = (PixmapPtr)value; - *bytes += (pix->devKind * pix->drawable.height); + *bytes += ResGetApproxPixmapBytes(pix); +} + +static void +ResFindWindowPixmaps (pointer value, XID id, pointer cdata) +{ + unsigned long *bytes = (unsigned long *)cdata; + WindowPtr pWin = (WindowPtr)value; + + if (pWin->backgroundState == BackgroundPixmap) + *bytes += ResGetApproxPixmapBytes(pWin->background.pixmap); + + if (pWin->border.pixmap != NULL && !pWin->borderIsPixel) + *bytes += ResGetApproxPixmapBytes(pWin->border.pixmap); +} + +static void +ResFindGCPixmaps (pointer value, XID id, pointer cdata) +{ + unsigned long *bytes = (unsigned long *)cdata; + GCPtr pGC = (GCPtr)value; + + if (pGC->stipple != NULL) + *bytes += ResGetApproxPixmapBytes(pGC->stipple); + + if (pGC->tile.pixmap != NULL && !pGC->tileIsPixel) + *bytes += ResGetApproxPixmapBytes(pGC->tile.pixmap); } static int @@ -218,6 +262,24 @@ ProcXResQueryClientPixmapBytes (ClientPtr client) FindClientResourcesByType(clients[clientID], RT_PIXMAP, ResFindPixmaps, (pointer)(&bytes)); + /* + * Make sure win background pixmaps also held to account. + */ + FindClientResourcesByType(clients[clientID], RT_WINDOW, + ResFindWindowPixmaps, + (pointer)(&bytes)); + + /* + * GC Tile & Stipple pixmaps too. + */ + FindClientResourcesByType(clients[clientID], RT_GC, + ResFindGCPixmaps, + (pointer)(&bytes)); + +#ifdef COMPOSITE + /* FIXME: include composite pixmaps too */ +#endif + rep.type = X_Reply; rep.sequenceNumber = client->sequence; rep.length = 0; diff --git a/configure.ac b/configure.ac index 43f9a9191..dffa472f9 100644 --- a/configure.ac +++ b/configure.ac @@ -25,7 +25,7 @@ dnl Process this file with autoconf to create configure. AC_PREREQ(2.57) dnl This is the not the Xorg version number, it's the server version number. dnl Yes, that's weird. -AC_INIT([xorg-server], 1.1.99.2, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) +AC_INIT([xorg-server], 1.1.99.3, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) AC_CONFIG_SRCDIR([Makefile.am]) AM_INIT_AUTOMAKE([dist-bzip2 foreign]) AM_MAINTAINER_MODE diff --git a/hw/darwin/Makefile.am b/hw/darwin/Makefile.am index 8a5e981fe..542bfdb24 100644 --- a/hw/darwin/Makefile.am +++ b/hw/darwin/Makefile.am @@ -54,7 +54,6 @@ EXTRA_DIST = \ darwinKeyboard.c \ darwinKeyboard.h \ darwinXinput.c \ - iokit/.cvsignore \ iokit/xfIOKit.c \ iokit/xfIOKitCursor.c \ iokit/xfIOKit.h \ @@ -66,11 +65,8 @@ EXTRA_DIST = \ quartz/cr/crFrame.m \ quartz/cr/cr.h \ quartz/cr/crScreen.m \ - quartz/cr/.cvsignore \ quartz/cr/XView.h \ quartz/cr/XView.m \ - quartz/.cvsignore \ - quartz/fullscreen/.cvsignore \ quartz/fullscreen/fullscreen.c \ quartz/fullscreen/quartzCursor.c \ quartz/fullscreen/quartzCursor.h \ @@ -98,7 +94,6 @@ EXTRA_DIST = \ quartz/XDarwinStartup.c \ quartz/XDarwinStartup.man \ quartz/xpr/appledri.c \ - quartz/xpr/.cvsignore \ quartz/xpr/dri.c \ quartz/xpr/dri.h \ quartz/xpr/dristruct.h \ diff --git a/hw/kdrive/ephyr/hostx.c b/hw/kdrive/ephyr/hostx.c index 96d121191..573f77489 100644 --- a/hw/kdrive/ephyr/hostx.c +++ b/hw/kdrive/ephyr/hostx.c @@ -527,15 +527,9 @@ hostx_screen_init (int width, int height, int buffer_height) /* Ask the WM to keep our size static */ size_hints = XAllocSizeHints(); -#if 0 size_hints->max_width = size_hints->min_width = width; size_hints->max_height = size_hints->min_height = height; size_hints->flags = PMinSize|PMaxSize; -#else - size_hints->min_width = 100; - size_hints->min_height = 100; - size_hints->flags = PMinSize; -#endif XSetWMNormalHints(HostX.dpy, HostX.win, size_hints); XFree(size_hints); diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am index 525c4e0a2..67bfd80d9 100644 --- a/hw/xfree86/Makefile.am +++ b/hw/xfree86/Makefile.am @@ -40,7 +40,6 @@ XORG_LIBS = \ libosandcommon.la \ rac/librac.a \ parser/libxf86config.a \ - dummylib/libdummy.a \ dixmods/libdixmods.la \ @XORG_LIBS@ diff --git a/hw/xfree86/doc/man/xorg.conf.man.pre b/hw/xfree86/doc/man/xorg.conf.man.pre index 77d485665..3340af0b5 100644 --- a/hw/xfree86/doc/man/xorg.conf.man.pre +++ b/hw/xfree86/doc/man/xorg.conf.man.pre @@ -602,6 +602,9 @@ the keymap for a mapping to the .B Terminate action and, if found, use XKEYBOARD for processing actions, otherwise the builtin handler will be used. +.TP 7 +.BI "Option \*qAIGLX\*q \*q" boolean \*q +enable or disable AIGLX. AIGLX is enabled by default. .SH MODULE SECTION The .B Module diff --git a/hw/xfree86/dummylib/Makefile.am b/hw/xfree86/dummylib/Makefile.am index bd69b570a..d89ee59a8 100644 --- a/hw/xfree86/dummylib/Makefile.am +++ b/hw/xfree86/dummylib/Makefile.am @@ -2,7 +2,7 @@ # libdummy-nonserver.a contains additional routines normally found in the # server for use in building the utilities like scanpci & the config tools -noinst_LIBRARIES = libdummy.a libdummy-nonserver.a +noinst_LIBRARIES = libdummy-nonserver.a INCLUDES = $(XORG_INCS) @@ -12,15 +12,6 @@ if NEED_STRLCAT STRL_SRCS = $(top_srcdir)/os/strlcat.c $(top_srcdir)/os/strlcpy.c endif -libdummy_a_SOURCES = getvalidbios.c getemptypci.c \ - pcitestmulti.c xf86allocscripi.c \ - xf86addrestolist.c xf86drvmsg.c xf86drvmsgverb.c \ - xf86getverb.c \ - xf86opt.c xf86screens.c xf86servisinit.c xf86verbose.c \ - #xf86errorf.c xf86errorfverb.c xf86msg.c xf86msgverb.c \ - #logvwrite.c verrorf.c xf86info.c xalloc.c fatalerror.c \ - #$(srcdir)/../os-support/shared/sigiostubs.c - libdummy_nonserver_a_SOURCES = \ fatalerror.c \ getvalidbios.c \ diff --git a/hw/xfree86/exa/Makefile.am b/hw/xfree86/exa/Makefile.am index 1a2831c10..31682c425 100644 --- a/hw/xfree86/exa/Makefile.am +++ b/hw/xfree86/exa/Makefile.am @@ -25,4 +25,4 @@ exa.$(DRIVER_MAN_SUFFIX): exa.man -rm -f exa.$(DRIVER_MAN_SUFFIX) $(LN_S) exa.man exa.$(DRIVER_MAN_SUFFIX) -EXTRA_DIST = exa.man.pre README +EXTRA_DIST = exa.man.pre diff --git a/hw/xfree86/loader/Makefile.am b/hw/xfree86/loader/Makefile.am index 357af77b6..030672389 100644 --- a/hw/xfree86/loader/Makefile.am +++ b/hw/xfree86/loader/Makefile.am @@ -30,4 +30,5 @@ libloader_a_SOURCES = \ fontsym.c \ misym.c \ xf86sym.c \ + sym.h \ $(SPARC_SOURCES) diff --git a/hw/xprint/config/C/print/models/PSdefault/fonts/Makefile.am b/hw/xprint/config/C/print/models/PSdefault/fonts/Makefile.am index 7cdfd8ee9..e7ddb6c0f 100644 --- a/hw/xprint/config/C/print/models/PSdefault/fonts/Makefile.am +++ b/hw/xprint/config/C/print/models/PSdefault/fonts/Makefile.am @@ -17,7 +17,6 @@ dist_xpc_DATA = \ LubalinGraph-Book.pmf \ LubalinGraph-DemiOblique.pmf \ LubalinGraph-Demi.pmf \ - NewCenturySchlbk-BoldItalic.pmf \ NewCenturySchlbk-Bold.pmf \ NewCenturySchlbk-Italic.pmf \ NewCenturySchlbk-Roman.pmf \