Merge branch 'master' into my-XACE-modular

This commit is contained in:
Eamon Walsh 2006-09-15 15:26:57 -04:00 committed by Eamon Walsh
commit 49a70c8570
24 changed files with 349 additions and 250 deletions

View File

@ -73,6 +73,9 @@ struct __GLXDRIscreen {
__DRIscreen driScreen;
void *driver;
xf86EnterVTProc *enterVT;
xf86LeaveVTProc *leaveVT;
unsigned char glx_enable_bits[__GLX_EXT_BYTES];
};
@ -622,8 +625,7 @@ static __DRIfuncPtr getProcAddress(const char *proc_name)
static __DRIscreen *findScreen(__DRInativeDisplay *dpy, int scrn)
{
__GLXDRIscreen *screen =
(__GLXDRIscreen *) __glXgetActiveScreen(scrn);
__GLXDRIscreen *screen = (__GLXDRIscreen *) __glXgetActiveScreen(scrn);
return &screen->driScreen;
}
@ -817,6 +819,30 @@ static const __DRIinterfaceMethods interface_methods = {
static const char dri_driver_path[] = DRI_DRIVER_PATH;
static Bool
glxDRIEnterVT (int index, int flags)
{
__GLXDRIscreen *screen = (__GLXDRIscreen *) __glXgetActiveScreen(index);
LogMessage(X_INFO, "AIGLX: Resuming AIGLX clients after VT switch\n");
glxResumeClients();
return (*screen->enterVT) (index, flags);
}
static void
glxDRILeaveVT (int index, int flags)
{
__GLXDRIscreen *screen = (__GLXDRIscreen *) __glXgetActiveScreen(index);
LogMessage(X_INFO, "AIGLX: Suspending AIGLX clients for VT switch\n");
glxSuspendClients();
return (*screen->leaveVT) (index, flags);
}
static __GLXscreen *
__glXDRIscreenProbe(ScreenPtr pScreen)
{
@ -842,6 +868,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
char filename[128];
Bool isCapable;
size_t buffer_size;
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable")) {
LogMessage(X_ERROR, "AIGLX: DRI module not loaded\n");
@ -1029,6 +1056,11 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
__glXsetEnterLeaveServerFuncs(__glXDRIenterServer, __glXDRIleaveServer);
screen->enterVT = pScrn->EnterVT;
pScrn->EnterVT = glxDRIEnterVT;
screen->leaveVT = pScrn->LeaveVT;
pScrn->LeaveVT = glxDRILeaveVT;
LogMessage(X_INFO,
"AIGLX: Loaded and initialized %s\n", filename);

View File

@ -59,10 +59,7 @@ xGLXSingleReply __glXReply;
** A set of state for each client. The 0th one is unused because client
** indices start at 1, not 0.
*/
__GLXclientState *__glXClients[MAXCLIENTS+1];
static Bool inDispatch;
static __GLXclientState *__glXClients[MAXCLIENTS + 1];
/*
** Forward declarations.
@ -219,6 +216,10 @@ static Bool DrawableGone(__GLXdrawable *glxPriv, XID xid)
return True;
}
static __GLXcontext *glxPendingDestroyContexts;
static int glxServerLeaveCount;
static int glxBlockClients;
/*
** Free a context.
*/
@ -236,13 +237,14 @@ GLboolean __glXFreeContext(__GLXcontext *cx)
* __glXDispatch() or as a callback from the resource manager. In
* the latter case we need to lift the DRI lock manually. */
if (!inDispatch)
__glXleaveServer();
cx->destroy(cx);
if (!inDispatch)
__glXenterServer();
if (glxBlockClients) {
__glXleaveServer();
cx->destroy(cx);
__glXenterServer();
} else {
cx->next = glxPendingDestroyContexts;
glxPendingDestroyContexts = cx;
}
return GL_TRUE;
}
@ -338,7 +340,7 @@ void GlxExtensionInit(void)
/*
** Initialize table of client state. There is never a client 0.
*/
for (i=1; i <= MAXCLIENTS; i++) {
for (i = 1; i <= MAXCLIENTS; i++) {
__glXClients[i] = 0;
}
@ -409,11 +411,43 @@ __GLXcontext *__glXForceCurrent(__GLXclientState *cl, GLXContextTag tag,
/************************************************************************/
/*
** Top level dispatcher; all commands are executed from here down.
*/
void glxSuspendClients(void)
{
int i;
/* I cried when I wrote this. Damn you XAA! */
for (i = 1; i <= MAXCLIENTS; i++) {
if (__glXClients[i] == NULL || !__glXClients[i]->inUse)
continue;
IgnoreClient(__glXClients[i]->client);
}
glxBlockClients = TRUE;
}
void glxResumeClients(void)
{
__GLXcontext *cx, *next;
int i;
glxBlockClients = FALSE;
for (i = 1; i <= MAXCLIENTS; i++) {
if (__glXClients[i] == NULL || !__glXClients[i]->inUse)
continue;
AttendClient(__glXClients[i]->client);
}
__glXleaveServer();
for (cx = glxPendingDestroyContexts; cx != NULL; cx = next) {
next = cx->next;
cx->destroy(cx);
}
glxPendingDestroyContexts = NULL;
__glXenterServer();
}
static void
__glXnopEnterServer(void)
@ -438,14 +472,19 @@ void __glXsetEnterLeaveServerFuncs(void (*enter)(void),
void __glXenterServer(void)
{
(*__glXenterServerFunc)();
glxServerLeaveCount--;
if (glxServerLeaveCount == 0)
(*__glXenterServerFunc)();
}
void __glXleaveServer(void)
{
(*__glXleaveServerFunc)();
}
if (glxServerLeaveCount == 0)
(*__glXleaveServerFunc)();
glxServerLeaveCount++;
}
/*
** Top level dispatcher; all commands are executed from here down.
@ -491,6 +530,15 @@ static int __glXDispatch(ClientPtr client)
return __glXError(GLXBadLargeRequest);
}
/* If we're currently blocking GLX clients, just put this guy to
* sleep, reset the request and return. */
if (glxBlockClients) {
ResetCurrentRequest(client);
client->sequence--;
IgnoreClient(client);
return(client->noClientException);
}
/*
** Use the opcode to index into the procedure table.
*/
@ -500,12 +548,8 @@ static int __glXDispatch(ClientPtr client)
if (proc != NULL) {
__glXleaveServer();
inDispatch = True;
retval = (*proc)(cl, (GLbyte *) stuff);
inDispatch = False;
__glXenterServer();
}
else {

View File

@ -71,9 +71,6 @@ extern void __glXClearErrorOccured(void);
extern GLboolean __glXErrorOccured(void);
extern void __glXResetLargeCommandStatus(__GLXclientState*);
extern int __glXQueryContextInfoEXT(__GLXclientState *cl, GLbyte *pc);
extern int __glXSwapQueryContextInfoEXT(__GLXclientState *cl, GLbyte *pc);
extern int DoMakeCurrent( __GLXclientState *cl, GLXDrawable drawId,
GLXDrawable readId, GLXContextID contextId, GLXContextTag tag );
extern int DoGetVisualConfigs(__GLXclientState *cl, unsigned screen,
@ -93,8 +90,6 @@ extern int DoRenderLarge(__GLXclientState *cl, GLbyte *pc, int do_swap);
extern void GlxExtensionInit(void);
extern Bool __glXCoreType(void);
extern const char GLServerVersion[];
extern int DoGetString(__GLXclientState *cl, GLbyte *pc, GLboolean need_swap);

View File

@ -136,6 +136,9 @@ void __glXsetEnterLeaveServerFuncs(void (*enter)(void),
void __glXenterServer(void);
void __glXleaveServer(void);
void glxSuspendClients(void);
void glxResumeClients(void);
/*
** State kept per client.
*/
@ -176,8 +179,6 @@ struct __GLXclientStateRec {
char *GLClientextensions;
};
extern __GLXclientState *__glXClients[];
/************************************************************************/
/*
@ -191,7 +192,6 @@ typedef int (*__GLXdispatchVendorPrivProcPtr)(__GLXclientState *, GLbyte *);
* Dispatch for GLX commands.
*/
typedef int (*__GLXprocPtr)(__GLXclientState *, char *pc);
extern __GLXprocPtr __glXProcTable[];
/*
* Tables for computing the size of each rendering command.
@ -252,6 +252,4 @@ extern int __glXImageSize(GLenum format, GLenum type,
GLint imageHeight, GLint rowLength, GLint skipImages, GLint skipRows,
GLint alignment);
extern int __glXDrawArraysReqSize(const GLbyte *pc, Bool swap);
#endif /* !__GLX_server_h__ */

View File

@ -40,36 +40,18 @@
**
*/
extern void __glXNop(void);
/* relate contexts with drawables */
extern void __glXAssociateContext(__GLXcontext *glxc);
extern void __glXDeassociateContext(__GLXcontext *glxc);
/* drawable operation */
extern void __glXGetDrawableSize(__GLdrawablePrivate *glPriv,
GLint *x, GLint *y,
GLuint *width, GLuint *height);
extern GLboolean __glXResizeDrawable(__GLdrawablePrivate *glPriv);
extern GLboolean __glXResizeDrawableBuffers(__GLXdrawable *glxPriv);
/* drawable management */
extern void __glXRefDrawable(__GLXdrawable *glxPriv);
extern void __glXUnrefDrawable(__GLXdrawable *glxPriv);
extern __GLXdrawable *__glXCreateDrawable(__GLXscreen *screen,
DrawablePtr pDraw, XID drawId,
__GLcontextModes *modes);
extern GLboolean __glXDrawableInit(__GLXdrawable *drawable,
__GLXscreen *screen,
DrawablePtr pDraw, XID drawID,
__GLcontextModes *modes);
extern GLboolean __glXDestroyDrawable(__GLXdrawable *glxPriv);
extern __GLXdrawable *__glXFindDrawable(XID glxpixmapId);
extern __GLXdrawable *__glXGetDrawable(__GLXcontext *ctx,
DrawablePtr pDraw,
XID glxpixmapId);
extern void __glXCacheDrawableSize(__GLXdrawable *glxPriv);
/* context helper routines */
extern __GLXcontext *__glXLookupContextByTag(__GLXclientState*, GLXContextTag);
@ -79,4 +61,3 @@ extern void *__glXglDDXScreenInfo(void);
extern void *__glXglDDXExtensionInfo(void);
#endif /* _glxcmds_h_ */

View File

@ -1232,12 +1232,12 @@ const struct __glXDispatchInfo Render_dispatch_info = {
/*****************************************************************/
/* tree depth = 13 */
static const int_fast16_t VendorPriv_dispatch_tree[155] = {
static const int_fast16_t VendorPriv_dispatch_tree[158] = {
/* [0] -> opcode range [0, 131072], node depth 1 */
2,
5,
EMPTY_LEAF,
119,
122,
EMPTY_LEAF,
/* [5] -> opcode range [0, 32768], node depth 2 */
@ -1254,7 +1254,7 @@ static const int_fast16_t VendorPriv_dispatch_tree[155] = {
2,
16,
EMPTY_LEAF,
78,
81,
EMPTY_LEAF,
/* [16] -> opcode range [0, 2048], node depth 5 */
@ -1299,7 +1299,7 @@ static const int_fast16_t VendorPriv_dispatch_tree[155] = {
44,
EMPTY_LEAF,
56,
67,
70,
/* [44] -> opcode range [1024, 1152], node depth 7 */
1,
@ -1327,164 +1327,169 @@ static const int_fast16_t VendorPriv_dispatch_tree[155] = {
EMPTY_LEAF,
/* [59] -> opcode range [1280, 1344], node depth 8 */
1,
62,
EMPTY_LEAF,
/* [62] -> opcode range [1280, 1312], node depth 9 */
2,
EMPTY_LEAF,
64,
LEAF(16),
LEAF(24),
EMPTY_LEAF,
67,
/* [64] -> opcode range [1280, 1296], node depth 9 */
1,
EMPTY_LEAF,
LEAF(32),
/* [67] -> opcode range [1408, 1536], node depth 7 */
/* [67] -> opcode range [1328, 1344], node depth 9 */
1,
70,
LEAF(40),
EMPTY_LEAF,
/* [70] -> opcode range [1408, 1472], node depth 8 */
/* [70] -> opcode range [1408, 1536], node depth 7 */
1,
73,
EMPTY_LEAF,
/* [73] -> opcode range [1408, 1440], node depth 9 */
2,
EMPTY_LEAF,
LEAF(40),
LEAF(48),
EMPTY_LEAF,
/* [78] -> opcode range [4096, 6144], node depth 5 */
2,
83,
EMPTY_LEAF,
101,
EMPTY_LEAF,
/* [83] -> opcode range [4096, 4608], node depth 6 */
/* [73] -> opcode range [1408, 1472], node depth 8 */
1,
76,
EMPTY_LEAF,
/* [76] -> opcode range [1408, 1440], node depth 9 */
2,
EMPTY_LEAF,
LEAF(48),
LEAF(56),
EMPTY_LEAF,
/* [81] -> opcode range [4096, 6144], node depth 5 */
2,
86,
EMPTY_LEAF,
104,
EMPTY_LEAF,
/* [86] -> opcode range [4096, 4352], node depth 7 */
/* [86] -> opcode range [4096, 4608], node depth 6 */
1,
89,
EMPTY_LEAF,
/* [89] -> opcode range [4096, 4224], node depth 8 */
/* [89] -> opcode range [4096, 4352], node depth 7 */
1,
92,
EMPTY_LEAF,
/* [92] -> opcode range [4096, 4160], node depth 9 */
/* [92] -> opcode range [4096, 4224], node depth 8 */
1,
95,
EMPTY_LEAF,
/* [95] -> opcode range [4096, 4128], node depth 10 */
/* [95] -> opcode range [4096, 4160], node depth 9 */
1,
98,
EMPTY_LEAF,
/* [98] -> opcode range [4096, 4112], node depth 11 */
/* [98] -> opcode range [4096, 4128], node depth 10 */
1,
LEAF(56),
101,
EMPTY_LEAF,
/* [101] -> opcode range [5120, 5632], node depth 6 */
1,
104,
EMPTY_LEAF,
/* [104] -> opcode range [5120, 5376], node depth 7 */
1,
107,
EMPTY_LEAF,
/* [107] -> opcode range [5120, 5248], node depth 8 */
1,
110,
EMPTY_LEAF,
/* [110] -> opcode range [5120, 5184], node depth 9 */
1,
EMPTY_LEAF,
113,
/* [113] -> opcode range [5152, 5184], node depth 10 */
1,
116,
EMPTY_LEAF,
/* [116] -> opcode range [5152, 5168], node depth 11 */
/* [101] -> opcode range [4096, 4112], node depth 11 */
1,
LEAF(64),
EMPTY_LEAF,
/* [119] -> opcode range [65536, 98304], node depth 2 */
/* [104] -> opcode range [5120, 5632], node depth 6 */
1,
122,
107,
EMPTY_LEAF,
/* [122] -> opcode range [65536, 81920], node depth 3 */
/* [107] -> opcode range [5120, 5376], node depth 7 */
1,
125,
110,
EMPTY_LEAF,
/* [125] -> opcode range [65536, 73728], node depth 4 */
/* [110] -> opcode range [5120, 5248], node depth 8 */
1,
128,
113,
EMPTY_LEAF,
/* [128] -> opcode range [65536, 69632], node depth 5 */
/* [113] -> opcode range [5120, 5184], node depth 9 */
1,
131,
EMPTY_LEAF,
116,
/* [116] -> opcode range [5152, 5184], node depth 10 */
1,
119,
EMPTY_LEAF,
/* [131] -> opcode range [65536, 67584], node depth 6 */
1,
134,
EMPTY_LEAF,
/* [134] -> opcode range [65536, 66560], node depth 7 */
1,
137,
EMPTY_LEAF,
/* [137] -> opcode range [65536, 66048], node depth 8 */
1,
140,
EMPTY_LEAF,
/* [140] -> opcode range [65536, 65792], node depth 9 */
1,
143,
EMPTY_LEAF,
/* [143] -> opcode range [65536, 65664], node depth 10 */
1,
146,
EMPTY_LEAF,
/* [146] -> opcode range [65536, 65600], node depth 11 */
1,
149,
EMPTY_LEAF,
/* [149] -> opcode range [65536, 65568], node depth 12 */
1,
152,
EMPTY_LEAF,
/* [152] -> opcode range [65536, 65552], node depth 13 */
/* [119] -> opcode range [5152, 5168], node depth 11 */
1,
LEAF(72),
EMPTY_LEAF,
/* [122] -> opcode range [65536, 98304], node depth 2 */
1,
125,
EMPTY_LEAF,
/* [125] -> opcode range [65536, 81920], node depth 3 */
1,
128,
EMPTY_LEAF,
/* [128] -> opcode range [65536, 73728], node depth 4 */
1,
131,
EMPTY_LEAF,
/* [131] -> opcode range [65536, 69632], node depth 5 */
1,
134,
EMPTY_LEAF,
/* [134] -> opcode range [65536, 67584], node depth 6 */
1,
137,
EMPTY_LEAF,
/* [137] -> opcode range [65536, 66560], node depth 7 */
1,
140,
EMPTY_LEAF,
/* [140] -> opcode range [65536, 66048], node depth 8 */
1,
143,
EMPTY_LEAF,
/* [143] -> opcode range [65536, 65792], node depth 9 */
1,
146,
EMPTY_LEAF,
/* [146] -> opcode range [65536, 65664], node depth 10 */
1,
149,
EMPTY_LEAF,
/* [149] -> opcode range [65536, 65600], node depth 11 */
1,
152,
EMPTY_LEAF,
/* [152] -> opcode range [65536, 65568], node depth 12 */
1,
155,
EMPTY_LEAF,
/* [155] -> opcode range [65536, 65552], node depth 13 */
1,
LEAF(80),
EMPTY_LEAF,
};
static const void *VendorPriv_function_table[80][2] = {
static const void *VendorPriv_function_table[88][2] = {
/* [ 0] = 8 */ {NULL, NULL},
/* [ 1] = 9 */ {NULL, NULL},
/* [ 2] = 10 */ {NULL, NULL},
@ -1501,70 +1506,78 @@ static const void *VendorPriv_function_table[80][2] = {
/* [ 13] = 1029 */ {NULL, NULL},
/* [ 14] = 1030 */ {NULL, NULL},
/* [ 15] = 1031 */ {NULL, NULL},
/* [ 16] = 1288 */ {NULL, NULL},
/* [ 17] = 1289 */ {NULL, NULL},
/* [ 18] = 1290 */ {NULL, NULL},
/* [ 19] = 1291 */ {NULL, NULL},
/* [ 20] = 1292 */ {NULL, NULL},
/* [ 21] = 1293 */ {__glXDisp_AreProgramsResidentNV, __glXDispSwap_AreProgramsResidentNV},
/* [ 22] = 1294 */ {__glXDisp_DeleteProgramsNV, __glXDispSwap_DeleteProgramsNV},
/* [ 23] = 1295 */ {__glXDisp_GenProgramsNV, __glXDispSwap_GenProgramsNV},
/* [ 24] = 1296 */ {__glXDisp_GetProgramEnvParameterfvARB, __glXDispSwap_GetProgramEnvParameterfvARB},
/* [ 25] = 1297 */ {__glXDisp_GetProgramEnvParameterdvARB, __glXDispSwap_GetProgramEnvParameterdvARB},
/* [ 26] = 1298 */ {__glXDisp_GetProgramivNV, __glXDispSwap_GetProgramivNV},
/* [ 27] = 1299 */ {__glXDisp_GetProgramStringNV, __glXDispSwap_GetProgramStringNV},
/* [ 28] = 1300 */ {__glXDisp_GetTrackMatrixivNV, __glXDispSwap_GetTrackMatrixivNV},
/* [ 29] = 1301 */ {__glXDisp_GetVertexAttribdvARB, __glXDispSwap_GetVertexAttribdvARB},
/* [ 30] = 1302 */ {__glXDisp_GetVertexAttribfvNV, __glXDispSwap_GetVertexAttribfvNV},
/* [ 31] = 1303 */ {__glXDisp_GetVertexAttribivNV, __glXDispSwap_GetVertexAttribivNV},
/* [ 32] = 1304 */ {__glXDisp_IsProgramNV, __glXDispSwap_IsProgramNV},
/* [ 33] = 1305 */ {__glXDisp_GetProgramLocalParameterfvARB, __glXDispSwap_GetProgramLocalParameterfvARB},
/* [ 34] = 1306 */ {__glXDisp_GetProgramLocalParameterdvARB, __glXDispSwap_GetProgramLocalParameterdvARB},
/* [ 35] = 1307 */ {__glXDisp_GetProgramivARB, __glXDispSwap_GetProgramivARB},
/* [ 36] = 1308 */ {__glXDisp_GetProgramStringARB, __glXDispSwap_GetProgramStringARB},
/* [ 37] = 1309 */ {NULL, NULL},
/* [ 38] = 1310 */ {__glXDisp_GetProgramNamedParameterfvNV, __glXDispSwap_GetProgramNamedParameterfvNV},
/* [ 39] = 1311 */ {__glXDisp_GetProgramNamedParameterdvNV, __glXDispSwap_GetProgramNamedParameterdvNV},
/* [ 40] = 1416 */ {NULL, NULL},
/* [ 41] = 1417 */ {NULL, NULL},
/* [ 42] = 1418 */ {NULL, NULL},
/* [ 43] = 1419 */ {NULL, NULL},
/* [ 44] = 1420 */ {NULL, NULL},
/* [ 45] = 1421 */ {NULL, NULL},
/* [ 46] = 1422 */ {__glXDisp_IsRenderbufferEXT, __glXDispSwap_IsRenderbufferEXT},
/* [ 47] = 1423 */ {__glXDisp_GenRenderbuffersEXT, __glXDispSwap_GenRenderbuffersEXT},
/* [ 48] = 1424 */ {__glXDisp_GetRenderbufferParameterivEXT, __glXDispSwap_GetRenderbufferParameterivEXT},
/* [ 49] = 1425 */ {__glXDisp_IsFramebufferEXT, __glXDispSwap_IsFramebufferEXT},
/* [ 50] = 1426 */ {__glXDisp_GenFramebuffersEXT, __glXDispSwap_GenFramebuffersEXT},
/* [ 51] = 1427 */ {__glXDisp_CheckFramebufferStatusEXT, __glXDispSwap_CheckFramebufferStatusEXT},
/* [ 52] = 1428 */ {__glXDisp_GetFramebufferAttachmentParameterivEXT, __glXDispSwap_GetFramebufferAttachmentParameterivEXT},
/* [ 53] = 1429 */ {NULL, NULL},
/* [ 54] = 1430 */ {NULL, NULL},
/* [ 55] = 1431 */ {NULL, NULL},
/* [ 56] = 4096 */ {NULL, NULL},
/* [ 57] = 4097 */ {NULL, NULL},
/* [ 58] = 4098 */ {__glXDisp_GetColorTableSGI, __glXDispSwap_GetColorTableSGI},
/* [ 59] = 4099 */ {__glXDisp_GetColorTableParameterfvSGI, __glXDispSwap_GetColorTableParameterfvSGI},
/* [ 60] = 4100 */ {__glXDisp_GetColorTableParameterivSGI, __glXDispSwap_GetColorTableParameterivSGI},
/* [ 61] = 4101 */ {NULL, NULL},
/* [ 62] = 4102 */ {NULL, NULL},
/* [ 63] = 4103 */ {NULL, NULL},
/* [ 64] = 5152 */ {__glXDisp_BindTexImageEXT, __glXDispSwap_BindTexImageEXT},
/* [ 65] = 5153 */ {__glXDisp_ReleaseTexImageEXT, __glXDispSwap_ReleaseTexImageEXT},
/* [ 66] = 5154 */ {__glXDisp_CopySubBufferMESA, __glXDispSwap_CopySubBufferMESA},
/* [ 67] = 5155 */ {NULL, NULL},
/* [ 68] = 5156 */ {NULL, NULL},
/* [ 69] = 5157 */ {NULL, NULL},
/* [ 70] = 5158 */ {NULL, NULL},
/* [ 71] = 5159 */ {NULL, NULL},
/* [ 72] = 65536 */ {__glXDisp_SwapIntervalSGI, __glXDispSwap_SwapIntervalSGI},
/* [ 73] = 65537 */ {__glXDisp_MakeCurrentReadSGI, __glXDispSwap_MakeCurrentReadSGI},
/* [ 74] = 65538 */ {NULL, NULL},
/* [ 75] = 65539 */ {NULL, NULL},
/* [ 76] = 65540 */ {__glXDisp_GetFBConfigsSGIX, __glXDispSwap_GetFBConfigsSGIX},
/* [ 77] = 65541 */ {__glXDisp_CreateContextWithConfigSGIX, __glXDispSwap_CreateContextWithConfigSGIX},
/* [ 78] = 65542 */ {__glXDisp_CreateGLXPixmapWithConfigSGIX, __glXDispSwap_CreateGLXPixmapWithConfigSGIX},
/* [ 79] = 65543 */ {NULL, NULL},
/* [ 16] = 1296 */ {__glXDisp_GetProgramEnvParameterfvARB, __glXDispSwap_GetProgramEnvParameterfvARB},
/* [ 17] = 1297 */ {__glXDisp_GetProgramEnvParameterdvARB, __glXDispSwap_GetProgramEnvParameterdvARB},
/* [ 18] = 1298 */ {__glXDisp_GetProgramivNV, __glXDispSwap_GetProgramivNV},
/* [ 19] = 1299 */ {__glXDisp_GetProgramStringNV, __glXDispSwap_GetProgramStringNV},
/* [ 20] = 1300 */ {__glXDisp_GetTrackMatrixivNV, __glXDispSwap_GetTrackMatrixivNV},
/* [ 21] = 1301 */ {__glXDisp_GetVertexAttribdvARB, __glXDispSwap_GetVertexAttribdvARB},
/* [ 22] = 1302 */ {__glXDisp_GetVertexAttribfvNV, __glXDispSwap_GetVertexAttribfvNV},
/* [ 23] = 1303 */ {__glXDisp_GetVertexAttribivNV, __glXDispSwap_GetVertexAttribivNV},
/* [ 24] = 1304 */ {__glXDisp_IsProgramNV, __glXDispSwap_IsProgramNV},
/* [ 25] = 1305 */ {__glXDisp_GetProgramLocalParameterfvARB, __glXDispSwap_GetProgramLocalParameterfvARB},
/* [ 26] = 1306 */ {__glXDisp_GetProgramLocalParameterdvARB, __glXDispSwap_GetProgramLocalParameterdvARB},
/* [ 27] = 1307 */ {__glXDisp_GetProgramivARB, __glXDispSwap_GetProgramivARB},
/* [ 28] = 1308 */ {__glXDisp_GetProgramStringARB, __glXDispSwap_GetProgramStringARB},
/* [ 29] = 1309 */ {NULL, NULL},
/* [ 30] = 1310 */ {__glXDisp_GetProgramNamedParameterfvNV, __glXDispSwap_GetProgramNamedParameterfvNV},
/* [ 31] = 1311 */ {__glXDisp_GetProgramNamedParameterdvNV, __glXDispSwap_GetProgramNamedParameterdvNV},
/* [ 32] = 1288 */ {NULL, NULL},
/* [ 33] = 1289 */ {NULL, NULL},
/* [ 34] = 1290 */ {NULL, NULL},
/* [ 35] = 1291 */ {NULL, NULL},
/* [ 36] = 1292 */ {NULL, NULL},
/* [ 37] = 1293 */ {__glXDisp_AreProgramsResidentNV, __glXDispSwap_AreProgramsResidentNV},
/* [ 38] = 1294 */ {__glXDisp_DeleteProgramsNV, __glXDispSwap_DeleteProgramsNV},
/* [ 39] = 1295 */ {__glXDisp_GenProgramsNV, __glXDispSwap_GenProgramsNV},
/* [ 40] = 1328 */ {NULL, NULL},
/* [ 41] = 1329 */ {NULL, NULL},
/* [ 42] = 1330 */ {__glXDisp_BindTexImageEXT, __glXDispSwap_BindTexImageEXT},
/* [ 43] = 1331 */ {__glXDisp_ReleaseTexImageEXT, __glXDispSwap_ReleaseTexImageEXT},
/* [ 44] = 1332 */ {NULL, NULL},
/* [ 45] = 1333 */ {NULL, NULL},
/* [ 46] = 1334 */ {NULL, NULL},
/* [ 47] = 1335 */ {NULL, NULL},
/* [ 48] = 1416 */ {NULL, NULL},
/* [ 49] = 1417 */ {NULL, NULL},
/* [ 50] = 1418 */ {NULL, NULL},
/* [ 51] = 1419 */ {NULL, NULL},
/* [ 52] = 1420 */ {NULL, NULL},
/* [ 53] = 1421 */ {NULL, NULL},
/* [ 54] = 1422 */ {__glXDisp_IsRenderbufferEXT, __glXDispSwap_IsRenderbufferEXT},
/* [ 55] = 1423 */ {__glXDisp_GenRenderbuffersEXT, __glXDispSwap_GenRenderbuffersEXT},
/* [ 56] = 1424 */ {__glXDisp_GetRenderbufferParameterivEXT, __glXDispSwap_GetRenderbufferParameterivEXT},
/* [ 57] = 1425 */ {__glXDisp_IsFramebufferEXT, __glXDispSwap_IsFramebufferEXT},
/* [ 58] = 1426 */ {__glXDisp_GenFramebuffersEXT, __glXDispSwap_GenFramebuffersEXT},
/* [ 59] = 1427 */ {__glXDisp_CheckFramebufferStatusEXT, __glXDispSwap_CheckFramebufferStatusEXT},
/* [ 60] = 1428 */ {__glXDisp_GetFramebufferAttachmentParameterivEXT, __glXDispSwap_GetFramebufferAttachmentParameterivEXT},
/* [ 61] = 1429 */ {NULL, NULL},
/* [ 62] = 1430 */ {NULL, NULL},
/* [ 63] = 1431 */ {NULL, NULL},
/* [ 64] = 4096 */ {NULL, NULL},
/* [ 65] = 4097 */ {NULL, NULL},
/* [ 66] = 4098 */ {__glXDisp_GetColorTableSGI, __glXDispSwap_GetColorTableSGI},
/* [ 67] = 4099 */ {__glXDisp_GetColorTableParameterfvSGI, __glXDispSwap_GetColorTableParameterfvSGI},
/* [ 68] = 4100 */ {__glXDisp_GetColorTableParameterivSGI, __glXDispSwap_GetColorTableParameterivSGI},
/* [ 69] = 4101 */ {NULL, NULL},
/* [ 70] = 4102 */ {NULL, NULL},
/* [ 71] = 4103 */ {NULL, NULL},
/* [ 72] = 5152 */ {NULL, NULL},
/* [ 73] = 5153 */ {NULL, NULL},
/* [ 74] = 5154 */ {__glXDisp_CopySubBufferMESA, __glXDispSwap_CopySubBufferMESA},
/* [ 75] = 5155 */ {NULL, NULL},
/* [ 76] = 5156 */ {NULL, NULL},
/* [ 77] = 5157 */ {NULL, NULL},
/* [ 78] = 5158 */ {NULL, NULL},
/* [ 79] = 5159 */ {NULL, NULL},
/* [ 80] = 65536 */ {__glXDisp_SwapIntervalSGI, __glXDispSwap_SwapIntervalSGI},
/* [ 81] = 65537 */ {__glXDisp_MakeCurrentReadSGI, __glXDispSwap_MakeCurrentReadSGI},
/* [ 82] = 65538 */ {NULL, NULL},
/* [ 83] = 65539 */ {NULL, NULL},
/* [ 84] = 65540 */ {__glXDisp_GetFBConfigsSGIX, __glXDispSwap_GetFBConfigsSGIX},
/* [ 85] = 65541 */ {__glXDisp_CreateContextWithConfigSGIX, __glXDispSwap_CreateContextWithConfigSGIX},
/* [ 86] = 65542 */ {__glXDisp_CreateGLXPixmapWithConfigSGIX, __glXDispSwap_CreateGLXPixmapWithConfigSGIX},
/* [ 87] = 65543 */ {NULL, NULL},
};
const struct __glXDispatchInfo VendorPriv_dispatch_info = {

View File

@ -45,8 +45,8 @@
#include "inputstr.h"
#include "servermd.h"
#define _FONTCACHE_SERVER_
#include "fontcacheP.h"
#include "fontcachstr.h"
#include <X11/extensions/fontcacheP.h>
#include <X11/extensions/fontcachstr.h>
#include <X11/Xfuncproto.h>
#include "swaprep.h"

View File

@ -68,7 +68,7 @@ fbPutImage (DrawablePtr pDrawable,
break;
case XYPixmap:
srcStride = BitmapBytePad(w + leftPad) / sizeof (FbStip);
for (i = 1 << (pDrawable->depth - 1); i; i >>= 1)
for (i = (unsigned long)1 << (pDrawable->depth - 1); i; i >>= 1)
{
if (i & pGC->planemask)
{

View File

@ -83,6 +83,7 @@ Xdmx_LDADD = $(XORG_CORE_LIBS) \
Xdmx_CFLAGS = \
-DHAVE_DMX_CONFIG_H \
$(DIX_CFLAGS) \
$(GLX_INCS) \
$(GLX_DEFS) \
@DMXMODULES_CFLAGS@

View File

@ -51,6 +51,10 @@
#ifndef DMX_H
#define DMX_H
#if HAVE_DMX_CONFIG_H
#include <dmx-config.h>
#endif
#include "gcstruct.h"
/* Handle client-side include files in one place. */

View File

@ -36,6 +36,12 @@
#ifndef _XF86_H
#define _XF86_H
#if HAVE_XORG_CONFIG_H
#include <xorg-config.h>
#elif HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
#include "xf86str.h"
#include "xf86Opt.h"
#include <X11/Xfuncproto.h>

View File

@ -83,7 +83,13 @@ static pciBusFuncs_t linuxFuncs0 = {
/* pciAddrBusToHost */ linuxPpcBusAddrToHostAddr,
#else
/* pciAddrHostToBus */ pciAddrNOOP,
/* linuxTransAddrBusToHost is busted on sparc64 but the PCI rework tree
* makes it all moot, so we kludge it for now */
#if defined(__sparc64__)
/* pciAddrBusToHost */ pciAddrNOOP,
#else
/* pciAddrBusToHost */ linuxTransAddrBusToHost,
#endif /* __sparc64__ */
#endif
/* pciControlBridge */ NULL,

View File

@ -1,5 +1,8 @@
if INSTALL_LIBXF86CONFIG
lib_LIBRARIES = libxf86config.a
LIBHEADERS = \
xf86Optrec.h \
xf86Parser.h
else
noinst_LIBRARIES = libxf86config.a
endif
@ -32,3 +35,6 @@ EXTRA_DIST = \
xf86Parser.h \
xf86tokens.h \
cpconfig.c
sdk_HEADERS = \
$(LIBHEADERS)

View File

@ -675,7 +675,7 @@ xf86printMonitorSection (FILE * cf, XF86ConfMonitorPtr ptr)
ptr->mon_width,
ptr->mon_height);
if ( ptr->mon_n_hsync || ptr->mon_n_vrefresh )
fprintf(cf," ### Comment all HorizSync and VertSync values to use DDC:\n");
fprintf(cf," ### Comment all HorizSync and VertRefresh values to use DDC:\n");
for (i = 0; i < ptr->mon_n_hsync; i++)
{
fprintf (cf, "\tHorizSync %2.1f - %2.1f\n",

View File

@ -51,7 +51,7 @@ Xnest_LDFLAGS =
AM_CFLAGS = -DHAVE_XNEST_CONFIG_H \
-DNO_HW_ONLY_EXTS \
\
$(DIX_CFLAGS) \
$(XNESTMODULES_CFLAGS)
EXTRA_DIST = os2Stub.c \

View File

@ -1,3 +1,4 @@
xpcdir = @xpconfigdir@/C/print/models/PS2PDFspooldir-GS
dist_xpc_DATA = model-config ps2pdf_spooltodir.sh
dist_xpc_DATA = model-config
dist_xpc_SCRIPTS = ps2pdf_spooltodir.sh

View File

@ -1,3 +1,4 @@
xpcdir = @xpconfigdir@/C/print/models/PSspooldir
dist_xpc_DATA = model-config spooltodir.sh
dist_xpc_DATA = model-config
dist_xpc_SCRIPTS = spooltodir.sh

View File

@ -709,4 +709,4 @@ install-data-local: remove-links
uninstall-hook: remove-links
EXTRA_DIST = README
dist_xpconfig_DATA = README

View File

@ -4,7 +4,7 @@
applications to use devices like printers, FAX or create
documents in formats like PostScript, PCL or PDF. It may be used by
clients such as <span class="application">mozilla</span>.
</p><p>Xprint is a very flexible, extensible, scaleable, client/server
</p><p>Xprint is a very flexible, extensible, scalable, client/server
print system based on ISO 10175 (and some other specs) and the X11
rendering protocol.
Using Xprint an application can search, query and use devices like
@ -44,11 +44,11 @@
font databases.</p></dd><dt><span class="term"><tt class="option">-pn</tt></span></dt><dd><p>permits the server to continue running if it fails to
establish all of its well-known sockets (connection
points for clients), but establishes at least
one.</p></dd><dt><span class="term"><tt class="option">-XpFile <i class="replaceable"><tt>file</tt></i></tt></span></dt><dd><p>Sets an altername Xprinters file (see section FILES).</p></dd><dt><span class="term"><tt class="option">-XpSpoolerType <i class="replaceable"><tt>spoolername</tt></i></tt></span></dt><dd xmlns:ns2=""><p>
one.</p></dd><dt><span class="term"><tt class="option">-XpFile <i class="replaceable"><tt>file</tt></i></tt></span></dt><dd><p>Sets an alternate Xprinters file (see section FILES).</p></dd><dt><span class="term"><tt class="option">-XpSpoolerType <i class="replaceable"><tt>spoolername</tt></i></tt></span></dt><dd xmlns:ns2=""><p>
Defines the spooler system to be used for print job spooling.
Supported values in xprint.mozdev.org release 009 are:
</p><table class="simplelist" border="0" summary="Simple list"><tr><td>aix</td></tr><tr><td>aix4</td></tr><tr><td>bsd</td></tr><tr><td>osf</td></tr><tr><td>solaris</td></tr><tr><td>sysv</td></tr><tr><td>uxp</td></tr><tr><td>cups</td></tr><tr><td>lprng</td></tr><tr><td>other</td></tr><tr><td>none</td></tr></table><p>
(multiple values can be specified, seperated by ':', the first active spooler will be chosen).
(multiple values can be specified, separated by ':', the first active spooler will be chosen).
The default value is platform-specific and can be obtained via
</p><pre class="programlisting">Xprt -h</pre><p>.
</p></dd></dl></div></div><div xmlns:ns3="" class="refsect1" lang="en"><a name="id2805336"></a><h2>ENVIRONMENT</h2><p>

View File

@ -20,7 +20,7 @@ applications to use devices like printers, FAX or create
documents in formats like PostScript, PCL or PDF. It may be used by
clients such as mozilla.
.PP
Xprint is a very flexible, extensible, scaleable, client/server
Xprint is a very flexible, extensible, scalable, client/server
print system based on ISO 10175 (and some other specs) and the X11
rendering protocol.
Using Xprint an application can search, query and use devices like
@ -85,7 +85,7 @@ points for clients), but establishes at least
one.
.TP
\fB\-XpFile \fIfile\fB\fR
Sets an altername Xprinters file (see section FILES).
Sets an alternate Xprinters file (see section FILES).
.TP
\fB\-XpSpoolerType \fIspoolername\fB\fR
Defines the spooler system to be used for print job spooling.
@ -113,7 +113,7 @@ other
none
(multiple values can be specified, seperated by ':', the first active spooler will be chosen).
(multiple values can be specified, separated by ':', the first active spooler will be chosen).
The default value is platform-specific and can be obtained via
.nf

View File

@ -55,7 +55,7 @@ HTML generation can be done like this:
clients such as <application>mozilla</application>.
</para>
<para>Xprint is a very flexible, extensible, scaleable, client/server
<para>Xprint is a very flexible, extensible, scalable, client/server
print system based on ISO 10175 (and some other specs) and the X11
rendering protocol.
Using Xprint an application can search, query and use devices like
@ -155,7 +155,7 @@ HTML generation can be done like this:
<term><option>-XpFile <replaceable>file</replaceable></option>
</term>
<listitem>
<para>Sets an altername Xprinters file (see section FILES).</para>
<para>Sets an alternate Xprinters file (see section FILES).</para>
</listitem>
</varlistentry>
<varlistentry>
@ -178,7 +178,7 @@ HTML generation can be done like this:
<member>other</member>
<member>none</member>
</simplelist>
(multiple values can be specified, seperated by ':', the first active spooler will be chosen).
(multiple values can be specified, separated by ':', the first active spooler will be chosen).
The default value is platform-specific and can be obtained via
<programlisting>Xprt -h</programlisting>.
</para>

View File

@ -22,8 +22,8 @@
# Obtain list of Xprint servers
#
if [ -f "/etc/init.d/xprint" ] ; then
XPSERVERLIST="`/bin/sh /etc/init.d/xprint get_xpserverlist`"
if [ -x "/etc/init.d/xprint" ] ; then
XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"
export XPSERVERLIST
fi

View File

@ -32,6 +32,10 @@ in this Software without prior written authorization from The Open Group.
*
*/
#if HAVE_DIX_CONFIG_H
#include <dix-config.h>
#endif
# define NEED_EVENTS
# include <X11/X.h>
# include <X11/Xmd.h>

View File

@ -1459,18 +1459,25 @@ SetPictureClipRegion (PicturePtr pPicture,
return result;
}
static Bool
transformIsIdentity(PictTransform *t)
{
return ((t->matrix[0][0] == t->matrix[1][1]) &&
(t->matrix[0][0] == t->matrix[2][2]) &&
(t->matrix[0][0] != 0) &&
(t->matrix[0][1] == 0) &&
(t->matrix[0][2] == 0) &&
(t->matrix[1][0] == 0) &&
(t->matrix[1][2] == 0) &&
(t->matrix[2][0] == 0) &&
(t->matrix[2][1] == 0));
}
int
SetPictureTransform (PicturePtr pPicture,
PictTransform *transform)
{
static const PictTransform identity = { {
{ xFixed1, 0x00000, 0x00000 },
{ 0x00000, xFixed1, 0x00000 },
{ 0x00000, 0x00000, xFixed1 },
} };
if (transform && memcmp (transform, &identity, sizeof (PictTransform)) == 0)
if (transform && transformIsIdentity (transform))
transform = 0;
if (transform)