Merge remote-tracking branch 'ajax/xserver-next' into master

This commit is contained in:
Eric Anholt 2015-07-17 10:15:01 -07:00
commit 2fcfa53253
74 changed files with 819 additions and 1215 deletions

View File

@ -90,9 +90,10 @@ ProcGEQueryVersion(ClientPtr client)
return Success; return Success;
} }
int (*ProcGEVector[GENumberRequests]) (ClientPtr) = { static int (*ProcGEVector[GENumberRequests]) (ClientPtr) = {
/* Version 1.0 */ /* Version 1.0 */
ProcGEQueryVersion}; ProcGEQueryVersion,
};
/************************************************************/ /************************************************************/
/* swapped request handlers */ /* swapped request handlers */
@ -109,9 +110,10 @@ SProcGEQueryVersion(ClientPtr client)
return (*ProcGEVector[stuff->ReqType]) (client); return (*ProcGEVector[stuff->ReqType]) (client);
} }
int (*SProcGEVector[GENumberRequests]) (ClientPtr) = { static int (*SProcGEVector[GENumberRequests]) (ClientPtr) = {
/* Version 1.0 */ /* Version 1.0 */
SProcGEQueryVersion}; SProcGEQueryVersion
};
/************************************************************/ /************************************************************/
/* callbacks */ /* callbacks */

View File

@ -37,7 +37,7 @@
#include "extnsionst.h" #include "extnsionst.h"
#include <X11/extensions/geproto.h> #include <X11/extensions/geproto.h>
extern _X_EXPORT DevPrivateKeyRec GEClientPrivateKeyRec; extern DevPrivateKeyRec GEClientPrivateKeyRec;
#define GEClientPrivateKey (&GEClientPrivateKeyRec) #define GEClientPrivateKey (&GEClientPrivateKeyRec)
@ -48,7 +48,4 @@ typedef struct _GEClientInfo {
#define GEGetClient(pClient) ((GEClientInfoPtr)(dixLookupPrivate(&((pClient)->devPrivates), GEClientPrivateKey))) #define GEGetClient(pClient) ((GEClientInfoPtr)(dixLookupPrivate(&((pClient)->devPrivates), GEClientPrivateKey)))
extern _X_EXPORT int (*ProcGEVector[ /*GENumRequests */ ]) (ClientPtr);
extern _X_EXPORT int (*SProcGEVector[ /*GENumRequests */ ]) (ClientPtr);
#endif /* _GEINT_H_ */ #endif /* _GEINT_H_ */

View File

@ -104,7 +104,7 @@ compRepaintBorder(ClientPtr pClient, void *closure)
RegionNull(&exposed); RegionNull(&exposed);
RegionSubtract(&exposed, &pWindow->borderClip, &pWindow->winSize); RegionSubtract(&exposed, &pWindow->borderClip, &pWindow->winSize);
miPaintWindow(pWindow, &exposed, PW_BORDER); pWindow->drawable.pScreen->PaintWindow(pWindow, &exposed, PW_BORDER);
RegionUninit(&exposed); RegionUninit(&exposed);
} }
return TRUE; return TRUE;

View File

@ -2268,7 +2268,7 @@ if test "x$DMX" = xyes; then
fi fi
DMX_INCLUDES="$XEXT_INC $RENDER_INC $RECORD_INC" DMX_INCLUDES="$XEXT_INC $RENDER_INC $RECORD_INC"
XDMX_CFLAGS="$DMXMODULES_CFLAGS" XDMX_CFLAGS="$DMXMODULES_CFLAGS"
XDMX_LIBS="$FB_LIB $MI_LIB $XEXT_LIB $RENDER_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_LIB $COMPOSITE_LIB $DAMAGE_LIB $MAIN_LIB $DIX_LIB $CONFIG_LIB $OS_LIB $FIXES_LIB" XDMX_LIBS="$FB_LIB $MI_LIB $XEXT_LIB $RANDR_LIB $RENDER_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_LIB $COMPOSITE_LIB $DAMAGE_LIB $MAIN_LIB $DIX_LIB $CONFIG_LIB $OS_LIB $FIXES_LIB"
XDMX_SYS_LIBS="$DMXMODULES_LIBS" XDMX_SYS_LIBS="$DMXMODULES_LIBS"
AC_SUBST([XDMX_CFLAGS]) AC_SUBST([XDMX_CFLAGS])
AC_SUBST([XDMX_LIBS]) AC_SUBST([XDMX_LIBS])

View File

@ -56,7 +56,7 @@ SOFTWARE.
#include "resource.h" #include "resource.h"
#include "dix.h" #include "dix.h"
#define InitialTableSize 100 #define InitialTableSize 256
typedef struct _Node { typedef struct _Node {
struct _Node *left, *right; struct _Node *left, *right;
@ -70,8 +70,6 @@ static NodePtr atomRoot = NULL;
static unsigned long tableLength; static unsigned long tableLength;
static NodePtr *nodeTable; static NodePtr *nodeTable;
void FreeAtom(NodePtr patom);
Atom Atom
MakeAtom(const char *string, unsigned len, Bool makeit) MakeAtom(const char *string, unsigned len, Bool makeit)
{ {
@ -166,7 +164,7 @@ AtomError(void)
FatalError("initializing atoms"); FatalError("initializing atoms");
} }
void static void
FreeAtom(NodePtr patom) FreeAtom(NodePtr patom)
{ {
if (patom->left) if (patom->left)

View File

@ -64,6 +64,9 @@ SOFTWARE.
#include "privates.h" #include "privates.h"
#include "xace.h" #include "xace.h"
typedef int (*ColorCompareProcPtr) (EntryPtr /*pent */ ,
xrgb * /*prgb */ );
static Pixel FindBestPixel(EntryPtr /*pentFirst */ , static Pixel FindBestPixel(EntryPtr /*pentFirst */ ,
int /*size */ , int /*size */ ,
xrgb * /*prgb */ , xrgb * /*prgb */ ,
@ -748,6 +751,173 @@ UpdateColors(ColormapPtr pmap)
free(defs); free(defs);
} }
/* Tries to find a color in pmap that exactly matches the one requested in prgb
* if it can't it allocates one.
* Starts looking at pentFirst + *pPixel, so if you want a specific pixel,
* load *pPixel with that value, otherwise set it to 0
*/
static int
FindColor(ColormapPtr pmap, EntryPtr pentFirst, int size, xrgb * prgb,
Pixel * pPixel, int channel, int client, ColorCompareProcPtr comp)
{
EntryPtr pent;
Bool foundFree;
Pixel pixel, Free = 0;
int npix, count, *nump = NULL;
Pixel **pixp = NULL, *ppix;
xColorItem def;
foundFree = FALSE;
if ((pixel = *pPixel) >= size)
pixel = 0;
/* see if there is a match, and also look for a free entry */
for (pent = pentFirst + pixel, count = size; --count >= 0;) {
if (pent->refcnt > 0) {
if ((*comp) (pent, prgb)) {
if (client >= 0)
pent->refcnt++;
*pPixel = pixel;
switch (channel) {
case REDMAP:
*pPixel <<= pmap->pVisual->offsetRed;
case PSEUDOMAP:
break;
case GREENMAP:
*pPixel <<= pmap->pVisual->offsetGreen;
break;
case BLUEMAP:
*pPixel <<= pmap->pVisual->offsetBlue;
break;
}
goto gotit;
}
}
else if (!foundFree && pent->refcnt == 0) {
Free = pixel;
foundFree = TRUE;
/* If we're initializing the colormap, then we are looking for
* the first free cell we can find, not to minimize the number
* of entries we use. So don't look any further. */
if (pmap->flags & BeingCreated)
break;
}
pixel++;
if (pixel >= size) {
pent = pentFirst;
pixel = 0;
}
else
pent++;
}
/* If we got here, we didn't find a match. If we also didn't find
* a free entry, we're out of luck. Otherwise, we'll usurp a free
* entry and fill it in */
if (!foundFree)
return BadAlloc;
pent = pentFirst + Free;
pent->fShared = FALSE;
pent->refcnt = (client >= 0) ? 1 : AllocTemporary;
switch (channel) {
case PSEUDOMAP:
pent->co.local.red = prgb->red;
pent->co.local.green = prgb->green;
pent->co.local.blue = prgb->blue;
def.red = prgb->red;
def.green = prgb->green;
def.blue = prgb->blue;
def.flags = (DoRed | DoGreen | DoBlue);
if (client >= 0)
pmap->freeRed--;
def.pixel = Free;
break;
case REDMAP:
pent->co.local.red = prgb->red;
def.red = prgb->red;
def.green = pmap->green[0].co.local.green;
def.blue = pmap->blue[0].co.local.blue;
def.flags = DoRed;
if (client >= 0)
pmap->freeRed--;
def.pixel = Free << pmap->pVisual->offsetRed;
break;
case GREENMAP:
pent->co.local.green = prgb->green;
def.red = pmap->red[0].co.local.red;
def.green = prgb->green;
def.blue = pmap->blue[0].co.local.blue;
def.flags = DoGreen;
if (client >= 0)
pmap->freeGreen--;
def.pixel = Free << pmap->pVisual->offsetGreen;
break;
case BLUEMAP:
pent->co.local.blue = prgb->blue;
def.red = pmap->red[0].co.local.red;
def.green = pmap->green[0].co.local.green;
def.blue = prgb->blue;
def.flags = DoBlue;
if (client >= 0)
pmap->freeBlue--;
def.pixel = Free << pmap->pVisual->offsetBlue;
break;
}
(*pmap->pScreen->StoreColors) (pmap, 1, &def);
pixel = Free;
*pPixel = def.pixel;
gotit:
if (pmap->flags & BeingCreated || client == -1)
return Success;
/* Now remember the pixel, for freeing later */
switch (channel) {
case PSEUDOMAP:
case REDMAP:
nump = pmap->numPixelsRed;
pixp = pmap->clientPixelsRed;
break;
case GREENMAP:
nump = pmap->numPixelsGreen;
pixp = pmap->clientPixelsGreen;
break;
case BLUEMAP:
nump = pmap->numPixelsBlue;
pixp = pmap->clientPixelsBlue;
break;
}
npix = nump[client];
ppix = reallocarray(pixp[client], npix + 1, sizeof(Pixel));
if (!ppix) {
pent->refcnt--;
if (!pent->fShared)
switch (channel) {
case PSEUDOMAP:
case REDMAP:
pmap->freeRed++;
break;
case GREENMAP:
pmap->freeGreen++;
break;
case BLUEMAP:
pmap->freeBlue++;
break;
}
return BadAlloc;
}
ppix[npix] = pixel;
pixp[client] = ppix;
nump[client]++;
return Success;
}
/* Get a read-only color from a ColorMap (probably slow for large maps) /* Get a read-only color from a ColorMap (probably slow for large maps)
* Returns by changing the value in pred, pgreen, pblue and pPix * Returns by changing the value in pred, pgreen, pblue and pPix
*/ */
@ -1137,173 +1307,6 @@ FindColorInRootCmap(ColormapPtr pmap, EntryPtr pentFirst, int size,
} }
} }
/* Tries to find a color in pmap that exactly matches the one requested in prgb
* if it can't it allocates one.
* Starts looking at pentFirst + *pPixel, so if you want a specific pixel,
* load *pPixel with that value, otherwise set it to 0
*/
int
FindColor(ColormapPtr pmap, EntryPtr pentFirst, int size, xrgb * prgb,
Pixel * pPixel, int channel, int client, ColorCompareProcPtr comp)
{
EntryPtr pent;
Bool foundFree;
Pixel pixel, Free = 0;
int npix, count, *nump = NULL;
Pixel **pixp = NULL, *ppix;
xColorItem def;
foundFree = FALSE;
if ((pixel = *pPixel) >= size)
pixel = 0;
/* see if there is a match, and also look for a free entry */
for (pent = pentFirst + pixel, count = size; --count >= 0;) {
if (pent->refcnt > 0) {
if ((*comp) (pent, prgb)) {
if (client >= 0)
pent->refcnt++;
*pPixel = pixel;
switch (channel) {
case REDMAP:
*pPixel <<= pmap->pVisual->offsetRed;
case PSEUDOMAP:
break;
case GREENMAP:
*pPixel <<= pmap->pVisual->offsetGreen;
break;
case BLUEMAP:
*pPixel <<= pmap->pVisual->offsetBlue;
break;
}
goto gotit;
}
}
else if (!foundFree && pent->refcnt == 0) {
Free = pixel;
foundFree = TRUE;
/* If we're initializing the colormap, then we are looking for
* the first free cell we can find, not to minimize the number
* of entries we use. So don't look any further. */
if (pmap->flags & BeingCreated)
break;
}
pixel++;
if (pixel >= size) {
pent = pentFirst;
pixel = 0;
}
else
pent++;
}
/* If we got here, we didn't find a match. If we also didn't find
* a free entry, we're out of luck. Otherwise, we'll usurp a free
* entry and fill it in */
if (!foundFree)
return BadAlloc;
pent = pentFirst + Free;
pent->fShared = FALSE;
pent->refcnt = (client >= 0) ? 1 : AllocTemporary;
switch (channel) {
case PSEUDOMAP:
pent->co.local.red = prgb->red;
pent->co.local.green = prgb->green;
pent->co.local.blue = prgb->blue;
def.red = prgb->red;
def.green = prgb->green;
def.blue = prgb->blue;
def.flags = (DoRed | DoGreen | DoBlue);
if (client >= 0)
pmap->freeRed--;
def.pixel = Free;
break;
case REDMAP:
pent->co.local.red = prgb->red;
def.red = prgb->red;
def.green = pmap->green[0].co.local.green;
def.blue = pmap->blue[0].co.local.blue;
def.flags = DoRed;
if (client >= 0)
pmap->freeRed--;
def.pixel = Free << pmap->pVisual->offsetRed;
break;
case GREENMAP:
pent->co.local.green = prgb->green;
def.red = pmap->red[0].co.local.red;
def.green = prgb->green;
def.blue = pmap->blue[0].co.local.blue;
def.flags = DoGreen;
if (client >= 0)
pmap->freeGreen--;
def.pixel = Free << pmap->pVisual->offsetGreen;
break;
case BLUEMAP:
pent->co.local.blue = prgb->blue;
def.red = pmap->red[0].co.local.red;
def.green = pmap->green[0].co.local.green;
def.blue = prgb->blue;
def.flags = DoBlue;
if (client >= 0)
pmap->freeBlue--;
def.pixel = Free << pmap->pVisual->offsetBlue;
break;
}
(*pmap->pScreen->StoreColors) (pmap, 1, &def);
pixel = Free;
*pPixel = def.pixel;
gotit:
if (pmap->flags & BeingCreated || client == -1)
return Success;
/* Now remember the pixel, for freeing later */
switch (channel) {
case PSEUDOMAP:
case REDMAP:
nump = pmap->numPixelsRed;
pixp = pmap->clientPixelsRed;
break;
case GREENMAP:
nump = pmap->numPixelsGreen;
pixp = pmap->clientPixelsGreen;
break;
case BLUEMAP:
nump = pmap->numPixelsBlue;
pixp = pmap->clientPixelsBlue;
break;
}
npix = nump[client];
ppix = reallocarray(pixp[client], npix + 1, sizeof(Pixel));
if (!ppix) {
pent->refcnt--;
if (!pent->fShared)
switch (channel) {
case PSEUDOMAP:
case REDMAP:
pmap->freeRed++;
break;
case GREENMAP:
pmap->freeGreen++;
break;
case BLUEMAP:
pmap->freeBlue++;
break;
}
return BadAlloc;
}
ppix[npix] = pixel;
pixp[client] = ppix;
nump[client]++;
return Success;
}
/* Comparison functions -- passed to FindColor to determine if an /* Comparison functions -- passed to FindColor to determine if an
* entry is already the color we're looking for or not */ * entry is already the color we're looking for or not */
static int static int

View File

@ -108,6 +108,7 @@ int ProcInitialConnection();
#include "windowstr.h" #include "windowstr.h"
#include <X11/fonts/fontstruct.h> #include <X11/fonts/fontstruct.h>
#include <X11/fonts/fontutil.h>
#include "dixfontstr.h" #include "dixfontstr.h"
#include "gcstruct.h" #include "gcstruct.h"
#include "selection.h" #include "selection.h"

View File

@ -156,7 +156,7 @@ SetDefaultFont(const char *defaultfontname)
* init_fpe() and free_fpe(), there shouldn't be any problem in using * init_fpe() and free_fpe(), there shouldn't be any problem in using
* freed data. * freed data.
*/ */
void static void
QueueFontWakeup(FontPathElementPtr fpe) QueueFontWakeup(FontPathElementPtr fpe)
{ {
int i; int i;
@ -179,7 +179,7 @@ QueueFontWakeup(FontPathElementPtr fpe)
num_slept_fpes++; num_slept_fpes++;
} }
void static void
RemoveFontWakeup(FontPathElementPtr fpe) RemoveFontWakeup(FontPathElementPtr fpe)
{ {
int i, j; int i, j;
@ -195,7 +195,7 @@ RemoveFontWakeup(FontPathElementPtr fpe)
} }
} }
void static void
FontWakeup(void *data, int count, void *LastSelectMask) FontWakeup(void *data, int count, void *LastSelectMask)
{ {
int i; int i;
@ -849,7 +849,7 @@ ListFonts(ClientPtr client, unsigned char *pattern, unsigned length,
return Success; return Success;
} }
int static int
doListFontsWithInfo(ClientPtr client, LFWIclosurePtr c) doListFontsWithInfo(ClientPtr client, LFWIclosurePtr c)
{ {
FontPathElementPtr fpe; FontPathElementPtr fpe;
@ -1105,7 +1105,7 @@ static ChangeGCVal clearGC[] = { {.ptr = NullPixmap} };
#define clearGCmask (GCClipMask) #define clearGCmask (GCClipMask)
int static int
doPolyText(ClientPtr client, PTclosurePtr c) doPolyText(ClientPtr client, PTclosurePtr c)
{ {
FontPtr pFont = c->pGC->font, oldpFont; FontPtr pFont = c->pGC->font, oldpFont;
@ -1389,7 +1389,7 @@ PolyText(ClientPtr client, DrawablePtr pDraw, GC * pGC, unsigned char *pElt,
#undef TextEltHeader #undef TextEltHeader
#undef FontShiftSize #undef FontShiftSize
int static int
doImageText(ClientPtr client, ITclosurePtr c) doImageText(ClientPtr client, ITclosurePtr c)
{ {
int err = Success, lgerr; /* err is in X error, not font error, space */ int err = Success, lgerr; /* err is in X error, not font error, space */

View File

@ -212,7 +212,7 @@ SetFocusOut(DeviceIntPtr dev)
* @return The window that is the first ancestor of both 'a' and 'b', or the * @return The window that is the first ancestor of both 'a' and 'b', or the
* NullWindow if they do not have a common ancestor. * NullWindow if they do not have a common ancestor.
*/ */
WindowPtr static WindowPtr
CommonAncestor(WindowPtr a, WindowPtr b) CommonAncestor(WindowPtr a, WindowPtr b)
{ {
for (b = b->parent; b; b = b->parent) for (b = b->parent; b; b = b->parent)

View File

@ -41,8 +41,6 @@ extern void EnterLeaveEvent(DeviceIntPtr mouse,
int type, int type,
int mode, int detail, WindowPtr pWin, Window child); int mode, int detail, WindowPtr pWin, Window child);
extern WindowPtr CommonAncestor(WindowPtr a, WindowPtr b);
extern void CoreEnterLeaveEvent(DeviceIntPtr mouse, extern void CoreEnterLeaveEvent(DeviceIntPtr mouse,
int type, int type,
int mode, int mode,

View File

@ -95,6 +95,8 @@ Equipment Corporation.
#include "cursorstr.h" #include "cursorstr.h"
#include "selection.h" #include "selection.h"
#include <X11/fonts/font.h> #include <X11/fonts/font.h>
#include <X11/fonts/fontstruct.h>
#include <X11/fonts/fontutil.h>
#include "opaque.h" #include "opaque.h"
#include "servermd.h" #include "servermd.h"
#include "hotplug.h" #include "hotplug.h"

View File

@ -380,10 +380,7 @@ SetWindowToDefaults(WindowPtr pWin)
pWin->forcedBS = FALSE; pWin->forcedBS = FALSE;
pWin->redirectDraw = RedirectDrawNone; pWin->redirectDraw = RedirectDrawNone;
pWin->forcedBG = FALSE; pWin->forcedBG = FALSE;
pWin->unhittable = FALSE;
#ifdef ROOTLESS
pWin->rootlessUnhittable = FALSE;
#endif
#ifdef COMPOSITE #ifdef COMPOSITE
pWin->damagedDescendants = FALSE; pWin->damagedDescendants = FALSE;
@ -1470,7 +1467,7 @@ ChangeWindowAttributes(WindowPtr pWin, Mask vmask, XID *vlist, ClientPtr client)
RegionNull(&exposed); RegionNull(&exposed);
RegionSubtract(&exposed, &pWin->borderClip, &pWin->winSize); RegionSubtract(&exposed, &pWin->borderClip, &pWin->winSize);
miPaintWindow(pWin, &exposed, PW_BORDER); pWin->drawable.pScreen->PaintWindow(pWin, &exposed, PW_BORDER);
RegionUninit(&exposed); RegionUninit(&exposed);
} }
return error; return error;
@ -3037,7 +3034,7 @@ dixSaveScreens(ClientPtr client, int on, int mode)
/* make it look like screen saver is off, so that /* make it look like screen saver is off, so that
* NotClippedByChildren will compute a clip list * NotClippedByChildren will compute a clip list
* for the root window, so miPaintWindow works * for the root window, so PaintWindow works
*/ */
screenIsSaved = SCREEN_SAVER_OFF; screenIsSaved = SCREEN_SAVER_OFF;
(*pWin->drawable.pScreen->MoveWindow) (pWin, (*pWin->drawable.pScreen->MoveWindow) (pWin,

View File

@ -26,9 +26,8 @@
#include "dri3_priv.h" #include "dri3_priv.h"
int dri3_request; static int dri3_request;
DevPrivateKeyRec dri3_screen_private_key; DevPrivateKeyRec dri3_screen_private_key;
DevPrivateKeyRec dri3_window_private_key;
static int dri3_screen_generation; static int dri3_screen_generation;

View File

@ -1,163 +0,0 @@
/*
* Copyright © 2013 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that copyright
* notice and this permission notice appear in supporting documentation, and
* that the name of the copyright holders not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. The copyright holders make no representations
* about the suitability of this software for any purpose. It is provided "as
* is" without express or implied warranty.
*
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
#ifdef HAVE_XORG_CONFIG_H
#include <xorg-config.h>
#endif
#include "dri3_priv.h"
RESTYPE dri3_event_type;
static int
dri3_free_event(void *data, XID id)
{
dri3_event_ptr dri3_event = (dri3_event_ptr) data;
dri3_window_priv_ptr window_priv = dri3_window_priv(dri3_event->window);
dri3_event_ptr *previous, current;
for (previous = &window_priv->events; (current = *previous); previous = &current->next) {
if (current == dri3_event) {
*previous = dri3_event->next;
break;
}
}
free((void *) dri3_event);
return 1;
}
void
dri3_free_events(WindowPtr window)
{
dri3_window_priv_ptr window_priv = dri3_window_priv(window);
dri3_event_ptr event;
if (!window_priv)
return;
while ((event = window_priv->events))
FreeResource(event->id, RT_NONE);
}
static void
dri3_event_swap(xGenericEvent *from, xGenericEvent *to)
{
*to = *from;
swaps(&to->sequenceNumber);
swapl(&to->length);
swaps(&to->evtype);
switch (from->evtype) {
case DRI3_ConfigureNotify: {
xDRI3ConfigureNotify *c = (xDRI3ConfigureNotify *) to;
swapl(&c->eid);
swapl(&c->window);
swaps(&c->x);
swaps(&c->y);
swaps(&c->width);
swaps(&c->height);
swaps(&c->off_x);
swaps(&c->off_y);
swaps(&c->pixmap_width);
swaps(&c->pixmap_height);
swapl(&c->pixmap_flags);
break;
}
}
}
void
dri3_send_config_notify(WindowPtr window, int x, int y, int w, int h, int bw, WindowPtr sibling)
{
dri3_window_priv_ptr window_priv = dri3_window_priv(window);
if (window_priv) {
xDRI3ConfigureNotify cn = {
.type = GenericEvent,
.extension = dri3_request,
.length = (sizeof(xDRI3ConfigureNotify) - 32) >> 2,
.evtype = DRI3_ConfigureNotify,
.eid = 0,
.window = window->drawable.id,
.x = x,
.y = y,
.width = w,
.height = h,
.off_x = 0,
.off_y = 0,
.pixmap_width = w,
.pixmap_height = h,
.pixmap_flags = 0
};
dri3_event_ptr event;
dri3_screen_priv_ptr screen_priv = dri3_screen_priv(window->drawable.pScreen);
if (screen_priv->info && screen_priv->info->driver_config)
screen_priv->info->driver_config(window, &cn);
for (event = window_priv->events; event; event = event->next) {
if (event->mask & (1 << DRI3ConfigureNotify)) {
cn.eid = event->id;
WriteEventsToClient(event->client, 1, (xEvent *) &cn);
}
}
}
}
int
dri3_select_input(ClientPtr client, XID eid, WindowPtr window, CARD32 mask)
{
dri3_window_priv_ptr window_priv = dri3_window_priv(window);
dri3_event_ptr event;
if (!window_priv)
return BadAlloc;
event = calloc (1, sizeof (dri3_event_rec));
if (!event)
return BadAlloc;
event->client = client;
event->window = window;
event->id = eid;
event->mask = mask;
event->next = window_priv->events;
window_priv->events = event;
if (!AddResource(event->id, dri3_event_type, (void *) event))
return BadAlloc;
return Success;
}
Bool
dri3_event_init(void)
{
dri3_event_type = CreateNewResourceType(dri3_free_event, "DRI3Event");
if (!dri3_event_type)
return FALSE;
GERegisterExtension(dri3_request, dri3_event_swap);
return TRUE;
}

View File

@ -32,8 +32,6 @@
#include <randrstr.h> #include <randrstr.h>
#include "dri3.h" #include "dri3.h"
extern int dri3_request;
extern DevPrivateKeyRec dri3_screen_private_key; extern DevPrivateKeyRec dri3_screen_private_key;
typedef struct dri3_screen_priv { typedef struct dri3_screen_priv {

View File

@ -472,13 +472,8 @@ typedef struct {
#define fbGetWindowPixmap(pWin) ((PixmapPtr)\ #define fbGetWindowPixmap(pWin) ((PixmapPtr)\
dixLookupPrivate(&((WindowPtr)(pWin))->devPrivates, fbGetWinPrivateKey(pWin))) dixLookupPrivate(&((WindowPtr)(pWin))->devPrivates, fbGetWinPrivateKey(pWin)))
#ifdef ROOTLESS
#define __fbPixDrawableX(pPix) ((pPix)->drawable.x) #define __fbPixDrawableX(pPix) ((pPix)->drawable.x)
#define __fbPixDrawableY(pPix) ((pPix)->drawable.y) #define __fbPixDrawableY(pPix) ((pPix)->drawable.y)
#else
#define __fbPixDrawableX(pPix) 0
#define __fbPixDrawableY(pPix) 0
#endif
#ifdef COMPOSITE #ifdef COMPOSITE
#define __fbPixOffXWin(pPix) (__fbPixDrawableX(pPix) - (pPix)->screen_x) #define __fbPixOffXWin(pPix) (__fbPixDrawableX(pPix) - (pPix)->screen_x)

View File

@ -87,6 +87,9 @@ __glXDisp_CreateContextAttribsARB(__GLXclientState * cl, GLbyte * pc)
int minor_version = 0; int minor_version = 0;
uint32_t flags = 0; uint32_t flags = 0;
uint32_t render_type = GLX_RGBA_TYPE; uint32_t render_type = GLX_RGBA_TYPE;
#ifdef GLX_CONTEXT_RELEASE_BEHAVIOR_ARB
uint32_t flush = GLX_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB;
#endif
__GLXcontext *ctx = NULL; __GLXcontext *ctx = NULL;
__GLXcontext *shareCtx = NULL; __GLXcontext *shareCtx = NULL;
__GLXscreen *glxScreen; __GLXscreen *glxScreen;
@ -194,6 +197,15 @@ __glXDisp_CreateContextAttribsARB(__GLXclientState * cl, GLbyte * pc)
break; break;
#ifdef GLX_CONTEXT_RELEASE_BEHAVIOR_ARB
case GLX_CONTEXT_RELEASE_BEHAVIOR_ARB:
flush = attribs[2 * i + 1];
if (flush != GLX_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB
&& flush != GLX_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB)
return BadValue;
break;
#endif
default: default:
return BadValue; return BadValue;
} }
@ -333,6 +345,9 @@ __glXDisp_CreateContextAttribsARB(__GLXclientState * cl, GLbyte * pc)
ctx->drawPriv = NULL; ctx->drawPriv = NULL;
ctx->readPriv = NULL; ctx->readPriv = NULL;
ctx->resetNotificationStrategy = reset; ctx->resetNotificationStrategy = reset;
#ifdef GLX_CONTEXT_RELEASE_BEHAVIOR_ARB
ctx->releaseBehavior = flush;
#endif
/* Add the new context to the various global tables of GLX contexts. /* Add the new context to the various global tables of GLX contexts.
*/ */

View File

@ -72,6 +72,7 @@ struct extension_info {
static const struct extension_info known_glx_extensions[] = { static const struct extension_info known_glx_extensions[] = {
/* GLX_ARB_get_proc_address is implemented on the client. */ /* GLX_ARB_get_proc_address is implemented on the client. */
/* *INDENT-OFF* */ /* *INDENT-OFF* */
{ GLX(ARB_context_flush_control), VER(0,0), N, },
{ GLX(ARB_create_context), VER(0,0), N, }, { GLX(ARB_create_context), VER(0,0), N, },
{ GLX(ARB_create_context_profile), VER(0,0), N, }, { GLX(ARB_create_context_profile), VER(0,0), N, },
{ GLX(ARB_create_context_robustness), VER(0,0), N, }, { GLX(ARB_create_context_robustness), VER(0,0), N, },

View File

@ -36,7 +36,8 @@
enum { enum {
/* GLX_ARB_get_proc_address is implemented on the client. */ /* GLX_ARB_get_proc_address is implemented on the client. */
ARB_create_context_bit = 0, ARB_context_flush_control_bit = 0,
ARB_create_context_bit,
ARB_create_context_profile_bit, ARB_create_context_profile_bit,
ARB_create_context_robustness_bit, ARB_create_context_robustness_bit,
ARB_fbconfig_float_bit, ARB_fbconfig_float_bit,

View File

@ -334,6 +334,19 @@ DoCreateContext(__GLXclientState * cl, GLXContextID gcId,
*/ */
glxc->resetNotificationStrategy = GLX_NO_RESET_NOTIFICATION_ARB; glxc->resetNotificationStrategy = GLX_NO_RESET_NOTIFICATION_ARB;
#ifdef GLX_CONTEXT_RELEASE_BEHAVIOR_ARB
/* The GLX_ARB_context_flush_control spec says:
*
* "The default value [for GLX_CONTEXT_RELEASE_BEHAVIOR] is
* CONTEXT_RELEASE_BEHAVIOR_FLUSH, and may in some cases be changed
* using platform-specific context creation extensions."
*
* Without using glXCreateContextAttribsARB, there is no way to specify a
* non-default release behavior.
*/
glxc->releaseBehavior = GLX_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB;
#endif
/* Add the new context to the various global tables of GLX contexts. /* Add the new context to the various global tables of GLX contexts.
*/ */
if (!__glXAddContext(glxc)) { if (!__glXAddContext(glxc)) {
@ -626,7 +639,12 @@ DoMakeCurrent(__GLXclientState * cl,
/* /*
** Flush the previous context if needed. ** Flush the previous context if needed.
*/ */
if (prevglxc->hasUnflushedCommands) { Bool need_flush = GL_TRUE;
#ifdef GLX_CONTEXT_RELEASE_BEHAVIOR_ARB
if (prevglxc->releaseBehavior == GLX_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB)
need_flush = GL_FALSE;
#endif
if (prevglxc->hasUnflushedCommands && need_flush) {
if (__glXForceCurrent(cl, tag, (int *) &error)) { if (__glXForceCurrent(cl, tag, (int *) &error)) {
glFlush(); glFlush();
prevglxc->hasUnflushedCommands = GL_FALSE; prevglxc->hasUnflushedCommands = GL_FALSE;

View File

@ -108,6 +108,11 @@ struct __GLXcontext {
*/ */
GLenum resetNotificationStrategy; GLenum resetNotificationStrategy;
/**
* Context release behavior
*/
GLenum releaseBehavior;
/* /*
** Buffers for feedback and selection. ** Buffers for feedback and selection.
*/ */

View File

@ -921,6 +921,13 @@ initializeExtensions(__GLXDRIscreen * screen)
"AIGLX: enabled GLX_ARB_create_context_robustness\n"); "AIGLX: enabled GLX_ARB_create_context_robustness\n");
} }
#ifdef __DRI2_FLUSH_CONTROL
if (strcmp(extensions[i]->name, __DRI2_FLUSH_CONTROL) == 0) {
__glXEnableExtension(screen->glx_enable_bits,
"GLX_ARB_context_flush_control\n");
}
#endif
/* Ignore unknown extensions */ /* Ignore unknown extensions */
} }
} }

View File

@ -71,6 +71,8 @@ struct __GLXDRIscreen {
const __DRIcopySubBufferExtension *copySubBuffer; const __DRIcopySubBufferExtension *copySubBuffer;
const __DRItexBufferExtension *texBuffer; const __DRItexBufferExtension *texBuffer;
const __DRIconfig **driConfigs; const __DRIconfig **driConfigs;
unsigned char glx_enable_bits[__GLX_EXT_BYTES];
}; };
struct __GLXDRIcontext { struct __GLXDRIcontext {
@ -394,13 +396,28 @@ initializeExtensions(__GLXDRIscreen * screen)
const __DRIextension **extensions; const __DRIextension **extensions;
int i; int i;
if (screen->swrast->base.version >= 3) {
__glXEnableExtension(screen->glx_enable_bits,
"GLX_ARB_create_context");
__glXEnableExtension(screen->glx_enable_bits,
"GLX_ARB_create_context_profile");
__glXEnableExtension(screen->glx_enable_bits,
"GLX_EXT_create_context_es2_profile");
}
/* these are harmless to enable unconditionally */
__glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_framebuffer_sRGB");
__glXEnableExtension(screen->glx_enable_bits, "GLX_ARB_fbconfig_float");
__glXEnableExtension(screen->glx_enable_bits, "GLX_SGI_make_current_read");
extensions = screen->core->getExtensions(screen->driScreen); extensions = screen->core->getExtensions(screen->driScreen);
for (i = 0; extensions[i]; i++) { for (i = 0; extensions[i]; i++) {
if (strcmp(extensions[i]->name, __DRI_COPY_SUB_BUFFER) == 0) { if (strcmp(extensions[i]->name, __DRI_COPY_SUB_BUFFER) == 0) {
screen->copySubBuffer = screen->copySubBuffer =
(const __DRIcopySubBufferExtension *) extensions[i]; (const __DRIcopySubBufferExtension *) extensions[i];
/* GLX_MESA_copy_sub_buffer is always enabled. */ __glXEnableExtension(screen->glx_enable_bits,
"GLX_MESA_copy_sub_buffer");
} }
if (strcmp(extensions[i]->name, __DRI_TEX_BUFFER) == 0) { if (strcmp(extensions[i]->name, __DRI_TEX_BUFFER) == 0) {
@ -408,7 +425,13 @@ initializeExtensions(__GLXDRIscreen * screen)
/* GLX_EXT_texture_from_pixmap is always enabled. */ /* GLX_EXT_texture_from_pixmap is always enabled. */
} }
/* Ignore unknown extensions */ #ifdef __DRI2_FLUSH_CONTROL
if (strcmp(extensions[i]->name, __DRI2_FLUSH_CONTROL) == 0) {
__glXEnableExtension(screen->glx_enable_bits,
"GLX_ARB_context_flush_control\n");
}
#endif
} }
} }
@ -420,6 +443,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
{ {
const char *driverName = "swrast"; const char *driverName = "swrast";
__GLXDRIscreen *screen; __GLXDRIscreen *screen;
size_t buffer_size;
screen = calloc(1, sizeof *screen); screen = calloc(1, sizeof *screen);
if (screen == NULL) if (screen == NULL)
@ -431,6 +455,8 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
screen->base.swapInterval = NULL; screen->base.swapInterval = NULL;
screen->base.pScreen = pScreen; screen->base.pScreen = pScreen;
__glXInitExtensionEnableBits(screen->glx_enable_bits);
screen->driver = glxProbeDriver(driverName, screen->driver = glxProbeDriver(driverName,
(void **) &screen->core, (void **) &screen->core,
__DRI_CORE, 1, __DRI_CORE, 1,
@ -459,6 +485,19 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
__glXScreenInit(&screen->base, pScreen); __glXScreenInit(&screen->base, pScreen);
/* The first call simply determines the length of the extension string.
* This allows us to allocate some memory to hold the extension string,
* but it requires that we call __glXGetExtensionString a second time.
*/
buffer_size = __glXGetExtensionString(screen->glx_enable_bits, NULL);
if (buffer_size > 0) {
free(screen->base.GLXextensions);
screen->base.GLXextensions = xnfalloc(buffer_size);
(void) __glXGetExtensionString(screen->glx_enable_bits,
screen->base.GLXextensions);
}
screen->base.GLXmajor = 1; screen->base.GLXmajor = 1;
screen->base.GLXminor = 4; screen->base.GLXminor = 4;

View File

@ -21,7 +21,6 @@ XVFB_LIBS = \
Xvfb_LDADD = $(XVFB_LIBS) $(XVFB_SYS_LIBS) $(XSERVER_SYS_LIBS) Xvfb_LDADD = $(XVFB_LIBS) $(XVFB_SYS_LIBS) $(XSERVER_SYS_LIBS)
Xvfb_DEPENDENCIES = $(XVFB_LIBS) Xvfb_DEPENDENCIES = $(XVFB_LIBS)
Xvfb_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
relink: relink:
$(AM_V_at)rm -f Xvfb$(EXEEXT) && $(MAKE) Xvfb$(EXEEXT) $(AM_V_at)rm -f Xvfb$(EXEEXT) && $(MAKE) Xvfb$(EXEEXT)

View File

@ -16,7 +16,6 @@ endif
if XF86VIDMODE if XF86VIDMODE
XF86VMODESOURCES = xf86vmode.c XF86VMODESOURCES = xf86vmode.c
XF86VMODE_SDK = vidmodeproc.h
endif endif
if DGA if DGA

View File

@ -54,57 +54,15 @@ typedef struct {
/* DDX interface */ /* DDX interface */
extern _X_EXPORT int extern Bool DGAScreenAvailable(ScreenPtr pScreen);
DGASetMode(int Index, int num, XDGAModePtr mode, PixmapPtr *pPix); extern Bool DGAActive(int Index);
extern void DGAShutdown(void);
extern _X_EXPORT void extern Bool DGAVTSwitch(void);
DGASetInputMode(int Index, Bool keyboard, Bool mouse); extern Bool DGAStealButtonEvent(DeviceIntPtr dev, int Index,
int button, int is_down);
extern _X_EXPORT void extern Bool DGAStealMotionEvent(DeviceIntPtr dev, int Index, int dx, int dy);
DGASelectInput(int Index, ClientPtr client, long mask); extern Bool DGAStealKeyEvent(DeviceIntPtr dev, int Index,
int key_code, int is_down);
extern _X_EXPORT Bool DGAAvailable(int Index);
extern _X_EXPORT Bool DGAScreenAvailable(ScreenPtr pScreen);
extern _X_EXPORT Bool DGAActive(int Index);
extern _X_EXPORT void DGAShutdown(void);
extern _X_EXPORT void DGAInstallCmap(ColormapPtr cmap);
extern _X_EXPORT int DGAGetViewportStatus(int Index);
extern _X_EXPORT int DGASync(int Index);
extern _X_EXPORT int
DGAFillRect(int Index, int x, int y, int w, int h, unsigned long color);
extern _X_EXPORT int
DGABlitRect(int Index, int srcx, int srcy, int w, int h, int dstx, int dsty);
extern _X_EXPORT int
DGABlitTransRect(int Index,
int srcx, int srcy,
int w, int h, int dstx, int dsty, unsigned long color);
extern _X_EXPORT int
DGASetViewport(int Index, int x, int y, int mode);
extern _X_EXPORT int DGAGetModes(int Index);
extern _X_EXPORT int DGAGetOldDGAMode(int Index);
extern _X_EXPORT int DGAGetModeInfo(int Index, XDGAModePtr mode, int num);
extern _X_EXPORT Bool DGAVTSwitch(void);
extern _X_EXPORT Bool DGAStealButtonEvent(DeviceIntPtr dev, int Index,
int button, int is_down);
extern _X_EXPORT Bool DGAStealMotionEvent(DeviceIntPtr dev, int Index, int dx,
int dy);
extern _X_EXPORT Bool DGAStealKeyEvent(DeviceIntPtr dev, int Index,
int key_code, int is_down);
extern _X_EXPORT Bool DGAOpenFramebuffer(int Index, char **name,
unsigned char **mem, int *size,
int *offset, int *flags);
extern _X_EXPORT void DGACloseFramebuffer(int Index);
extern _X_EXPORT Bool DGAChangePixmapMode(int Index, int *x, int *y, int mode);
extern _X_EXPORT int DGACreateColormap(int Index, ClientPtr client, int id,
int mode, int alloc);
#endif /* __DGAPROC_H */ #endif /* __DGAPROC_H */

View File

@ -41,44 +41,43 @@ typedef union {
extern Bool VidModeExtensionInit(ScreenPtr pScreen); extern Bool VidModeExtensionInit(ScreenPtr pScreen);
extern _X_EXPORT Bool VidModeAvailable(int scrnIndex); extern Bool VidModeGetCurrentModeline(int scrnIndex, void **mode,
extern _X_EXPORT Bool VidModeGetCurrentModeline(int scrnIndex, void **mode, int *dotClock);
int *dotClock); extern Bool VidModeGetFirstModeline(int scrnIndex, void **mode,
extern _X_EXPORT Bool VidModeGetFirstModeline(int scrnIndex, void **mode, int *dotClock);
int *dotClock); extern Bool VidModeGetNextModeline(int scrnIndex, void **mode,
extern _X_EXPORT Bool VidModeGetNextModeline(int scrnIndex, void **mode, int *dotClock);
int *dotClock); extern Bool VidModeDeleteModeline(int scrnIndex, void *mode);
extern _X_EXPORT Bool VidModeDeleteModeline(int scrnIndex, void *mode); extern Bool VidModeZoomViewport(int scrnIndex, int zoom);
extern _X_EXPORT Bool VidModeZoomViewport(int scrnIndex, int zoom); extern Bool VidModeGetViewPort(int scrnIndex, int *x, int *y);
extern _X_EXPORT Bool VidModeGetViewPort(int scrnIndex, int *x, int *y); extern Bool VidModeSetViewPort(int scrnIndex, int x, int y);
extern _X_EXPORT Bool VidModeSetViewPort(int scrnIndex, int x, int y); extern Bool VidModeSwitchMode(int scrnIndex, void *mode);
extern _X_EXPORT Bool VidModeSwitchMode(int scrnIndex, void *mode); extern Bool VidModeLockZoom(int scrnIndex, Bool lock);
extern _X_EXPORT Bool VidModeLockZoom(int scrnIndex, Bool lock); extern Bool VidModeGetMonitor(int scrnIndex, void **monitor);
extern _X_EXPORT Bool VidModeGetMonitor(int scrnIndex, void **monitor); extern int VidModeGetNumOfClocks(int scrnIndex, Bool *progClock);
extern _X_EXPORT int VidModeGetNumOfClocks(int scrnIndex, Bool *progClock); extern Bool VidModeGetClocks(int scrnIndex, int *Clocks);
extern _X_EXPORT Bool VidModeGetClocks(int scrnIndex, int *Clocks); extern ModeStatus VidModeCheckModeForMonitor(int scrnIndex,
extern _X_EXPORT ModeStatus VidModeCheckModeForMonitor(int scrnIndex, void *mode);
void *mode); extern ModeStatus VidModeCheckModeForDriver(int scrnIndex,
extern _X_EXPORT ModeStatus VidModeCheckModeForDriver(int scrnIndex, void *mode);
void *mode); extern void VidModeSetCrtcForMode(int scrnIndex, void *mode);
extern _X_EXPORT void VidModeSetCrtcForMode(int scrnIndex, void *mode); extern Bool VidModeAddModeline(int scrnIndex, void *mode);
extern _X_EXPORT Bool VidModeAddModeline(int scrnIndex, void *mode); extern int VidModeGetDotClock(int scrnIndex, int Clock);
extern _X_EXPORT int VidModeGetDotClock(int scrnIndex, int Clock); extern int VidModeGetNumOfModes(int scrnIndex);
extern _X_EXPORT int VidModeGetNumOfModes(int scrnIndex); extern Bool VidModeSetGamma(int scrnIndex, float red, float green,
extern _X_EXPORT Bool VidModeSetGamma(int scrnIndex, float red, float green, float blue);
float blue); extern Bool VidModeGetGamma(int scrnIndex, float *red, float *green,
extern _X_EXPORT Bool VidModeGetGamma(int scrnIndex, float *red, float *green, float *blue);
float *blue); extern void *VidModeCreateMode(void);
extern _X_EXPORT void *VidModeCreateMode(void); extern void VidModeCopyMode(void *modefrom, void *modeto);
extern _X_EXPORT void VidModeCopyMode(void *modefrom, void *modeto); extern int VidModeGetModeValue(void *mode, int valtyp);
extern _X_EXPORT int VidModeGetModeValue(void *mode, int valtyp); extern void VidModeSetModeValue(void *mode, int valtyp, int val);
extern _X_EXPORT void VidModeSetModeValue(void *mode, int valtyp, int val); extern vidMonitorValue VidModeGetMonitorValue(void *monitor,
extern _X_EXPORT vidMonitorValue VidModeGetMonitorValue(void *monitor, int valtyp, int indx);
int valtyp, int indx); extern Bool VidModeSetGammaRamp(int, int, CARD16 *, CARD16 *,
extern _X_EXPORT Bool VidModeSetGammaRamp(int, int, CARD16 *, CARD16 *, CARD16 *);
CARD16 *); extern Bool VidModeGetGammaRamp(int, int, CARD16 *, CARD16 *,
extern _X_EXPORT Bool VidModeGetGammaRamp(int, int, CARD16 *, CARD16 *, CARD16 *);
CARD16 *); extern int VidModeGetGammaRampSize(int scrnIndex);
extern _X_EXPORT int VidModeGetGammaRampSize(int scrnIndex);
#endif #endif

View File

@ -368,22 +368,11 @@ xf86GetBppFromDepth(ScrnInfoPtr pScrn, int depth);
/* xf86Mode.c */ /* xf86Mode.c */
extern _X_EXPORT int
xf86GetNearestClock(ScrnInfoPtr scrp, int freq, Bool allowDiv2,
int DivFactor, int MulFactor, int *divider);
extern _X_EXPORT const char * extern _X_EXPORT const char *
xf86ModeStatusToString(ModeStatus status); xf86ModeStatusToString(ModeStatus status);
extern _X_EXPORT ModeStatus extern _X_EXPORT ModeStatus
xf86LookupMode(ScrnInfoPtr scrp, DisplayModePtr modep,
ClockRangePtr clockRanges, LookupModeFlags strategy);
extern _X_EXPORT ModeStatus
xf86CheckModeForMonitor(DisplayModePtr mode, MonPtr monitor); xf86CheckModeForMonitor(DisplayModePtr mode, MonPtr monitor);
extern _X_EXPORT ModeStatus extern _X_EXPORT ModeStatus
xf86InitialCheckModeForDriver(ScrnInfoPtr scrp, DisplayModePtr mode,
ClockRangePtr clockRanges,
LookupModeFlags strategy,
int maxPitch, int virtualX, int virtualY);
extern _X_EXPORT ModeStatus
xf86CheckModeForDriver(ScrnInfoPtr scrp, DisplayModePtr mode, int flags); xf86CheckModeForDriver(ScrnInfoPtr scrp, DisplayModePtr mode, int flags);
extern _X_EXPORT int extern _X_EXPORT int
xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes, xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes,

View File

@ -471,7 +471,7 @@ xf86SetDGAMode(ScrnInfoPtr pScrn, int num, DGADevicePtr devRet)
/*********** exported ones ***************/ /*********** exported ones ***************/
void static void
DGASetInputMode(int index, Bool keyboard, Bool mouse) DGASetInputMode(int index, Bool keyboard, Bool mouse)
{ {
ScreenPtr pScreen = screenInfo.screens[index]; ScreenPtr pScreen = screenInfo.screens[index];
@ -488,7 +488,7 @@ DGASetInputMode(int index, Bool keyboard, Bool mouse)
} }
} }
Bool static Bool
DGAChangePixmapMode(int index, int *x, int *y, int mode) DGAChangePixmapMode(int index, int *x, int *y, int mode)
{ {
DGAScreenPtr pScreenPriv; DGAScreenPtr pScreenPriv;
@ -560,7 +560,7 @@ DGAScreenAvailable(ScreenPtr pScreen)
return FALSE; return FALSE;
} }
Bool static Bool
DGAAvailable(int index) DGAAvailable(int index)
{ {
ScreenPtr pScreen; ScreenPtr pScreen;
@ -606,7 +606,7 @@ DGAShutdown(void)
/* Called by the extension to initialize a mode */ /* Called by the extension to initialize a mode */
int static int
DGASetMode(int index, int num, XDGAModePtr mode, PixmapPtr *pPix) DGASetMode(int index, int num, XDGAModePtr mode, PixmapPtr *pPix)
{ {
ScrnInfoPtr pScrn = xf86Screens[index]; ScrnInfoPtr pScrn = xf86Screens[index];
@ -626,7 +626,7 @@ DGASetMode(int index, int num, XDGAModePtr mode, PixmapPtr *pPix)
/* Called from the extension to let the DDX know which events are requested */ /* Called from the extension to let the DDX know which events are requested */
void static void
DGASelectInput(int index, ClientPtr client, long mask) DGASelectInput(int index, ClientPtr client, long mask)
{ {
DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]); DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]);
@ -636,7 +636,7 @@ DGASelectInput(int index, ClientPtr client, long mask)
pScreenPriv->input = mask; pScreenPriv->input = mask;
} }
int static int
DGAGetViewportStatus(int index) DGAGetViewportStatus(int index)
{ {
DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]); DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]);
@ -649,7 +649,7 @@ DGAGetViewportStatus(int index)
return (*pScreenPriv->funcs->GetViewport) (pScreenPriv->pScrn); return (*pScreenPriv->funcs->GetViewport) (pScreenPriv->pScrn);
} }
int static int
DGASetViewport(int index, int x, int y, int mode) DGASetViewport(int index, int x, int y, int mode)
{ {
DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]); DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]);
@ -675,7 +675,7 @@ BitsClear(CARD32 data)
return bits; return bits;
} }
int static int
DGACreateColormap(int index, ClientPtr client, int id, int mode, int alloc) DGACreateColormap(int index, ClientPtr client, int id, int mode, int alloc)
{ {
ScreenPtr pScreen = screenInfo.screens[index]; ScreenPtr pScreen = screenInfo.screens[index];
@ -744,7 +744,7 @@ DGACreateColormap(int index, ClientPtr client, int id, int mode, int alloc)
/* Called by the extension to install a colormap on DGA active screens */ /* Called by the extension to install a colormap on DGA active screens */
void static void
DGAInstallCmap(ColormapPtr cmap) DGAInstallCmap(ColormapPtr cmap)
{ {
ScreenPtr pScreen = cmap->pScreen; ScreenPtr pScreen = cmap->pScreen;
@ -760,7 +760,7 @@ DGAInstallCmap(ColormapPtr cmap)
(*pScreen->InstallColormap) (cmap); (*pScreen->InstallColormap) (cmap);
} }
int static int
DGASync(int index) DGASync(int index)
{ {
DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]); DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]);
@ -773,7 +773,7 @@ DGASync(int index)
return Success; return Success;
} }
int static int
DGAFillRect(int index, int x, int y, int w, int h, unsigned long color) DGAFillRect(int index, int x, int y, int w, int h, unsigned long color)
{ {
DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]); DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]);
@ -789,7 +789,7 @@ DGAFillRect(int index, int x, int y, int w, int h, unsigned long color)
return BadMatch; return BadMatch;
} }
int static int
DGABlitRect(int index, int srcx, int srcy, int w, int h, int dstx, int dsty) DGABlitRect(int index, int srcx, int srcy, int w, int h, int dstx, int dsty)
{ {
DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]); DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]);
@ -806,7 +806,7 @@ DGABlitRect(int index, int srcx, int srcy, int w, int h, int dstx, int dsty)
return BadMatch; return BadMatch;
} }
int static int
DGABlitTransRect(int index, DGABlitTransRect(int index,
int srcx, int srcy, int srcx, int srcy,
int w, int h, int dstx, int dsty, unsigned long color) int w, int h, int dstx, int dsty, unsigned long color)
@ -826,7 +826,7 @@ DGABlitTransRect(int index,
return BadMatch; return BadMatch;
} }
int static int
DGAGetModes(int index) DGAGetModes(int index)
{ {
DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]); DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]);
@ -836,7 +836,7 @@ DGAGetModes(int index)
return pScreenPriv->numModes; return pScreenPriv->numModes;
} }
int static int
DGAGetModeInfo(int index, XDGAModePtr mode, int num) DGAGetModeInfo(int index, XDGAModePtr mode, int num)
{ {
DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]); DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]);
@ -1126,7 +1126,7 @@ DGAProcessPointerEvent(ScreenPtr pScreen, DGAEvent * event, DeviceIntPtr mouse)
} }
} }
Bool static Bool
DGAOpenFramebuffer(int index, DGAOpenFramebuffer(int index,
char **name, char **name,
unsigned char **mem, int *size, int *offset, int *flags) unsigned char **mem, int *size, int *offset, int *flags)
@ -1140,7 +1140,7 @@ DGAOpenFramebuffer(int index,
flags); flags);
} }
void static void
DGACloseFramebuffer(int index) DGACloseFramebuffer(int index)
{ {
DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]); DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]);
@ -1152,7 +1152,7 @@ DGACloseFramebuffer(int index)
/* For DGA 1.0 backwards compatibility only */ /* For DGA 1.0 backwards compatibility only */
int static int
DGAGetOldDGAMode(int index) DGAGetOldDGAMode(int index)
{ {
DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]); DGAScreenPtr pScreenPriv = DGA_GET_SCREEN_PRIV(screenInfo.screens[index]);

View File

@ -112,11 +112,10 @@ printModeRejectMessage(int index, DisplayModePtr p, int status)
} }
/* /*
* xf86GetNearestClock -- * Find closest clock to given frequency (in kHz). This assumes the
* Find closest clock to given frequency (in kHz). This assumes the * number of clocks is greater than zero.
* number of clocks is greater than zero.
*/ */
int static int
xf86GetNearestClock(ScrnInfoPtr scrp, int freq, Bool allowDiv2, xf86GetNearestClock(ScrnInfoPtr scrp, int freq, Bool allowDiv2,
int DivFactor, int MulFactor, int *divider) int DivFactor, int MulFactor, int *divider)
{ {
@ -451,7 +450,7 @@ xf86HandleBuiltinMode(ScrnInfoPtr scrp,
* reason. * reason.
*/ */
ModeStatus static ModeStatus
xf86LookupMode(ScrnInfoPtr scrp, DisplayModePtr modep, xf86LookupMode(ScrnInfoPtr scrp, DisplayModePtr modep,
ClockRangePtr clockRanges, LookupModeFlags strategy) ClockRangePtr clockRanges, LookupModeFlags strategy)
{ {
@ -845,7 +844,7 @@ xf86CheckModeSize(ScrnInfoPtr scrp, int w, int x, int y)
* maxVValue maximum vertical timing value * maxVValue maximum vertical timing value
*/ */
ModeStatus static ModeStatus
xf86InitialCheckModeForDriver(ScrnInfoPtr scrp, DisplayModePtr mode, xf86InitialCheckModeForDriver(ScrnInfoPtr scrp, DisplayModePtr mode,
ClockRangePtr clockRanges, ClockRangePtr clockRanges,
LookupModeFlags strategy, LookupModeFlags strategy,

View File

@ -111,7 +111,7 @@ VidModeClose(ScreenPtr pScreen)
return pScreen->CloseScreen(pScreen); return pScreen->CloseScreen(pScreen);
} }
Bool static Bool
VidModeAvailable(int scrnIndex) VidModeAvailable(int scrnIndex)
{ {
ScrnInfoPtr pScrn; ScrnInfoPtr pScrn;

View File

@ -6955,28 +6955,6 @@ and needs to do its own mode validation, it might be able to make
use of some of these secondary mode helper functions. use of some of these secondary mode helper functions.
</para> </para>
<blockquote><para>
<programlisting>
int xf86GetNearestClock(ScrnInfoPtr scrp, int freq, Bool allowDiv2,
int *divider);
</programlisting>
<blockquote><para>
This function returns the index of the closest clock to the
frequency <parameter>freq</parameter> given (in kHz). It assumes that
the number of clocks is greater than zero. It requires that the
<structfield>numClocks</structfield> and <structfield>clock</structfield> fields of the
<structname>ScrnInfoRec</structname> are initialised. The
<structfield>allowDiv2</structfield> field determines if the clocks can be
halved. The <parameter>*divider</parameter> return value indicates
whether clock division is used when determining the clock returned.
</para>
<para>
This function is only for non-programmable clocks.
</para>
</blockquote></para></blockquote>
<blockquote><para> <blockquote><para>
<programlisting> <programlisting>
const char *xf86ModeStatusToString(ModeStatus status); const char *xf86ModeStatusToString(ModeStatus status);
@ -6988,59 +6966,6 @@ use of some of these secondary mode helper functions.
</blockquote></para></blockquote> </blockquote></para></blockquote>
<blockquote><para>
<programlisting>
ModeStatus xf86LookupMode(ScrnInfoPtr scrp, DisplayModePtr modep,
ClockRangePtr clockRanges, LookupModeFlags strategy);
</programlisting>
<blockquote><para>
This function takes a pointer to a mode with the name filled in,
and looks for a mode in the <structfield>modePool</structfield> list which
matches. The parameters of the matching mode are filled in to
<parameter>*modep</parameter>. The <parameter>clockRanges</parameter> and
<parameter>strategy</parameter> parameters are as for the
<function>xf86ValidateModes()</function> function above.
</para>
<para>
This function requires the <structfield>modePool</structfield>,
<structfield>clock[]</structfield>, <structfield>numClocks</structfield> and
<structfield>progClock</structfield> fields of the <structname>ScrnInfoRec</structname>
to be initialised before being called.
</para>
<para>
The return value is <constant>MODE_OK</constant> if a mode was found.
Otherwise it indicates why a matching mode could not be found.
</para>
</blockquote></para></blockquote>
<blockquote><para>
<programlisting>
ModeStatus xf86InitialCheckModeForDriver(ScrnInfoPtr scrp,
DisplayModePtr mode, ClockRangePtr clockRanges,
LookupModeFlags strategy, int maxPitch,
int virtualX, int virtualY);
</programlisting>
<blockquote><para>
This function checks the passed mode against some basic driver
constraints. Apart from the ones passed explicitly, the
<structfield>maxHValue</structfield> and <structfield>maxVValue</structfield> fields of
the <structname>ScrnInfoRec</structname> are also used. If the
<structfield>ValidMode</structfield> field of the <structname>ScrnInfoRec</structname>
is set, that function is also called to check the mode. Next, the
mode is checked against the monitor's constraints.
</para>
<para>
If the mode is consistent with all constraints, the return value
is <constant>MODE_OK</constant>. Otherwise the return value indicates
which constraint wasn't met.
</para>
</blockquote></para></blockquote>
<blockquote><para> <blockquote><para>
<programlisting> <programlisting>
void xf86DeleteMode(DisplayModePtr *modeList, DisplayModePtr mode); void xf86DeleteMode(DisplayModePtr *modeList, DisplayModePtr mode);

View File

@ -58,6 +58,82 @@ xf86ConfigSymTabRec InputClassTab[] = {
{-1, ""}, {-1, ""},
}; };
static void
xf86freeInputClassList(XF86ConfInputClassPtr ptr)
{
XF86ConfInputClassPtr prev;
while (ptr) {
xf86MatchGroup *group, *next;
char **list;
TestFree(ptr->identifier);
TestFree(ptr->driver);
xorg_list_for_each_entry_safe(group, next, &ptr->match_product, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
xorg_list_for_each_entry_safe(group, next, &ptr->match_vendor, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
xorg_list_for_each_entry_safe(group, next, &ptr->match_device, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
xorg_list_for_each_entry_safe(group, next, &ptr->match_os, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
xorg_list_for_each_entry_safe(group, next, &ptr->match_pnpid, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
xorg_list_for_each_entry_safe(group, next, &ptr->match_usbid, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
xorg_list_for_each_entry_safe(group, next, &ptr->match_driver, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
xorg_list_for_each_entry_safe(group, next, &ptr->match_tag, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
xorg_list_for_each_entry_safe(group, next, &ptr->match_layout, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
TestFree(ptr->comment);
xf86optionListFree(ptr->option_lst);
prev = ptr;
ptr = ptr->list.next;
free(prev);
}
}
#define CLEANUP xf86freeInputClassList #define CLEANUP xf86freeInputClassList
#define TOKEN_SEP "|" #define TOKEN_SEP "|"
@ -354,79 +430,3 @@ xf86printInputClassSection(FILE * cf, XF86ConfInputClassPtr ptr)
ptr = ptr->list.next; ptr = ptr->list.next;
} }
} }
void
xf86freeInputClassList(XF86ConfInputClassPtr ptr)
{
XF86ConfInputClassPtr prev;
while (ptr) {
xf86MatchGroup *group, *next;
char **list;
TestFree(ptr->identifier);
TestFree(ptr->driver);
xorg_list_for_each_entry_safe(group, next, &ptr->match_product, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
xorg_list_for_each_entry_safe(group, next, &ptr->match_vendor, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
xorg_list_for_each_entry_safe(group, next, &ptr->match_device, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
xorg_list_for_each_entry_safe(group, next, &ptr->match_os, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
xorg_list_for_each_entry_safe(group, next, &ptr->match_pnpid, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
xorg_list_for_each_entry_safe(group, next, &ptr->match_usbid, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
xorg_list_for_each_entry_safe(group, next, &ptr->match_driver, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
xorg_list_for_each_entry_safe(group, next, &ptr->match_tag, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
xorg_list_for_each_entry_safe(group, next, &ptr->match_layout, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
TestFree(ptr->comment);
xf86optionListFree(ptr->option_lst);
prev = ptr;
ptr = ptr->list.next;
free(prev);
}
}

View File

@ -41,6 +41,32 @@ xf86ConfigSymTabRec OutputClassTab[] = {
{-1, ""}, {-1, ""},
}; };
static void
xf86freeOutputClassList(XF86ConfOutputClassPtr ptr)
{
XF86ConfOutputClassPtr prev;
while (ptr) {
xf86MatchGroup *group, *next;
char **list;
TestFree(ptr->identifier);
TestFree(ptr->comment);
TestFree(ptr->driver);
xorg_list_for_each_entry_safe(group, next, &ptr->match_driver, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
prev = ptr;
ptr = ptr->list.next;
free(prev);
}
}
#define CLEANUP xf86freeOutputClassList #define CLEANUP xf86freeOutputClassList
#define TOKEN_SEP "|" #define TOKEN_SEP "|"
@ -139,29 +165,3 @@ xf86printOutputClassSection(FILE * cf, XF86ConfOutputClassPtr ptr)
ptr = ptr->list.next; ptr = ptr->list.next;
} }
} }
void
xf86freeOutputClassList(XF86ConfOutputClassPtr ptr)
{
XF86ConfOutputClassPtr prev;
while (ptr) {
xf86MatchGroup *group, *next;
char **list;
TestFree(ptr->identifier);
TestFree(ptr->comment);
TestFree(ptr->driver);
xorg_list_for_each_entry_safe(group, next, &ptr->match_driver, entry) {
xorg_list_del(&group->entry);
for (list = group->values; *list; list++)
free(*list);
free(group);
}
prev = ptr;
ptr = ptr->list.next;
free(prev);
}
}

View File

@ -76,6 +76,33 @@ static xf86ConfigSymTabRec DisplayTab[] = {
{-1, ""}, {-1, ""},
}; };
static void
xf86freeModeList(XF86ModePtr ptr)
{
XF86ModePtr prev;
while (ptr) {
TestFree(ptr->mode_name);
prev = ptr;
ptr = ptr->list.next;
free(prev);
}
}
static void
xf86freeDisplayList(XF86ConfDisplayPtr ptr)
{
XF86ConfDisplayPtr prev;
while (ptr) {
xf86freeModeList(ptr->disp_mode_lst);
xf86optionListFree(ptr->disp_option_lst);
prev = ptr;
ptr = ptr->list.next;
free(prev);
}
}
#define CLEANUP xf86freeDisplayList #define CLEANUP xf86freeDisplayList
static XF86ConfDisplayPtr static XF86ConfDisplayPtr
@ -433,6 +460,19 @@ xf86printScreenSection(FILE * cf, XF86ConfScreenPtr ptr)
} }
static void
xf86freeAdaptorLinkList(XF86ConfAdaptorLinkPtr ptr)
{
XF86ConfAdaptorLinkPtr prev;
while (ptr) {
TestFree(ptr->al_adaptor_str);
prev = ptr;
ptr = ptr->list.next;
free(prev);
}
}
void void
xf86freeScreenList(XF86ConfScreenPtr ptr) xf86freeScreenList(XF86ConfScreenPtr ptr)
{ {
@ -454,46 +494,6 @@ xf86freeScreenList(XF86ConfScreenPtr ptr)
} }
} }
void
xf86freeAdaptorLinkList(XF86ConfAdaptorLinkPtr ptr)
{
XF86ConfAdaptorLinkPtr prev;
while (ptr) {
TestFree(ptr->al_adaptor_str);
prev = ptr;
ptr = ptr->list.next;
free(prev);
}
}
void
xf86freeDisplayList(XF86ConfDisplayPtr ptr)
{
XF86ConfDisplayPtr prev;
while (ptr) {
xf86freeModeList(ptr->disp_mode_lst);
xf86optionListFree(ptr->disp_option_lst);
prev = ptr;
ptr = ptr->list.next;
free(prev);
}
}
void
xf86freeModeList(XF86ModePtr ptr)
{
XF86ModePtr prev;
while (ptr) {
TestFree(ptr->mode_name);
prev = ptr;
ptr = ptr->list.next;
free(prev);
}
}
int int
xf86validateScreen(XF86ConfigPtr p) xf86validateScreen(XF86ConfigPtr p)
{ {

View File

@ -68,6 +68,22 @@ static xf86ConfigSymTabRec VendorSubTab[] = {
{-1, ""}, {-1, ""},
}; };
static void
xf86freeVendorSubList(XF86ConfVendSubPtr ptr)
{
XF86ConfVendSubPtr prev;
while (ptr) {
TestFree(ptr->vs_identifier);
TestFree(ptr->vs_name);
TestFree(ptr->vs_comment);
xf86optionListFree(ptr->vs_option_lst);
prev = ptr;
ptr = ptr->list.next;
free(prev);
}
}
#define CLEANUP xf86freeVendorSubList #define CLEANUP xf86freeVendorSubList
static XF86ConfVendSubPtr static XF86ConfVendSubPtr
@ -215,19 +231,3 @@ xf86freeVendorList(XF86ConfVendorPtr p)
xf86optionListFree(p->vnd_option_lst); xf86optionListFree(p->vnd_option_lst);
free(p); free(p);
} }
void
xf86freeVendorSubList(XF86ConfVendSubPtr ptr)
{
XF86ConfVendSubPtr prev;
while (ptr) {
TestFree(ptr->vs_identifier);
TestFree(ptr->vs_name);
TestFree(ptr->vs_comment);
xf86optionListFree(ptr->vs_option_lst);
prev = ptr;
ptr = ptr->list.next;
free(prev);
}
}

View File

@ -55,12 +55,10 @@ int xf86validateInput(XF86ConfigPtr p);
/* InputClass.c */ /* InputClass.c */
XF86ConfInputClassPtr xf86parseInputClassSection(void); XF86ConfInputClassPtr xf86parseInputClassSection(void);
void xf86printInputClassSection(FILE * f, XF86ConfInputClassPtr ptr); void xf86printInputClassSection(FILE * f, XF86ConfInputClassPtr ptr);
void xf86freeInputClassList(XF86ConfInputClassPtr ptr);
/* OutputClass.c */ /* OutputClass.c */
XF86ConfOutputClassPtr xf86parseOutputClassSection(void); XF86ConfOutputClassPtr xf86parseOutputClassSection(void);
void xf86printOutputClassSection(FILE * f, XF86ConfOutputClassPtr ptr); void xf86printOutputClassSection(FILE * f, XF86ConfOutputClassPtr ptr);
void xf86freeOutputClassList(XF86ConfOutputClassPtr ptr);
/* Layout.c */ /* Layout.c */
XF86ConfLayoutPtr xf86parseLayoutSection(void); XF86ConfLayoutPtr xf86parseLayoutSection(void);
@ -92,16 +90,12 @@ XF86ConfInputPtr xf86parsePointerSection(void);
XF86ConfScreenPtr xf86parseScreenSection(void); XF86ConfScreenPtr xf86parseScreenSection(void);
void xf86printScreenSection(FILE * cf, XF86ConfScreenPtr ptr); void xf86printScreenSection(FILE * cf, XF86ConfScreenPtr ptr);
extern _X_EXPORT void xf86freeScreenList(XF86ConfScreenPtr ptr); extern _X_EXPORT void xf86freeScreenList(XF86ConfScreenPtr ptr);
void xf86freeAdaptorLinkList(XF86ConfAdaptorLinkPtr ptr);
void xf86freeDisplayList(XF86ConfDisplayPtr ptr);
void xf86freeModeList(XF86ModePtr ptr);
int xf86validateScreen(XF86ConfigPtr p); int xf86validateScreen(XF86ConfigPtr p);
/* Vendor.c */ /* Vendor.c */
XF86ConfVendorPtr xf86parseVendorSection(void); XF86ConfVendorPtr xf86parseVendorSection(void);
void xf86freeVendorList(XF86ConfVendorPtr p); void xf86freeVendorList(XF86ConfVendorPtr p);
void xf86printVendorSection(FILE * cf, XF86ConfVendorPtr ptr); void xf86printVendorSection(FILE * cf, XF86ConfVendorPtr ptr);
void xf86freeVendorSubList(XF86ConfVendSubPtr ptr);
/* Video.c */ /* Video.c */
XF86ConfVideoAdaptorPtr xf86parseVideoAdaptorSection(void); XF86ConfVideoAdaptorPtr xf86parseVideoAdaptorSection(void);

View File

@ -54,7 +54,6 @@ cat > sdksyms.c << EOF
#include "xvmcext.h" #include "xvmcext.h"
#endif #endif
#include "geext.h" #include "geext.h"
#include "geint.h"
#ifdef MITSHM #ifdef MITSHM
#include "shmint.h" #include "shmint.h"
#endif #endif
@ -137,9 +136,6 @@ cat > sdksyms.c << EOF
# include "xf86xvmc.h" # include "xf86xvmc.h"
# include "xf86xvpriv.h" # include "xf86xvpriv.h"
#endif #endif
#if XF86VIDMODE
# include "vidmodeproc.h"
#endif
#include "xorgVersion.h" #include "xorgVersion.h"
#if defined(__sparc__) || defined(__sparc) #if defined(__sparc__) || defined(__sparc)
# include "xf86sbusBus.h" # include "xf86sbusBus.h"
@ -180,12 +176,6 @@ cat > sdksyms.c << EOF
#endif #endif
/* hw/xfree86/dixmods/extmod/Makefile.am -- module */
#ifdef XFreeXDGA
#include "dgaproc.h"
#endif
/* hw/xfree86/parser/Makefile.am */ /* hw/xfree86/parser/Makefile.am */
#include "xf86Parser.h" #include "xf86Parser.h"
#include "xf86Optrec.h" #include "xf86Optrec.h"
@ -295,8 +285,6 @@ cat > sdksyms.c << EOF
#include "selection.h" #include "selection.h"
#include "servermd.h" #include "servermd.h"
#include "site.h" #include "site.h"
#include "swaprep.h"
#include "swapreq.h"
#include "validate.h" #include "validate.h"
#include "window.h" #include "window.h"
#include "windowstr.h" #include "windowstr.h"

View File

@ -300,8 +300,8 @@ QuartzUpdateScreens(void)
quartzProcs->UpdateScreen(pScreen); quartzProcs->UpdateScreen(pScreen);
/* miPaintWindow needs to be called after RootlessUpdateScreenPixmap (from xprUpdateScreen) */ /* PaintWindow needs to be called after RootlessUpdateScreenPixmap (from xprUpdateScreen) */
miPaintWindow(pRoot, &pRoot->borderClip, PW_BACKGROUND); pScreen->PaintWindow(pRoot, &pRoot->borderClip, PW_BACKGROUND);
/* Tell RandR about the new size, so new connections get the correct info */ /* Tell RandR about the new size, so new connections get the correct info */
RRScreenSizeNotify(pScreen); RRScreenSizeNotify(pScreen);

View File

@ -104,7 +104,7 @@ winDoRandRScreenSetSize(ScreenPtr pScreen,
SetRootClip(pScreen, TRUE); SetRootClip(pScreen, TRUE);
// and arrange for it to be repainted // and arrange for it to be repainted
miPaintWindow(pRoot, &pRoot->borderClip, PW_BACKGROUND); pScreen->PaintWindow(pRoot, &pRoot->borderClip, PW_BACKGROUND);
/* Indicate that a screen size change took place */ /* Indicate that a screen size change took place */
RRScreenSizeNotify(pScreen); RRScreenSizeNotify(pScreen);

View File

@ -52,8 +52,6 @@ sdk_HEADERS = \
selection.h \ selection.h \
servermd.h \ servermd.h \
site.h \ site.h \
swaprep.h \
swapreq.h \
validate.h \ validate.h \
window.h \ window.h \
windowstr.h \ windowstr.h \
@ -74,5 +72,7 @@ EXTRA_DIST = \
dixfontstubs.h eventconvert.h eventstr.h inpututils.h \ dixfontstubs.h eventconvert.h eventstr.h inpututils.h \
probes.h \ probes.h \
protocol-versions.h \ protocol-versions.h \
swaprep.h \
swapreq.h \
systemd-logind.h \ systemd-logind.h \
xsha1.h xsha1.h

View File

@ -108,18 +108,6 @@ extern _X_EXPORT void FakeAllocColor(ColormapPtr /*pmap */ ,
extern _X_EXPORT void FakeFreeColor(ColormapPtr /*pmap */ , extern _X_EXPORT void FakeFreeColor(ColormapPtr /*pmap */ ,
Pixel /*pixel */ ); Pixel /*pixel */ );
typedef int (*ColorCompareProcPtr) (EntryPtr /*pent */ ,
xrgb * /*prgb */ );
extern _X_EXPORT int FindColor(ColormapPtr /*pmap */ ,
EntryPtr /*pentFirst */ ,
int /*size */ ,
xrgb * /*prgb */ ,
Pixel * /*pPixel */ ,
int /*channel */ ,
int /*client */ ,
ColorCompareProcPtr /*comp */ );
extern _X_EXPORT int QueryColors(ColormapPtr /*pmap */ , extern _X_EXPORT int QueryColors(ColormapPtr /*pmap */ ,
int /*count */ , int /*count */ ,
Pixel * /*ppixIn */ , Pixel * /*ppixIn */ ,

View File

@ -36,14 +36,6 @@ typedef struct _DIXFontProp *DIXFontPropPtr;
extern _X_EXPORT Bool SetDefaultFont(const char * /*defaultfontname */ ); extern _X_EXPORT Bool SetDefaultFont(const char * /*defaultfontname */ );
extern _X_EXPORT void QueueFontWakeup(FontPathElementPtr /*fpe */ );
extern _X_EXPORT void RemoveFontWakeup(FontPathElementPtr /*fpe */ );
extern _X_EXPORT void FontWakeup(void *data,
int count,
void *LastSelectMask);
extern _X_EXPORT int OpenFont(ClientPtr /*client */ , extern _X_EXPORT int OpenFont(ClientPtr /*client */ ,
XID /*fid */ , XID /*fid */ ,
Mask /*flags */ , Mask /*flags */ ,
@ -64,14 +56,6 @@ extern _X_EXPORT int ListFonts(ClientPtr /*client */ ,
unsigned int /*length */ , unsigned int /*length */ ,
unsigned int /*max_names */ ); unsigned int /*max_names */ );
extern _X_EXPORT int
doListFontsWithInfo(ClientPtr /*client */ ,
LFWIclosurePtr /*c */ );
extern _X_EXPORT int doPolyText(ClientPtr /*client */ ,
PTclosurePtr /*c */
);
extern _X_EXPORT int PolyText(ClientPtr /*client */ , extern _X_EXPORT int PolyText(ClientPtr /*client */ ,
DrawablePtr /*pDraw */ , DrawablePtr /*pDraw */ ,
GCPtr /*pGC */ , GCPtr /*pGC */ ,
@ -82,9 +66,6 @@ extern _X_EXPORT int PolyText(ClientPtr /*client */ ,
int /*reqType */ , int /*reqType */ ,
XID /*did */ ); XID /*did */ );
extern _X_EXPORT int doImageText(ClientPtr /*client */ ,
ITclosurePtr /*c */ );
extern _X_EXPORT int ImageText(ClientPtr /*client */ , extern _X_EXPORT int ImageText(ClientPtr /*client */ ,
DrawablePtr /*pDraw */ , DrawablePtr /*pDraw */ ,
GCPtr /*pGC */ , GCPtr /*pGC */ ,
@ -126,22 +107,6 @@ extern _X_EXPORT void dixGetGlyphs(FontPtr /*font */ ,
unsigned long * /*glyphcount */ , unsigned long * /*glyphcount */ ,
CharInfoPtr * /*glyphs */ ); CharInfoPtr * /*glyphs */ );
extern _X_EXPORT void QueryGlyphExtents(FontPtr /*pFont */ ,
CharInfoPtr * /*charinfo */ ,
unsigned long /*count */ ,
ExtentInfoPtr /*info */ );
extern _X_EXPORT Bool QueryTextExtents(FontPtr /*pFont */ ,
unsigned long /*count */ ,
unsigned char * /*chars */ ,
ExtentInfoPtr /*info */ );
extern _X_EXPORT Bool ParseGlyphCachingMode(char * /*str */ );
extern _X_EXPORT void InitGlyphCaching(void);
extern _X_EXPORT void SetGlyphCachingMode(int /*newmode */ );
extern _X_EXPORT void register_fpe_functions(void); extern _X_EXPORT void register_fpe_functions(void);
#endif /* DIXFONT_H */ #endif /* DIXFONT_H */

View File

@ -126,21 +126,18 @@ SetReqFds(ClientPtr client, int req_fds) {
/* /*
* Scheduling interface * Scheduling interface
*/ */
extern _X_EXPORT long SmartScheduleTime; extern long SmartScheduleTime;
extern _X_EXPORT long SmartScheduleInterval; extern long SmartScheduleInterval;
extern _X_EXPORT long SmartScheduleSlice; extern long SmartScheduleSlice;
extern _X_EXPORT long SmartScheduleMaxSlice; extern long SmartScheduleMaxSlice;
extern _X_EXPORT Bool SmartScheduleDisable; extern Bool SmartScheduleDisable;
extern _X_EXPORT void extern void SmartScheduleStartTimer(void);
SmartScheduleStartTimer(void); extern void SmartScheduleStopTimer(void);
extern _X_EXPORT void
SmartScheduleStopTimer(void);
#define SMART_MAX_PRIORITY (20) #define SMART_MAX_PRIORITY (20)
#define SMART_MIN_PRIORITY (-20) #define SMART_MIN_PRIORITY (-20)
extern _X_EXPORT void extern void SmartScheduleInit(void);
SmartScheduleInit(void);
/* This prototype is used pervasively in Xext, dix */ /* This prototype is used pervasively in Xext, dix */
#define DISPATCH_PROC(func) int func(ClientPtr /* client */) #define DISPATCH_PROC(func) int func(ClientPtr /* client */)
@ -179,13 +176,13 @@ typedef struct _CallbackList {
/* proc vectors */ /* proc vectors */
extern _X_EXPORT int (*InitialVector[3]) (ClientPtr /*client */ ); extern int (*InitialVector[3]) (ClientPtr /*client */ );
extern _X_EXPORT int (*ProcVector[256]) (ClientPtr /*client */ ); extern _X_EXPORT int (*ProcVector[256]) (ClientPtr /*client */ );
extern _X_EXPORT int (*SwappedProcVector[256]) (ClientPtr /*client */ ); extern _X_EXPORT int (*SwappedProcVector[256]) (ClientPtr /*client */ );
extern _X_EXPORT ReplySwapPtr ReplySwapVector[256]; extern ReplySwapPtr ReplySwapVector[256];
extern _X_EXPORT int extern _X_EXPORT int
ProcBadRequest(ClientPtr /*client */ ); ProcBadRequest(ClientPtr /*client */ );

View File

@ -158,6 +158,10 @@ typedef void (*PostValidateTreeProcPtr) (WindowPtr /*pParent */ ,
typedef void (*WindowExposuresProcPtr) (WindowPtr /*pWindow */ , typedef void (*WindowExposuresProcPtr) (WindowPtr /*pWindow */ ,
RegionPtr /*prgn */); RegionPtr /*prgn */);
typedef void (*PaintWindowProcPtr) (WindowPtr /*pWindow*/,
RegionPtr /*pRegion*/,
int /*what*/);
typedef void (*CopyWindowProcPtr) (WindowPtr /*pWindow */ , typedef void (*CopyWindowProcPtr) (WindowPtr /*pWindow */ ,
DDXPointRec /*ptOldOrg */ , DDXPointRec /*ptOldOrg */ ,
RegionPtr /*prgnSrc */ ); RegionPtr /*prgnSrc */ );
@ -498,6 +502,7 @@ typedef struct _Screen {
ClearToBackgroundProcPtr ClearToBackground; ClearToBackgroundProcPtr ClearToBackground;
ClipNotifyProcPtr ClipNotify; ClipNotifyProcPtr ClipNotify;
RestackWindowProcPtr RestackWindow; RestackWindowProcPtr RestackWindow;
PaintWindowProcPtr PaintWindow;
/* Pixmap procedures */ /* Pixmap procedures */

View File

@ -26,207 +26,207 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#ifndef SWAPREP_H #ifndef SWAPREP_H
#define SWAPREP_H 1 #define SWAPREP_H 1
extern _X_EXPORT void Swap32Write(ClientPtr /* pClient */ , extern void Swap32Write(ClientPtr /* pClient */ ,
int /* size */ ,
CARD32 * /* pbuf */ );
extern void CopySwap32Write(ClientPtr /* pClient */ ,
int /* size */ ,
CARD32 * /* pbuf */ );
extern void CopySwap16Write(ClientPtr /* pClient */ ,
int /* size */ ,
short * /* pbuf */ );
extern void SGenericReply(ClientPtr /* pClient */ ,
int /* size */ ,
xGenericReply * /* pRep */ );
extern void SGetWindowAttributesReply(ClientPtr /* pClient */ ,
int /* size */ ,
xGetWindowAttributesReply *
/* pRep */ );
extern void SGetGeometryReply(ClientPtr /* pClient */ ,
int /* size */ ,
xGetGeometryReply * /* pRep */ );
extern void SQueryTreeReply(ClientPtr /* pClient */ ,
int /* size */ ,
xQueryTreeReply * /* pRep */ );
extern void SInternAtomReply(ClientPtr /* pClient */ ,
int /* size */ ,
xInternAtomReply * /* pRep */ );
extern void SGetAtomNameReply(ClientPtr /* pClient */ ,
int /* size */ ,
xGetAtomNameReply * /* pRep */ );
extern void SGetPropertyReply(ClientPtr /* pClient */ ,
int /* size */ ,
xGetPropertyReply * /* pRep */ );
extern void SListPropertiesReply(ClientPtr /* pClient */ ,
int /* size */ ,
xListPropertiesReply * /* pRep */ );
extern void SGetSelectionOwnerReply(ClientPtr /* pClient */ ,
int /* size */ ,
xGetSelectionOwnerReply *
/* pRep */ );
extern void SQueryPointerReply(ClientPtr /* pClient */ ,
int /* size */ ,
xQueryPointerReply * /* pRep */ );
extern void SwapTimeCoordWrite(ClientPtr /* pClient */ ,
int /* size */ ,
xTimecoord * /* pRep */ );
extern void SGetMotionEventsReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
CARD32 * /* pbuf */ ); xGetMotionEventsReply * /* pRep */
);
extern _X_EXPORT void CopySwap32Write(ClientPtr /* pClient */ , extern void STranslateCoordsReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
CARD32 * /* pbuf */ ); xTranslateCoordsReply * /* pRep */
);
extern _X_EXPORT void CopySwap16Write(ClientPtr /* pClient */ , extern void SGetInputFocusReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
short * /* pbuf */ ); xGetInputFocusReply * /* pRep */ );
extern _X_EXPORT void SGenericReply(ClientPtr /* pClient */ , extern void SQueryKeymapReply(ClientPtr /* pClient */ ,
int /* size */ ,
xQueryKeymapReply * /* pRep */ );
extern void SQueryFontReply(ClientPtr /* pClient */ ,
int /* size */ ,
xQueryFontReply * /* pRep */ );
extern void SQueryTextExtentsReply(ClientPtr /* pClient */ ,
int /* size */ ,
xQueryTextExtentsReply * /* pRep */
);
extern void SListFontsReply(ClientPtr /* pClient */ ,
int /* size */ ,
xListFontsReply * /* pRep */ );
extern void SListFontsWithInfoReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
xGenericReply * /* pRep */ ); xListFontsWithInfoReply *
/* pRep */ );
extern _X_EXPORT void SGetWindowAttributesReply(ClientPtr /* pClient */ , extern void SGetFontPathReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
xGetWindowAttributesReply * xGetFontPathReply * /* pRep */ );
/* pRep */ );
extern _X_EXPORT void SGetGeometryReply(ClientPtr /* pClient */ , extern void SGetImageReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
xGetGeometryReply * /* pRep */ ); xGetImageReply * /* pRep */ );
extern _X_EXPORT void SQueryTreeReply(ClientPtr /* pClient */ , extern void SListInstalledColormapsReply(ClientPtr /* pClient */ ,
int /* size */ ,
xQueryTreeReply * /* pRep */ );
extern _X_EXPORT void SInternAtomReply(ClientPtr /* pClient */ ,
int /* size */ ,
xInternAtomReply * /* pRep */ );
extern _X_EXPORT void SGetAtomNameReply(ClientPtr /* pClient */ ,
int /* size */ ,
xGetAtomNameReply * /* pRep */ );
extern _X_EXPORT void SGetPropertyReply(ClientPtr /* pClient */ ,
int /* size */ ,
xGetPropertyReply * /* pRep */ );
extern _X_EXPORT void SListPropertiesReply(ClientPtr /* pClient */ ,
int /* size */ ,
xListPropertiesReply * /* pRep */ );
extern _X_EXPORT void SGetSelectionOwnerReply(ClientPtr /* pClient */ ,
int /* size */ ,
xGetSelectionOwnerReply *
/* pRep */ );
extern _X_EXPORT void SQueryPointerReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
xQueryPointerReply * /* pRep */ ); xListInstalledColormapsReply
* /* pRep */ );
extern _X_EXPORT void SwapTimeCoordWrite(ClientPtr /* pClient */ , extern void SAllocColorReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
xTimecoord * /* pRep */ ); xAllocColorReply * /* pRep */ );
extern _X_EXPORT void SGetMotionEventsReply(ClientPtr /* pClient */ , extern void SAllocNamedColorReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
xGetMotionEventsReply * /* pRep */ xAllocNamedColorReply * /* pRep */
); );
extern _X_EXPORT void STranslateCoordsReply(ClientPtr /* pClient */ , extern void SAllocColorCellsReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
xTranslateCoordsReply * /* pRep */ xAllocColorCellsReply * /* pRep */
); );
extern _X_EXPORT void SGetInputFocusReply(ClientPtr /* pClient */ , extern void SAllocColorPlanesReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
xGetInputFocusReply * /* pRep */ ); xAllocColorPlanesReply * /* pRep */
);
extern _X_EXPORT void SQueryKeymapReply(ClientPtr /* pClient */ , extern void SQColorsExtend(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
xQueryKeymapReply * /* pRep */ ); xrgb * /* prgb */ );
extern _X_EXPORT void SQueryFontReply(ClientPtr /* pClient */ , extern void SQueryColorsReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
xQueryFontReply * /* pRep */ ); xQueryColorsReply * /* pRep */ );
extern _X_EXPORT void SQueryTextExtentsReply(ClientPtr /* pClient */ , extern void SLookupColorReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
xQueryTextExtentsReply * /* pRep */ xLookupColorReply * /* pRep */ );
);
extern _X_EXPORT void SListFontsReply(ClientPtr /* pClient */ , extern void SQueryBestSizeReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
xListFontsReply * /* pRep */ ); xQueryBestSizeReply * /* pRep */ );
extern _X_EXPORT void SListFontsWithInfoReply(ClientPtr /* pClient */ , extern void SListExtensionsReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
xListFontsWithInfoReply * xListExtensionsReply * /* pRep */ );
/* pRep */ );
extern _X_EXPORT void SGetFontPathReply(ClientPtr /* pClient */ , extern void SGetKeyboardMappingReply(ClientPtr /* pClient */ ,
int /* size */ ,
xGetFontPathReply * /* pRep */ );
extern _X_EXPORT void SGetImageReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
xGetImageReply * /* pRep */ ); xGetKeyboardMappingReply *
/* pRep */ );
extern _X_EXPORT void SListInstalledColormapsReply(ClientPtr /* pClient */ , extern void SGetPointerMappingReply(ClientPtr /* pClient */ ,
int /* size */ ,
xListInstalledColormapsReply
* /* pRep */ );
extern _X_EXPORT void SAllocColorReply(ClientPtr /* pClient */ ,
int /* size */ ,
xAllocColorReply * /* pRep */ );
extern _X_EXPORT void SAllocNamedColorReply(ClientPtr /* pClient */ ,
int /* size */ ,
xAllocNamedColorReply * /* pRep */
);
extern _X_EXPORT void SAllocColorCellsReply(ClientPtr /* pClient */ ,
int /* size */ ,
xAllocColorCellsReply * /* pRep */
);
extern _X_EXPORT void SAllocColorPlanesReply(ClientPtr /* pClient */ ,
int /* size */ ,
xAllocColorPlanesReply * /* pRep */
);
extern _X_EXPORT void SQColorsExtend(ClientPtr /* pClient */ ,
int /* size */ ,
xrgb * /* prgb */ );
extern _X_EXPORT void SQueryColorsReply(ClientPtr /* pClient */ ,
int /* size */ ,
xQueryColorsReply * /* pRep */ );
extern _X_EXPORT void SLookupColorReply(ClientPtr /* pClient */ ,
int /* size */ ,
xLookupColorReply * /* pRep */ );
extern _X_EXPORT void SQueryBestSizeReply(ClientPtr /* pClient */ ,
int /* size */ ,
xQueryBestSizeReply * /* pRep */ );
extern _X_EXPORT void SListExtensionsReply(ClientPtr /* pClient */ ,
int /* size */ ,
xListExtensionsReply * /* pRep */ );
extern _X_EXPORT void SGetKeyboardMappingReply(ClientPtr /* pClient */ ,
int /* size */ ,
xGetKeyboardMappingReply *
/* pRep */ );
extern _X_EXPORT void SGetPointerMappingReply(ClientPtr /* pClient */ ,
int /* size */ ,
xGetPointerMappingReply *
/* pRep */ );
extern _X_EXPORT void SGetModifierMappingReply(ClientPtr /* pClient */ ,
int /* size */ ,
xGetModifierMappingReply *
/* pRep */ );
extern _X_EXPORT void SGetKeyboardControlReply(ClientPtr /* pClient */ ,
int /* size */ ,
xGetKeyboardControlReply *
/* pRep */ );
extern _X_EXPORT void SGetPointerControlReply(ClientPtr /* pClient */ ,
int /* size */ ,
xGetPointerControlReply *
/* pRep */ );
extern _X_EXPORT void SGetScreenSaverReply(ClientPtr /* pClient */ ,
int /* size */ ,
xGetScreenSaverReply * /* pRep */ );
extern _X_EXPORT void SLHostsExtend(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
char * /* buf */ ); xGetPointerMappingReply *
/* pRep */ );
extern _X_EXPORT void SListHostsReply(ClientPtr /* pClient */ , extern void SGetModifierMappingReply(ClientPtr /* pClient */ ,
int /* size */ , int /* size */ ,
xListHostsReply * /* pRep */ ); xGetModifierMappingReply *
/* pRep */ );
extern _X_EXPORT void SErrorEvent(xError * /* from */ , extern void SGetKeyboardControlReply(ClientPtr /* pClient */ ,
xError * /* to */ ); int /* size */ ,
xGetKeyboardControlReply *
/* pRep */ );
extern _X_EXPORT void SwapConnSetupInfo(char * /* pInfo */ , extern void SGetPointerControlReply(ClientPtr /* pClient */ ,
char * /* pInfoTBase */ ); int /* size */ ,
xGetPointerControlReply *
/* pRep */ );
extern _X_EXPORT void WriteSConnectionInfo(ClientPtr /* pClient */ , extern void SGetScreenSaverReply(ClientPtr /* pClient */ ,
unsigned long /* size */ , int /* size */ ,
char * /* pInfo */ ); xGetScreenSaverReply * /* pRep */ );
extern _X_EXPORT void SwapConnSetupPrefix(xConnSetupPrefix * /* pcspFrom */ , extern void SLHostsExtend(ClientPtr /* pClient */ ,
xConnSetupPrefix * /* pcspTo */ ); int /* size */ ,
char * /* buf */ );
extern _X_EXPORT void WriteSConnSetupPrefix(ClientPtr /* pClient */ , extern void SListHostsReply(ClientPtr /* pClient */ ,
xConnSetupPrefix * /* pcsp */ ); int /* size */ ,
xListHostsReply * /* pRep */ );
extern void SErrorEvent(xError * /* from */ ,
xError * /* to */ );
extern void SwapConnSetupInfo(char * /* pInfo */ ,
char * /* pInfoTBase */ );
extern void WriteSConnectionInfo(ClientPtr /* pClient */ ,
unsigned long /* size */ ,
char * /* pInfo */ );
extern void SwapConnSetupPrefix(xConnSetupPrefix * /* pcspFrom */ ,
xConnSetupPrefix * /* pcspTo */ );
extern void WriteSConnSetupPrefix(ClientPtr /* pClient */ ,
xConnSetupPrefix * /* pcsp */ );
#undef SWAPREP_PROC #undef SWAPREP_PROC
#define SWAPREP_PROC(func) extern _X_EXPORT void func(xEvent * /* from */, xEvent * /* to */) #define SWAPREP_PROC(func) extern void func(xEvent * /* from */, xEvent * /* to */)
SWAPREP_PROC(SCirculateEvent); SWAPREP_PROC(SCirculateEvent);
SWAPREP_PROC(SClientMessageEvent); SWAPREP_PROC(SClientMessageEvent);

View File

@ -26,13 +26,13 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#ifndef SWAPREQ_H #ifndef SWAPREQ_H
#define SWAPREQ_H 1 #define SWAPREQ_H 1
extern _X_EXPORT void SwapColorItem(xColorItem * /* pItem */ ); extern void SwapColorItem(xColorItem * /* pItem */ );
extern _X_EXPORT void SwapConnClientPrefix(xConnClientPrefix * /* pCCP */ ); extern void SwapConnClientPrefix(xConnClientPrefix * /* pCCP */ );
#undef SWAPREQ_PROC #undef SWAPREQ_PROC
#define SWAPREQ_PROC(func) extern _X_EXPORT int func(ClientPtr /* client */) #define SWAPREQ_PROC(func) extern int func(ClientPtr /* client */)
SWAPREQ_PROC(SProcAllocColor); SWAPREQ_PROC(SProcAllocColor);
SWAPREQ_PROC(SProcAllocColorCells); SWAPREQ_PROC(SProcAllocColorCells);

View File

@ -162,9 +162,7 @@ typedef struct _Window {
unsigned forcedBS:1; /* system-supplied backingStore */ unsigned forcedBS:1; /* system-supplied backingStore */
unsigned redirectDraw:2; /* COMPOSITE rendering redirect */ unsigned redirectDraw:2; /* COMPOSITE rendering redirect */
unsigned forcedBG:1; /* must have an opaque background */ unsigned forcedBG:1; /* must have an opaque background */
#ifdef ROOTLESS unsigned unhittable:1; /* doesn't hit-test, for rootless */
unsigned rootlessUnhittable:1; /* doesn't hit-test */
#endif
#ifdef COMPOSITE #ifdef COMPOSITE
unsigned damagedDescendants:1; /* some descendants are damaged */ unsigned damagedDescendants:1; /* some descendants are damaged */
unsigned inhibitBGPaint:1; /* paint the background? */ unsigned inhibitBGPaint:1; /* paint the background? */

View File

@ -268,10 +268,11 @@ miHandleExposures(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
RegionTranslate(&rgnExposed, pDstDrawable->x, pDstDrawable->y); RegionTranslate(&rgnExposed, pDstDrawable->x, pDstDrawable->y);
if (extents) { if (extents) {
/* miPaintWindow doesn't clip, so we have to */ /* PaintWindow doesn't clip, so we have to */
RegionIntersect(&rgnExposed, &rgnExposed, &pWin->clipList); RegionIntersect(&rgnExposed, &rgnExposed, &pWin->clipList);
} }
miPaintWindow((WindowPtr) pDstDrawable, &rgnExposed, PW_BACKGROUND); pDstDrawable->pScreen->PaintWindow((WindowPtr) pDstDrawable,
&rgnExposed, PW_BACKGROUND);
if (extents) { if (extents) {
RegionReset(&rgnExposed, &expBox); RegionReset(&rgnExposed, &expBox);
@ -383,16 +384,14 @@ miWindowExposures(WindowPtr pWin, RegionPtr prgn)
* work overall, on both client and server. This is cheating, but * work overall, on both client and server. This is cheating, but
* isn't prohibited by the protocol ("spontaneous combustion" :-). * isn't prohibited by the protocol ("spontaneous combustion" :-).
*/ */
BoxRec box; BoxRec box = *RegionExtents(prgn);
box = *RegionExtents(prgn);
exposures = &expRec; exposures = &expRec;
RegionInit(exposures, &box, 1); RegionInit(exposures, &box, 1);
RegionReset(prgn, &box); RegionReset(prgn, &box);
/* miPaintWindow doesn't clip, so we have to */ /* miPaintWindow doesn't clip, so we have to */
RegionIntersect(prgn, prgn, &pWin->clipList); RegionIntersect(prgn, prgn, &pWin->clipList);
} }
miPaintWindow(pWin, prgn, PW_BACKGROUND); pWin->drawable.pScreen->PaintWindow(pWin, prgn, PW_BACKGROUND);
if (clientInterested) if (clientInterested)
miSendExposures(pWin, exposures, miSendExposures(pWin, exposures,
pWin->drawable.x, pWin->drawable.y); pWin->drawable.x, pWin->drawable.y);
@ -402,14 +401,6 @@ miWindowExposures(WindowPtr pWin, RegionPtr prgn)
} }
} }
#ifdef ROOTLESS
/* Ugly, ugly, but we lost our hooks into miPaintWindow... =/ */
void RootlessSetPixmapOfAncestors(WindowPtr pWin);
void RootlessStartDrawing(WindowPtr pWin);
void RootlessDamageRegion(WindowPtr pWin, RegionPtr prgn);
Bool IsFramedWindow(WindowPtr pWin);
#endif
void void
miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what) miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
{ {
@ -437,22 +428,6 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
Bool solid = TRUE; Bool solid = TRUE;
DrawablePtr drawable = &pWin->drawable; DrawablePtr drawable = &pWin->drawable;
#ifdef ROOTLESS
if (!drawable || drawable->type == UNDRAWABLE_WINDOW)
return;
if (IsFramedWindow(pWin)) {
RootlessStartDrawing(pWin);
RootlessDamageRegion(pWin, prgn);
if (pWin->backgroundState == ParentRelative) {
if ((what == PW_BACKGROUND) ||
(what == PW_BORDER && !pWin->borderIsPixel))
RootlessSetPixmapOfAncestors(pWin);
}
}
#endif
if (what == PW_BACKGROUND) { if (what == PW_BACKGROUND) {
while (pWin->backgroundState == ParentRelative) while (pWin->backgroundState == ParentRelative)
pWin = pWin->parent; pWin = pWin->parent;

View File

@ -53,6 +53,7 @@ SOFTWARE.
#include <X11/Xproto.h> #include <X11/Xproto.h>
#include "misc.h" #include "misc.h"
#include <X11/fonts/fontstruct.h> #include <X11/fonts/fontstruct.h>
#include <X11/fonts/fontutil.h>
#include "dixfontstr.h" #include "dixfontstr.h"
#include "gcstruct.h" #include "gcstruct.h"
#include "windowstr.h" #include "windowstr.h"

View File

@ -844,8 +844,8 @@ miOverlayHandleExposures(WindowPtr pWin)
if ((mival = pTree->valdata)) { if ((mival = pTree->valdata)) {
if (!((*pPriv->InOverlay) (pTree->pWin))) { if (!((*pPriv->InOverlay) (pTree->pWin))) {
if (RegionNotEmpty(&mival->borderExposed)) { if (RegionNotEmpty(&mival->borderExposed)) {
miPaintWindow(pTree->pWin, &mival->borderExposed, pScreen->PaintWindow(pTree->pWin, &mival->borderExposed,
PW_BORDER); PW_BORDER);
} }
RegionUninit(&mival->borderExposed); RegionUninit(&mival->borderExposed);
@ -883,7 +883,8 @@ miOverlayHandleExposures(WindowPtr pWin)
} }
else { else {
if (RegionNotEmpty(&val->after.borderExposed)) { if (RegionNotEmpty(&val->after.borderExposed)) {
miPaintWindow(pChild, &val->after.borderExposed, PW_BORDER); pScreen->PaintWindow(pChild, &val->after.borderExposed,
PW_BORDER);
} }
(*WindowExposures) (pChild, &val->after.exposed); (*WindowExposures) (pChild, &val->after.exposed);
} }
@ -982,6 +983,7 @@ static void
miOverlayWindowExposures(WindowPtr pWin, RegionPtr prgn) miOverlayWindowExposures(WindowPtr pWin, RegionPtr prgn)
{ {
RegionPtr exposures = prgn; RegionPtr exposures = prgn;
ScreenPtr pScreen = pWin->drawable.pScreen;
if (prgn && !RegionNil(prgn)) { if (prgn && !RegionNil(prgn)) {
RegionRec expRec; RegionRec expRec;
@ -1007,7 +1009,7 @@ miOverlayWindowExposures(WindowPtr pWin, RegionPtr prgn)
else else
RegionIntersect(prgn, prgn, &pWin->clipList); RegionIntersect(prgn, prgn, &pWin->clipList);
} }
miPaintWindow(pWin, prgn, PW_BACKGROUND); pScreen->PaintWindow(pWin, prgn, PW_BACKGROUND);
if (clientInterested) if (clientInterested)
miSendExposures(pWin, exposures, miSendExposures(pWin, exposures,
pWin->drawable.x, pWin->drawable.y); pWin->drawable.x, pWin->drawable.y);
@ -1606,7 +1608,7 @@ miOverlayClearToBackground(WindowPtr pWin,
if (generateExposures) if (generateExposures)
(*pScreen->WindowExposures) (pWin, &reg); (*pScreen->WindowExposures) (pWin, &reg);
else if (pWin->backgroundState != None) else if (pWin->backgroundState != None)
miPaintWindow(pWin, &reg, PW_BACKGROUND); pScreen->PaintWindow(pWin, &reg, PW_BACKGROUND);
RegionUninit(&reg); RegionUninit(&reg);
} }

View File

@ -253,6 +253,7 @@ miScreenInit(ScreenPtr pScreen, void *pbits, /* pointer to screen bits */
pScreen->ClearToBackground = miClearToBackground; pScreen->ClearToBackground = miClearToBackground;
pScreen->ClipNotify = (ClipNotifyProcPtr) 0; pScreen->ClipNotify = (ClipNotifyProcPtr) 0;
pScreen->RestackWindow = (RestackWindowProcPtr) 0; pScreen->RestackWindow = (RestackWindowProcPtr) 0;
pScreen->PaintWindow = miPaintWindow;
/* CreatePixmap, DestroyPixmap */ /* CreatePixmap, DestroyPixmap */
/* RealizeFont, UnrealizeFont */ /* RealizeFont, UnrealizeFont */
/* CreateGC */ /* CreateGC */

View File

@ -113,7 +113,7 @@ miClearToBackground(WindowPtr pWin,
if (generateExposures) if (generateExposures)
(*pWin->drawable.pScreen->WindowExposures) (pWin, &reg); (*pWin->drawable.pScreen->WindowExposures) (pWin, &reg);
else if (pWin->backgroundState != None) else if (pWin->backgroundState != None)
miPaintWindow(pWin, &reg, PW_BACKGROUND); pWin->drawable.pScreen->PaintWindow(pWin, &reg, PW_BACKGROUND);
RegionUninit(&reg); RegionUninit(&reg);
} }
@ -219,7 +219,9 @@ miHandleValidateExposures(WindowPtr pWin)
while (1) { while (1) {
if ((val = pChild->valdata)) { if ((val = pChild->valdata)) {
if (RegionNotEmpty(&val->after.borderExposed)) if (RegionNotEmpty(&val->after.borderExposed))
miPaintWindow(pChild, &val->after.borderExposed, PW_BORDER); pWin->drawable.pScreen->PaintWindow(pChild,
&val->after.borderExposed,
PW_BORDER);
RegionUninit(&val->after.borderExposed); RegionUninit(&val->after.borderExposed);
(*WindowExposures) (pChild, &val->after.exposed); (*WindowExposures) (pChild, &val->after.exposed);
RegionUninit(&val->after.exposed); RegionUninit(&val->after.exposed);
@ -767,14 +769,11 @@ miSpriteTrace(SpritePtr pSprite, int x, int y)
RegionContainsPoint(wInputShape(pWin), RegionContainsPoint(wInputShape(pWin),
x - pWin->drawable.x, x - pWin->drawable.x,
y - pWin->drawable.y, &box)) y - pWin->drawable.y, &box))
#ifdef ROOTLESS
/* In rootless mode windows may be offscreen, even when /* In rootless mode windows may be offscreen, even when
* they're in X's stack. (E.g. if the native window system * they're in X's stack. (E.g. if the native window system
* implements some form of virtual desktop system). * implements some form of virtual desktop system).
*/ */
&& !pWin->rootlessUnhittable && !pWin->unhittable) {
#endif
) {
if (pSprite->spriteTraceGood >= pSprite->spriteTraceSize) { if (pSprite->spriteTraceGood >= pSprite->spriteTraceSize) {
pSprite->spriteTraceSize += 10; pSprite->spriteTraceSize += 10;
pSprite->spriteTrace = reallocarray(pSprite->spriteTrace, pSprite->spriteTrace = reallocarray(pSprite->spriteTrace,

View File

@ -1,8 +1 @@
SUBDIRS = sync damage shadow SUBDIRS = sync damage shadow rootless
if XQUARTZ
SUBDIRS += rootless
endif
if XWIN_MULTIWINDOWEXTWM
SUBDIRS += rootless
endif
DIST_SUBDIRS = sync damage shadow rootless

View File

@ -32,6 +32,7 @@
#include <X11/fonts/font.h> #include <X11/fonts/font.h>
#include "dixfontstr.h" #include "dixfontstr.h"
#include <X11/fonts/fontstruct.h> #include <X11/fonts/fontstruct.h>
#include <X11/fonts/fontutil.h>
#include "mi.h" #include "mi.h"
#include "regionstr.h" #include "regionstr.h"
#include "globals.h" #include "globals.h"

View File

@ -94,6 +94,7 @@ typedef struct _RootlessScreenRec {
ChangeBorderWidthProcPtr ChangeBorderWidth; ChangeBorderWidthProcPtr ChangeBorderWidth;
PositionWindowProcPtr PositionWindow; PositionWindowProcPtr PositionWindow;
ChangeWindowAttributesProcPtr ChangeWindowAttributes; ChangeWindowAttributesProcPtr ChangeWindowAttributes;
PaintWindowProcPtr PaintWindow;
CreateGCProcPtr CreateGC; CreateGCProcPtr CreateGC;
CopyWindowProcPtr CopyWindow; CopyWindowProcPtr CopyWindow;

View File

@ -35,28 +35,17 @@
#define _ROOTLESSCONFIG_H #define _ROOTLESSCONFIG_H
#ifdef __APPLE__ #ifdef __APPLE__
#define ROOTLESS_RESIZE_GRAVITY TRUE
#endif
/*# define ROOTLESSDEBUG*/
#define ROOTLESS_PROTECT_ALPHA TRUE #define ROOTLESS_PROTECT_ALPHA TRUE
#define ROOTLESS_REDISPLAY_DELAY 10 #define ROOTLESS_REDISPLAY_DELAY 10
#define ROOTLESS_RESIZE_GRAVITY TRUE
/*# define ROOTLESSDEBUG*/
/* Bit mask for alpha channel with a particular number of bits per /* Bit mask for alpha channel with a particular number of bits per
pixel. Note that we only care for 32bpp data. Mac OS X uses planar pixel. Note that we only care for 32bpp data. Mac OS X uses planar
alpha for 16bpp. */ alpha for 16bpp. */
#define RootlessAlphaMask(bpp) ((bpp) == 32 ? 0xFF000000 : 0) #define RootlessAlphaMask(bpp) ((bpp) == 32 ? 0xFF000000 : 0)
#endif /* __APPLE__ */
#if defined(__CYGWIN__) || defined(WIN32)
#define ROOTLESS_PROTECT_ALPHA NO
#define ROOTLESS_REDISPLAY_DELAY 10
#undef ROOTLESS_RESIZE_GRAVITY
/*# define ROOTLESSDEBUG*/
#define RootlessAlphaMask(bpp) ((bpp) == 32 ? 0xFF000000 : 0)
#endif /* __CYGWIN__ */
#endif /* _ROOTLESSCONFIG_H */ #endif /* _ROOTLESSCONFIG_H */

View File

@ -473,7 +473,7 @@ expose_1(WindowPtr pWin)
if (!pWin->realized) if (!pWin->realized)
return; return;
miPaintWindow(pWin, &pWin->borderClip, PW_BACKGROUND); pWin->drawable.pScreen->PaintWindow(pWin, &pWin->borderClip, PW_BACKGROUND);
/* FIXME: comments in windowstr.h indicate that borderClip doesn't /* FIXME: comments in windowstr.h indicate that borderClip doesn't
include subwindow visibility. But I'm not so sure.. so we may include subwindow visibility. But I'm not so sure.. so we may
@ -669,6 +669,7 @@ RootlessWrap(ScreenPtr pScreen)
WRAP(CloseScreen); WRAP(CloseScreen);
WRAP(CreateGC); WRAP(CreateGC);
WRAP(CopyWindow); WRAP(CopyWindow);
WRAP(PaintWindow);
WRAP(GetImage); WRAP(GetImage);
WRAP(SourceValidate); WRAP(SourceValidate);
WRAP(CreateWindow); WRAP(CreateWindow);

View File

@ -92,7 +92,7 @@ RootlessNativeWindowStateChanged(WindowPtr pWin, unsigned int state)
winRec->is_offscreen = ((state & XP_WINDOW_STATE_OFFSCREEN) != 0); winRec->is_offscreen = ((state & XP_WINDOW_STATE_OFFSCREEN) != 0);
winRec->is_obscured = ((state & XP_WINDOW_STATE_OBSCURED) != 0); winRec->is_obscured = ((state & XP_WINDOW_STATE_OBSCURED) != 0);
pWin->rootlessUnhittable = winRec->is_offscreen; pWin->unhittable = winRec->is_offscreen;
} }
void void
@ -569,7 +569,7 @@ RootlessReorderWindow(WindowPtr pWin)
newPrevW = pWin->prevSib; newPrevW = pWin->prevSib;
while (newPrevW && while (newPrevW &&
(WINREC(newPrevW) == NULL || !newPrevW->realized || (WINREC(newPrevW) == NULL || !newPrevW->realized ||
newPrevW->rootlessUnhittable != pWin->rootlessUnhittable)) newPrevW->unhittable != pWin->unhittable))
newPrevW = newPrevW->prevSib; newPrevW = newPrevW->prevSib;
newPrev = newPrevW != NULL ? WINREC(newPrevW) : NULL; newPrev = newPrevW != NULL ? WINREC(newPrevW) : NULL;
@ -720,7 +720,7 @@ RootlessResizeCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg,
/* /*
* RootlessCopyWindow * RootlessCopyWindow
* Update *new* location of window. Old location is redrawn with * Update *new* location of window. Old location is redrawn with
* miPaintWindow. Cloned from fbCopyWindow. * PaintWindow. Cloned from fbCopyWindow.
* The original always draws on the root pixmap, which we don't have. * The original always draws on the root pixmap, which we don't have.
* Instead, draw on the parent window's pixmap. * Instead, draw on the parent window's pixmap.
*/ */
@ -794,6 +794,27 @@ RootlessCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
RL_DEBUG_MSG("copywindowFB end\n"); RL_DEBUG_MSG("copywindowFB end\n");
} }
void
RootlessPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
{
ScreenPtr pScreen = pWin->drawable.pScreen;
if (IsFramedWindow(pWin)) {
RootlessStartDrawing(pWin);
RootlessDamageRegion(pWin, prgn);
if (pWin->backgroundState == ParentRelative) {
if ((what == PW_BACKGROUND) ||
(what == PW_BORDER && !pWin->borderIsPixel))
RootlessSetPixmapOfAncestors(pWin);
}
}
SCREEN_UNWRAP(pScreen, PaintWindow);
pScreen->PaintWindow(pWin, prgn, what);
SCREEN_WRAP(pScreen, PaintWindow);
}
/* /*
* Window resize procedures * Window resize procedures
*/ */
@ -1365,7 +1386,7 @@ RootlessReparentWindow(WindowPtr pWin, WindowPtr pPriorParent)
pTopWin = TopLevelParent(pWin); pTopWin = TopLevelParent(pWin);
assert(pTopWin != pWin); assert(pTopWin != pWin);
pWin->rootlessUnhittable = FALSE; pWin->unhittable = FALSE;
DeleteProperty(serverClient, pWin, xa_native_window_id()); DeleteProperty(serverClient, pWin, xa_native_window_id());
@ -1503,7 +1524,7 @@ RootlessOrderAllWindows(Bool include_unhitable)
continue; continue;
if (RootlessEnsureFrame(pWin) == NULL) if (RootlessEnsureFrame(pWin) == NULL)
continue; continue;
if (!include_unhitable && pWin->rootlessUnhittable) if (!include_unhitable && pWin->unhittable)
continue; continue;
RootlessReorderWindow(pWin); RootlessReorderWindow(pWin);
} }

View File

@ -48,6 +48,7 @@ Bool RootlessUnrealizeWindow(WindowPtr pWin);
void RootlessRestackWindow(WindowPtr pWin, WindowPtr pOldNextSib); void RootlessRestackWindow(WindowPtr pWin, WindowPtr pOldNextSib);
void RootlessCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, void RootlessCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg,
RegionPtr prgnSrc); RegionPtr prgnSrc);
void RootlessPaintWindow(WindowPtr pWin, RegionPtr prgn, int what);
void RootlessMoveWindow(WindowPtr pWin, int x, int y, WindowPtr pSib, void RootlessMoveWindow(WindowPtr pWin, int x, int y, WindowPtr pSib,
VTKind kind); VTKind kind);
void RootlessResizeWindow(WindowPtr pWin, int x, int y, unsigned int w, void RootlessResizeWindow(WindowPtr pWin, int x, int y, unsigned int w,

View File

@ -81,6 +81,7 @@ __stdcall unsigned long GetTickCount(void);
#include <X11/Xtrans/Xtrans.h> #include <X11/Xtrans/Xtrans.h>
#include "input.h" #include "input.h"
#include "dixfont.h" #include "dixfont.h"
#include <X11/fonts/fontutil.h>
#include "osdep.h" #include "osdep.h"
#include "extension.h" #include "extension.h"
#ifdef X_POSIX_C_SOURCE #ifdef X_POSIX_C_SOURCE

View File

@ -26,7 +26,7 @@
#include "present_priv.h" #include "present_priv.h"
RESTYPE present_event_type; static RESTYPE present_event_type;
static int static int
present_free_event(void *data, XID id) present_free_event(void *data, XID id)

View File

@ -147,8 +147,6 @@ present_window_priv(WindowPtr window)
present_window_priv_ptr present_window_priv_ptr
present_get_window_priv(WindowPtr window, Bool create); present_get_window_priv(WindowPtr window, Bool create);
extern RESTYPE present_event_type;
/* /*
* present.c * present.c
*/ */

View File

@ -234,7 +234,7 @@ proc_present_query_capabilities (ClientPtr client)
return Success; return Success;
} }
int (*proc_present_vector[PresentNumberRequests]) (ClientPtr) = { static int (*proc_present_vector[PresentNumberRequests]) (ClientPtr) = {
proc_present_query_version, /* 0 */ proc_present_query_version, /* 0 */
proc_present_pixmap, /* 1 */ proc_present_pixmap, /* 1 */
proc_present_notify_msc, /* 2 */ proc_present_notify_msc, /* 2 */
@ -319,7 +319,7 @@ sproc_present_query_capabilities (ClientPtr client)
return (*proc_present_vector[stuff->presentReqType]) (client); return (*proc_present_vector[stuff->presentReqType]) (client);
} }
int (*sproc_present_vector[PresentNumberRequests]) (ClientPtr) = { static int (*sproc_present_vector[PresentNumberRequests]) (ClientPtr) = {
sproc_present_query_version, /* 0 */ sproc_present_query_version, /* 0 */
sproc_present_pixmap, /* 1 */ sproc_present_pixmap, /* 1 */
sproc_present_notify_msc, /* 2 */ sproc_present_notify_msc, /* 2 */

View File

@ -64,10 +64,10 @@ typedef XID RROutput;
typedef XID RRCrtc; typedef XID RRCrtc;
typedef XID RRProvider; typedef XID RRProvider;
extern _X_EXPORT int RREventBase, RRErrorBase; extern int RREventBase, RRErrorBase;
extern _X_EXPORT int (*ProcRandrVector[RRNumberRequests]) (ClientPtr); extern int (*ProcRandrVector[RRNumberRequests]) (ClientPtr);
extern _X_EXPORT int (*SProcRandrVector[RRNumberRequests]) (ClientPtr); extern int (*SProcRandrVector[RRNumberRequests]) (ClientPtr);
/* /*
* Modeline for a monitor. Name follows directly after this struct * Modeline for a monitor. Name follows directly after this struct
@ -397,8 +397,8 @@ typedef struct _RRClient {
/* RRTimesRec times[0]; */ /* RRTimesRec times[0]; */
} RRClientRec, *RRClientPtr; } RRClientRec, *RRClientPtr;
extern _X_EXPORT RESTYPE RRClientType, RREventType; /* resource types for event masks */ extern RESTYPE RRClientType, RREventType; /* resource types for event masks */
extern _X_EXPORT DevPrivateKeyRec RRClientPrivateKeyRec; extern DevPrivateKeyRec RRClientPrivateKeyRec;
#define RRClientPrivateKey (&RRClientPrivateKeyRec) #define RRClientPrivateKey (&RRClientPrivateKeyRec)
extern _X_EXPORT RESTYPE RRCrtcType, RRModeType, RROutputType, RRProviderType; extern _X_EXPORT RESTYPE RRCrtcType, RRModeType, RROutputType, RRProviderType;

View File

@ -106,7 +106,7 @@ GlyphUninit(ScreenPtr pScreen)
} }
} }
GlyphHashSetPtr static GlyphHashSetPtr
FindGlyphHashSet(CARD32 filled) FindGlyphHashSet(CARD32 filled)
{ {
int i; int i;
@ -117,7 +117,7 @@ FindGlyphHashSet(CARD32 filled)
return 0; return 0;
} }
GlyphRefPtr static GlyphRefPtr
FindGlyphRef(GlyphHashPtr hash, FindGlyphRef(GlyphHashPtr hash,
CARD32 signature, Bool match, unsigned char sha1[20]) CARD32 signature, Bool match, unsigned char sha1[20])
{ {
@ -245,7 +245,7 @@ FreeGlyphPicture(GlyphPtr glyph)
} }
} }
void static void
FreeGlyph(GlyphPtr glyph, int format) FreeGlyph(GlyphPtr glyph, int format)
{ {
CheckDuplicates(&globalGlyphs[format], "FreeGlyph"); CheckDuplicates(&globalGlyphs[format], "FreeGlyph");
@ -383,7 +383,7 @@ AllocateGlyph(xGlyphInfo * gi, int fdepth)
return 0; return 0;
} }
Bool static Bool
AllocateGlyphHash(GlyphHashPtr hash, GlyphHashSetPtr hashSet) AllocateGlyphHash(GlyphHashPtr hash, GlyphHashSetPtr hashSet)
{ {
hash->table = calloc(hashSet->size, sizeof(GlyphRefRec)); hash->table = calloc(hashSet->size, sizeof(GlyphRefRec));
@ -394,7 +394,7 @@ AllocateGlyphHash(GlyphHashPtr hash, GlyphHashSetPtr hashSet)
return TRUE; return TRUE;
} }
Bool static Bool
ResizeGlyphHash(GlyphHashPtr hash, CARD32 change, Bool global) ResizeGlyphHash(GlyphHashPtr hash, CARD32 change, Bool global)
{ {
CARD32 tableEntries; CARD32 tableEntries;

View File

@ -90,47 +90,31 @@ typedef struct _GlyphList {
PictFormatPtr format; PictFormatPtr format;
} GlyphListRec, *GlyphListPtr; } GlyphListRec, *GlyphListPtr;
extern _X_EXPORT void extern void
GlyphUninit(ScreenPtr pScreen); GlyphUninit(ScreenPtr pScreen);
extern _X_EXPORT GlyphHashSetPtr FindGlyphHashSet(CARD32 filled); extern GlyphPtr FindGlyphByHash(unsigned char sha1[20], int format);
extern _X_EXPORT GlyphRefPtr
FindGlyphRef(GlyphHashPtr hash,
CARD32 signature, Bool match, unsigned char sha1[20]);
extern _X_EXPORT GlyphPtr FindGlyphByHash(unsigned char sha1[20], int format);
extern _X_EXPORT int
extern int
HashGlyph(xGlyphInfo * gi, HashGlyph(xGlyphInfo * gi,
CARD8 *bits, unsigned long size, unsigned char sha1[20]); CARD8 *bits, unsigned long size, unsigned char sha1[20]);
extern _X_EXPORT void extern void
FreeGlyph(GlyphPtr glyph, int format);
extern _X_EXPORT void
AddGlyph(GlyphSetPtr glyphSet, GlyphPtr glyph, Glyph id); AddGlyph(GlyphSetPtr glyphSet, GlyphPtr glyph, Glyph id);
extern _X_EXPORT Bool extern Bool
DeleteGlyph(GlyphSetPtr glyphSet, Glyph id); DeleteGlyph(GlyphSetPtr glyphSet, Glyph id);
extern _X_EXPORT GlyphPtr FindGlyph(GlyphSetPtr glyphSet, Glyph id); extern GlyphPtr FindGlyph(GlyphSetPtr glyphSet, Glyph id);
extern _X_EXPORT GlyphPtr AllocateGlyph(xGlyphInfo * gi, int format); extern GlyphPtr AllocateGlyph(xGlyphInfo * gi, int format);
extern _X_EXPORT Bool extern Bool
AllocateGlyphHash(GlyphHashPtr hash, GlyphHashSetPtr hashSet);
extern _X_EXPORT Bool
ResizeGlyphHash(GlyphHashPtr hash, CARD32 change, Bool global);
extern _X_EXPORT Bool
ResizeGlyphSet(GlyphSetPtr glyphSet, CARD32 change); ResizeGlyphSet(GlyphSetPtr glyphSet, CARD32 change);
extern _X_EXPORT GlyphSetPtr AllocateGlyphSet(int fdepth, PictFormatPtr format); extern GlyphSetPtr AllocateGlyphSet(int fdepth, PictFormatPtr format);
extern _X_EXPORT int extern int
FreeGlyphSet(void *value, XID gid); FreeGlyphSet(void *value, XID gid);
#define GLYPH_HAS_GLYPH_PICTURE_ACCESSOR 1 /* used for api compat */ #define GLYPH_HAS_GLYPH_PICTURE_ACCESSOR 1 /* used for api compat */

View File

@ -46,7 +46,7 @@ miDestroyPicture(PicturePtr pPicture)
RegionDestroy(pPicture->pCompositeClip); RegionDestroy(pPicture->pCompositeClip);
} }
void static void
miDestroyPictureClip(PicturePtr pPicture) miDestroyPictureClip(PicturePtr pPicture)
{ {
if (pPicture->clientClip) if (pPicture->clientClip)
@ -54,7 +54,7 @@ miDestroyPictureClip(PicturePtr pPicture)
pPicture->clientClip = NULL; pPicture->clientClip = NULL;
} }
int static int
miChangePictureClip(PicturePtr pPicture, int type, void *value, int n) miChangePictureClip(PicturePtr pPicture, int type, void *value, int n)
{ {
ScreenPtr pScreen = pPicture->pDrawable->pScreen; ScreenPtr pScreen = pPicture->pDrawable->pScreen;
@ -88,13 +88,13 @@ miChangePictureClip(PicturePtr pPicture, int type, void *value, int n)
return Success; return Success;
} }
void static void
miChangePicture(PicturePtr pPicture, Mask mask) miChangePicture(PicturePtr pPicture, Mask mask)
{ {
return; return;
} }
void static void
miValidatePicture(PicturePtr pPicture, Mask mask) miValidatePicture(PicturePtr pPicture, Mask mask)
{ {
DrawablePtr pDrawable = pPicture->pDrawable; DrawablePtr pDrawable = pPicture->pDrawable;
@ -211,13 +211,13 @@ miValidatePicture(PicturePtr pPicture, Mask mask)
} }
} }
int static int
miChangePictureTransform(PicturePtr pPicture, PictTransform * transform) miChangePictureTransform(PicturePtr pPicture, PictTransform * transform)
{ {
return Success; return Success;
} }
int static int
miChangePictureFilter(PicturePtr pPicture, miChangePictureFilter(PicturePtr pPicture,
int filter, xFixed * params, int nparams) int filter, xFixed * params, int nparams)
{ {
@ -499,7 +499,7 @@ miRenderPixelToColor(PictFormatPtr format, CARD32 pixel, xRenderColor * color)
} }
} }
void static void
miTriStrip(CARD8 op, miTriStrip(CARD8 op,
PicturePtr pSrc, PicturePtr pSrc,
PicturePtr pDst, PicturePtr pDst,
@ -523,7 +523,7 @@ miTriStrip(CARD8 op,
free(tris); free(tris);
} }
void static void
miTriFan(CARD8 op, miTriFan(CARD8 op,
PicturePtr pSrc, PicturePtr pSrc,
PicturePtr pDst, PicturePtr pDst,

View File

@ -53,26 +53,6 @@ extern _X_EXPORT int
extern _X_EXPORT void extern _X_EXPORT void
miDestroyPicture(PicturePtr pPicture); miDestroyPicture(PicturePtr pPicture);
extern _X_EXPORT void
miDestroyPictureClip(PicturePtr pPicture);
extern _X_EXPORT int
miChangePictureClip(PicturePtr pPicture, int type, void *value, int n);
extern _X_EXPORT void
miChangePicture(PicturePtr pPicture, Mask mask);
extern _X_EXPORT void
miValidatePicture(PicturePtr pPicture, Mask mask);
extern _X_EXPORT int
miChangePictureTransform(PicturePtr pPicture, PictTransform * transform);
extern _X_EXPORT int
miChangePictureFilter(PicturePtr pPicture,
int filter, xFixed * params, int nparams);
extern _X_EXPORT void extern _X_EXPORT void
miCompositeSourceValidate(PicturePtr pPicture); miCompositeSourceValidate(PicturePtr pPicture);
@ -121,22 +101,6 @@ miCompositeRects(CARD8 op,
PicturePtr pDst, PicturePtr pDst,
xRenderColor * color, int nRect, xRectangle *rects); xRenderColor * color, int nRect, xRectangle *rects);
extern _X_EXPORT void
miTriStrip(CARD8 op,
PicturePtr pSrc,
PicturePtr pDst,
PictFormatPtr maskFormat,
INT16 xSrc, INT16 ySrc, int npoints, xPointFixed * points);
extern _X_EXPORT void
miTriFan(CARD8 op,
PicturePtr pSrc,
PicturePtr pDst,
PictFormatPtr maskFormat,
INT16 xSrc, INT16 ySrc, int npoints, xPointFixed * points);
extern _X_EXPORT void extern _X_EXPORT void
miTrapezoidBounds(int ntrap, xTrapezoid * traps, BoxPtr box); miTrapezoidBounds(int ntrap, xTrapezoid * traps, BoxPtr box);

View File

@ -61,7 +61,7 @@ PictureWindowFormat(WindowPtr pWindow)
WindowGetVisual(pWindow)); WindowGetVisual(pWindow));
} }
Bool static Bool
PictureDestroyWindow(WindowPtr pWindow) PictureDestroyWindow(WindowPtr pWindow)
{ {
ScreenPtr pScreen = pWindow->drawable.pScreen; ScreenPtr pScreen = pWindow->drawable.pScreen;
@ -82,7 +82,7 @@ PictureDestroyWindow(WindowPtr pWindow)
return ret; return ret;
} }
Bool static Bool
PictureCloseScreen(ScreenPtr pScreen) PictureCloseScreen(ScreenPtr pScreen)
{ {
PictureScreenPtr ps = GetPictureScreen(pScreen); PictureScreenPtr ps = GetPictureScreen(pScreen);
@ -102,7 +102,7 @@ PictureCloseScreen(ScreenPtr pScreen)
return ret; return ret;
} }
void static void
PictureStoreColors(ColormapPtr pColormap, int ndef, xColorItem * pdef) PictureStoreColors(ColormapPtr pColormap, int ndef, xColorItem * pdef)
{ {
ScreenPtr pScreen = pColormap->pScreen; ScreenPtr pScreen = pColormap->pScreen;
@ -163,7 +163,7 @@ addFormat(FormatInitRec formats[256], int nformat, CARD32 format, CARD8 depth)
#define Mask(n) ((1 << (n)) - 1) #define Mask(n) ((1 << (n)) - 1)
PictFormatPtr static PictFormatPtr
PictureCreateDefaultFormats(ScreenPtr pScreen, int *nformatp) PictureCreateDefaultFormats(ScreenPtr pScreen, int *nformatp)
{ {
int nformats, f; int nformats, f;
@ -439,7 +439,7 @@ PictureFindVisual(ScreenPtr pScreen, VisualID visual)
return 0; return 0;
} }
Bool static Bool
PictureInitIndexedFormat(ScreenPtr pScreen, PictFormatPtr format) PictureInitIndexedFormat(ScreenPtr pScreen, PictFormatPtr format)
{ {
PictureScreenPtr ps = GetPictureScreenIfSet(pScreen); PictureScreenPtr ps = GetPictureScreenIfSet(pScreen);
@ -625,6 +625,12 @@ GetPictureBytes(void *value, XID id, ResourceSizePtr size)
} }
} }
static int
FreePictFormat(void *pPictFormat, XID pid)
{
return Success;
}
Bool Bool
PictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats) PictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
{ {
@ -724,7 +730,7 @@ PictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
return TRUE; return TRUE;
} }
void static void
SetPictureToDefaults(PicturePtr pPicture) SetPictureToDefaults(PicturePtr pPicture)
{ {
pPicture->refcnt = 1; pPicture->refcnt = 1;
@ -1430,12 +1436,6 @@ FreePicture(void *value, XID pid)
return Success; return Success;
} }
int
FreePictFormat(void *pPictFormat, XID pid)
{
return Success;
}
/** /**
* ReduceCompositeOp is used to choose simpler ops for cases where alpha * ReduceCompositeOp is used to choose simpler ops for cases where alpha
* channels are always one and so math on the alpha channel per pixel becomes * channels are always one and so math on the alpha channel per pixel becomes

View File

@ -169,11 +169,11 @@ typedef enum _PictFormatShort {
#define PictureCmapPolicyColor 3 #define PictureCmapPolicyColor 3
#define PictureCmapPolicyAll 4 #define PictureCmapPolicyAll 4
extern _X_EXPORT int PictureCmapPolicy; extern int PictureCmapPolicy;
extern _X_EXPORT int PictureParseCmapPolicy(const char *name); extern int PictureParseCmapPolicy(const char *name);
extern _X_EXPORT int RenderErrBase; extern int RenderErrBase;
/* Fixed point updates from Carl Worth, USC, Information Sciences Institute */ /* Fixed point updates from Carl Worth, USC, Information Sciences Institute */

View File

@ -344,16 +344,14 @@ typedef struct _PictureScreen {
} PictureScreenRec, *PictureScreenPtr; } PictureScreenRec, *PictureScreenPtr;
extern _X_EXPORT DevPrivateKeyRec PictureScreenPrivateKeyRec; extern _X_EXPORT DevPrivateKeyRec PictureScreenPrivateKeyRec;
#define PictureScreenPrivateKey (&PictureScreenPrivateKeyRec) #define PictureScreenPrivateKey (&PictureScreenPrivateKeyRec)
extern _X_EXPORT DevPrivateKeyRec PictureWindowPrivateKeyRec; extern _X_EXPORT DevPrivateKeyRec PictureWindowPrivateKeyRec;
#define PictureWindowPrivateKey (&PictureWindowPrivateKeyRec) #define PictureWindowPrivateKey (&PictureWindowPrivateKeyRec)
extern _X_EXPORT RESTYPE PictureType; extern RESTYPE PictureType;
extern _X_EXPORT RESTYPE PictFormatType; extern RESTYPE PictFormatType;
extern _X_EXPORT RESTYPE GlyphSetType; extern RESTYPE GlyphSetType;
#define GetPictureScreen(s) ((PictureScreenPtr)dixLookupPrivate(&(s)->devPrivates, PictureScreenPrivateKey)) #define GetPictureScreen(s) ((PictureScreenPtr)dixLookupPrivate(&(s)->devPrivates, PictureScreenPrivateKey))
#define GetPictureScreenIfSet(s) (dixPrivateKeyRegistered(PictureScreenPrivateKey) ? GetPictureScreen(s) : NULL) #define GetPictureScreenIfSet(s) (dixPrivateKeyRegistered(PictureScreenPrivateKey) ? GetPictureScreen(s) : NULL)
@ -379,27 +377,12 @@ extern _X_EXPORT RESTYPE GlyphSetType;
extern _X_EXPORT PictFormatPtr extern _X_EXPORT PictFormatPtr
PictureWindowFormat(WindowPtr pWindow); PictureWindowFormat(WindowPtr pWindow);
extern _X_EXPORT Bool
PictureDestroyWindow(WindowPtr pWindow);
extern _X_EXPORT Bool
PictureCloseScreen(ScreenPtr pScreen);
extern _X_EXPORT void
PictureStoreColors(ColormapPtr pColormap, int ndef, xColorItem * pdef);
extern _X_EXPORT Bool
PictureInitIndexedFormat(ScreenPtr pScreen, PictFormatPtr format);
extern _X_EXPORT Bool extern _X_EXPORT Bool
PictureSetSubpixelOrder(ScreenPtr pScreen, int subpixel); PictureSetSubpixelOrder(ScreenPtr pScreen, int subpixel);
extern _X_EXPORT int extern _X_EXPORT int
PictureGetSubpixelOrder(ScreenPtr pScreen); PictureGetSubpixelOrder(ScreenPtr pScreen);
extern _X_EXPORT PictFormatPtr
PictureCreateDefaultFormats(ScreenPtr pScreen, int *nformatp);
extern _X_EXPORT PictFormatPtr extern _X_EXPORT PictFormatPtr
PictureMatchVisual(ScreenPtr pScreen, int depth, VisualPtr pVisual); PictureMatchVisual(ScreenPtr pScreen, int depth, VisualPtr pVisual);
@ -415,14 +398,12 @@ extern _X_EXPORT int
extern _X_EXPORT char *PictureGetFilterName(int id); extern _X_EXPORT char *PictureGetFilterName(int id);
extern _X_EXPORT int extern _X_EXPORT int
PictureAddFilter(ScreenPtr pScreen, PictureAddFilter(ScreenPtr pScreen,
const char *filter, const char *filter,
PictFilterValidateParamsProcPtr ValidateParams, PictFilterValidateParamsProcPtr ValidateParams,
int width, int height); int width, int height);
extern _X_EXPORT Bool extern _X_EXPORT Bool
PictureSetFilterAlias(ScreenPtr pScreen, const char *filter, const char *alias); PictureSetFilterAlias(ScreenPtr pScreen, const char *filter, const char *alias);
extern _X_EXPORT Bool extern _X_EXPORT Bool
@ -435,21 +416,16 @@ extern _X_EXPORT PictFilterPtr
PictureFindFilter(ScreenPtr pScreen, char *name, int len); PictureFindFilter(ScreenPtr pScreen, char *name, int len);
extern _X_EXPORT int extern _X_EXPORT int
SetPicturePictFilter(PicturePtr pPicture, PictFilterPtr pFilter, SetPicturePictFilter(PicturePtr pPicture, PictFilterPtr pFilter,
xFixed * params, int nparams); xFixed * params, int nparams);
extern _X_EXPORT int extern _X_EXPORT int
SetPictureFilter(PicturePtr pPicture, char *name, int len, SetPictureFilter(PicturePtr pPicture, char *name, int len,
xFixed * params, int nparams); xFixed * params, int nparams);
extern _X_EXPORT Bool extern _X_EXPORT Bool
PictureFinishInit(void); PictureFinishInit(void);
extern _X_EXPORT void
SetPictureToDefaults(PicturePtr pPicture);
extern _X_EXPORT PicturePtr extern _X_EXPORT PicturePtr
CreatePicture(Picture pid, CreatePicture(Picture pid,
DrawablePtr pDrawable, DrawablePtr pDrawable,
@ -457,7 +433,6 @@ CreatePicture(Picture pid,
Mask mask, XID *list, ClientPtr client, int *error); Mask mask, XID *list, ClientPtr client, int *error);
extern _X_EXPORT int extern _X_EXPORT int
ChangePicture(PicturePtr pPicture, ChangePicture(PicturePtr pPicture,
Mask vmask, XID *vlist, DevUnion *ulist, ClientPtr client); Mask vmask, XID *vlist, DevUnion *ulist, ClientPtr client);
@ -467,7 +442,6 @@ SetPictureClipRects(PicturePtr pPicture,
int xOrigin, int yOrigin, int nRect, xRectangle *rects); int xOrigin, int yOrigin, int nRect, xRectangle *rects);
extern _X_EXPORT int extern _X_EXPORT int
SetPictureClipRegion(PicturePtr pPicture, SetPictureClipRegion(PicturePtr pPicture,
int xOrigin, int yOrigin, RegionPtr pRegion); int xOrigin, int yOrigin, RegionPtr pRegion);
@ -480,11 +454,7 @@ extern _X_EXPORT void
extern _X_EXPORT int extern _X_EXPORT int
FreePicture(void *pPicture, XID pid); FreePicture(void *pPicture, XID pid);
extern _X_EXPORT int
FreePictFormat(void *pPictFormat, XID pid);
extern _X_EXPORT void extern _X_EXPORT void
CompositePicture(CARD8 op, CompositePicture(CARD8 op,
PicturePtr pSrc, PicturePtr pSrc,
PicturePtr pMask, PicturePtr pMask,
@ -496,7 +466,6 @@ CompositePicture(CARD8 op,
INT16 xDst, INT16 yDst, CARD16 width, CARD16 height); INT16 xDst, INT16 yDst, CARD16 width, CARD16 height);
extern _X_EXPORT void extern _X_EXPORT void
CompositeGlyphs(CARD8 op, CompositeGlyphs(CARD8 op,
PicturePtr pSrc, PicturePtr pSrc,
PicturePtr pDst, PicturePtr pDst,
@ -505,13 +474,11 @@ CompositeGlyphs(CARD8 op,
INT16 ySrc, int nlist, GlyphListPtr lists, GlyphPtr * glyphs); INT16 ySrc, int nlist, GlyphListPtr lists, GlyphPtr * glyphs);
extern _X_EXPORT void extern _X_EXPORT void
CompositeRects(CARD8 op, CompositeRects(CARD8 op,
PicturePtr pDst, PicturePtr pDst,
xRenderColor * color, int nRect, xRectangle *rects); xRenderColor * color, int nRect, xRectangle *rects);
extern _X_EXPORT void extern _X_EXPORT void
CompositeTrapezoids(CARD8 op, CompositeTrapezoids(CARD8 op,
PicturePtr pSrc, PicturePtr pSrc,
PicturePtr pDst, PicturePtr pDst,
@ -519,7 +486,6 @@ CompositeTrapezoids(CARD8 op,
INT16 xSrc, INT16 ySrc, int ntrap, xTrapezoid * traps); INT16 xSrc, INT16 ySrc, int ntrap, xTrapezoid * traps);
extern _X_EXPORT void extern _X_EXPORT void
CompositeTriangles(CARD8 op, CompositeTriangles(CARD8 op,
PicturePtr pSrc, PicturePtr pSrc,
PicturePtr pDst, PicturePtr pDst,
@ -528,7 +494,6 @@ CompositeTriangles(CARD8 op,
INT16 ySrc, int ntriangles, xTriangle * triangles); INT16 ySrc, int ntriangles, xTriangle * triangles);
extern _X_EXPORT void extern _X_EXPORT void
CompositeTriStrip(CARD8 op, CompositeTriStrip(CARD8 op,
PicturePtr pSrc, PicturePtr pSrc,
PicturePtr pDst, PicturePtr pDst,
@ -536,7 +501,6 @@ CompositeTriStrip(CARD8 op,
INT16 xSrc, INT16 ySrc, int npoints, xPointFixed * points); INT16 xSrc, INT16 ySrc, int npoints, xPointFixed * points);
extern _X_EXPORT void extern _X_EXPORT void
CompositeTriFan(CARD8 op, CompositeTriFan(CARD8 op,
PicturePtr pSrc, PicturePtr pSrc,
PicturePtr pDst, PicturePtr pDst,
@ -547,12 +511,10 @@ Bool
AnimCurInit(ScreenPtr pScreen); AnimCurInit(ScreenPtr pScreen);
int int
AnimCursorCreate(CursorPtr *cursors, CARD32 *deltas, int ncursor, AnimCursorCreate(CursorPtr *cursors, CARD32 *deltas, int ncursor,
CursorPtr *ppCursor, ClientPtr client, XID cid); CursorPtr *ppCursor, ClientPtr client, XID cid);
extern _X_EXPORT void extern _X_EXPORT void
AddTraps(PicturePtr pPicture, AddTraps(PicturePtr pPicture,
INT16 xOff, INT16 yOff, int ntraps, xTrap * traps); INT16 xOff, INT16 yOff, int ntraps, xTrap * traps);
@ -583,8 +545,8 @@ CreateConicalGradientPicture(Picture pid,
xFixed * stops, xRenderColor * colors, int *error); xFixed * stops, xRenderColor * colors, int *error);
#ifdef PANORAMIX #ifdef PANORAMIX
extern _X_EXPORT void PanoramiXRenderInit(void); extern void PanoramiXRenderInit(void);
extern _X_EXPORT void PanoramiXRenderReset(void); extern void PanoramiXRenderReset(void);
#endif #endif
/* /*
@ -592,12 +554,10 @@ extern _X_EXPORT void PanoramiXRenderReset(void);
*/ */
extern _X_EXPORT void extern _X_EXPORT void
PictTransform_from_xRenderTransform(PictTransformPtr pict, PictTransform_from_xRenderTransform(PictTransformPtr pict,
xRenderTransform * render); xRenderTransform * render);
extern _X_EXPORT void extern _X_EXPORT void
xRenderTransform_from_PictTransform(xRenderTransform * render, xRenderTransform_from_PictTransform(xRenderTransform * render,
PictTransformPtr pict); PictTransformPtr pict);

View File

@ -2,10 +2,6 @@ noinst_LTLIBRARIES = libxfixes.la
AM_CFLAGS = $(DIX_CFLAGS) AM_CFLAGS = $(DIX_CFLAGS)
if XORG
sdk_HEADERS = xfixes.h
endif
libxfixes_la_SOURCES = \ libxfixes_la_SOURCES = \
cursor.c \ cursor.c \
region.c \ region.c \

View File

@ -29,8 +29,8 @@
#include "resource.h" #include "resource.h"
extern _X_EXPORT RESTYPE RegionResType; extern RESTYPE RegionResType;
extern _X_EXPORT int XFixesErrorBase; extern int XFixesErrorBase;
#define VERIFY_REGION(pRegion, rid, client, mode) \ #define VERIFY_REGION(pRegion, rid, client, mode) \
do { \ do { \
@ -48,7 +48,7 @@ extern _X_EXPORT int XFixesErrorBase;
if (rid) VERIFY_REGION(pRegion, rid, client, mode); \ if (rid) VERIFY_REGION(pRegion, rid, client, mode); \
} }
extern _X_EXPORT RegionPtr extern RegionPtr
XFixesRegionCopy(RegionPtr pRegion); XFixesRegionCopy(RegionPtr pRegion);
#include "xibarriers.h" #include "xibarriers.h"