Compare commits
4 Commits
scaling-mr
...
XEVIE
Author | SHA1 | Date |
---|---|---|
Egbert Eich | c6c51e2b3b | |
Egbert Eich | b58d2e37a7 | |
Stuart Kreitman | 0b0cd46792 | |
Stuart Kreitman | 15bedbec50 |
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/g_disptab.c,v 1.4 2003/09/28 20:15:41 alanh Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/g_disptab.c,v 1.6 2004/02/12 02:25:00 torrey Exp $ */
|
||||
/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */
|
||||
/*
|
||||
** License Applicability. Except to the extent portions of this file are
|
||||
|
@ -425,8 +425,12 @@ __GLXdispatchRenderProcPtr __glXRenderTable[] = {
|
|||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXDisp_SampleCoverageARB,
|
||||
#ifndef MISSING_GL_EXTS
|
||||
__glXDisp_WindowPos3fARB /* 230 */
|
||||
#else
|
||||
__glXNoSuchRenderOpcode
|
||||
#endif
|
||||
};
|
||||
|
||||
__GLXdispatchSingleProcPtr __glXSwapSingleTable[__GLX_SINGLE_TABLE_SIZE] = {
|
||||
|
@ -822,6 +826,10 @@ __GLXdispatchRenderProcPtr __glXSwapRenderTable[__GLX_RENDER_TABLE_SIZE] = {
|
|||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXDispSwap_SampleCoverageARB,
|
||||
#ifndef MISSING_GL_EXTS
|
||||
__glXDispSwap_WindowPos3fARB /* 230 */
|
||||
#else
|
||||
__glXNoSuchRenderOpcode
|
||||
#endif
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/g_disptab.h,v 1.4 2003/09/28 20:15:42 alanh Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/g_disptab.h,v 1.5 2004/01/28 18:11:50 alanh Exp $ */
|
||||
/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */
|
||||
#ifndef _GLX_g_disptab_h_
|
||||
#define _GLX_g_disptab_h_
|
||||
|
@ -325,6 +325,7 @@ extern void __glXDisp_MultiTexCoord4dvARB(GLbyte*);
|
|||
extern void __glXDisp_MultiTexCoord4fvARB(GLbyte*);
|
||||
extern void __glXDisp_MultiTexCoord4ivARB(GLbyte*);
|
||||
extern void __glXDisp_MultiTexCoord4svARB(GLbyte*);
|
||||
extern void __glXDisp_SampleCoverageARB(GLbyte *);
|
||||
extern void __glXDisp_WindowPos3fARB(GLbyte *);
|
||||
|
||||
extern int __glXSwapRender(__GLXclientState*, GLbyte*);
|
||||
|
@ -621,6 +622,7 @@ extern void __glXDispSwap_MultiTexCoord4dvARB(GLbyte*);
|
|||
extern void __glXDispSwap_MultiTexCoord4fvARB(GLbyte*);
|
||||
extern void __glXDispSwap_MultiTexCoord4ivARB(GLbyte*);
|
||||
extern void __glXDispSwap_MultiTexCoord4svARB(GLbyte*);
|
||||
extern void __glXDispSwap_SampleCoverageARB(GLbyte *);
|
||||
extern void __glXDispSwap_WindowPos3fARB(GLbyte *);
|
||||
|
||||
#define __GLX_MIN_GLXCMD_OPCODE 1
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/g_disptab_EXT.c,v 1.4 2003/09/28 20:15:42 alanh Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/g_disptab_EXT.c,v 1.6 2004/02/12 02:25:00 torrey Exp $ */
|
||||
/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */
|
||||
/*
|
||||
** License Applicability. Except to the extent portions of this file are
|
||||
|
@ -45,8 +45,13 @@ __GLXdispatchRenderProcPtr __glXRenderTable_EXT[__GLX_MAX_RENDER_OPCODE_EXT - __
|
|||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
#ifndef MISSING_GL_EXTS
|
||||
__glXDisp_PointParameterfARB, /* 2065 */
|
||||
__glXDisp_PointParameterfvARB, /* 2066 */
|
||||
#else
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
#endif
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
|
@ -2104,22 +2109,36 @@ __GLXdispatchRenderProcPtr __glXRenderTable_EXT[__GLX_MAX_RENDER_OPCODE_EXT - __
|
|||
__glXDisp_CopyTexSubImage1D, /* 4121 */
|
||||
__glXDisp_CopyTexSubImage2D, /* 4122 */
|
||||
__glXDisp_CopyTexSubImage3D, /* 4123 */
|
||||
__glXNoSuchRenderOpcode, /* 4124 */
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode, /* 4130 */
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
#ifndef MISSING_GL_EXTS
|
||||
__glXDisp_FogCoordfv, /* 4124 */
|
||||
__glXDisp_FogCoorddv, /* 4125 */
|
||||
__glXDisp_SecondaryColor3bv, /* 4126 */
|
||||
__glXDisp_SecondaryColor3sv, /* 4127 */
|
||||
__glXDisp_SecondaryColor3iv, /* 4128 */
|
||||
__glXDisp_SecondaryColor3fv, /* 4129 */
|
||||
__glXDisp_SecondaryColor3dv, /* 4130 */
|
||||
__glXDisp_SecondaryColor3ubv, /* 4131 */
|
||||
__glXDisp_SecondaryColor3usv, /* 4132 */
|
||||
__glXDisp_SecondaryColor3uiv, /* 4133 */
|
||||
__glXDisp_BlendFuncSeparate, /* 4134 */
|
||||
#else
|
||||
__glXNoSuchRenderOpcode, /* 4124 */
|
||||
__glXNoSuchRenderOpcode, /* 4125 */
|
||||
__glXNoSuchRenderOpcode, /* 4126 */
|
||||
__glXNoSuchRenderOpcode, /* 4127 */
|
||||
__glXNoSuchRenderOpcode, /* 4128 */
|
||||
__glXNoSuchRenderOpcode, /* 4129 */
|
||||
__glXNoSuchRenderOpcode, /* 4130 */
|
||||
__glXNoSuchRenderOpcode, /* 4131 */
|
||||
__glXNoSuchRenderOpcode, /* 4132 */
|
||||
__glXNoSuchRenderOpcode, /* 4133 */
|
||||
__glXNoSuchRenderOpcode, /* 4134 */
|
||||
#endif
|
||||
__glXNoSuchRenderOpcode, /* 4135 */
|
||||
__glXNoSuchRenderOpcode, /* 4136 */
|
||||
__glXNoSuchRenderOpcode, /* 4137 */
|
||||
__glXNoSuchRenderOpcode, /* 4138 */
|
||||
__glXNoSuchRenderOpcode, /* 4139 */
|
||||
__glXNoSuchRenderOpcode, /* 4140 */
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
|
@ -2200,7 +2219,20 @@ __GLXdispatchRenderProcPtr __glXRenderTable_EXT[__GLX_MAX_RENDER_OPCODE_EXT - __
|
|||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode, /* 4219 */
|
||||
#ifndef MISSING_GL_EXTS
|
||||
__glXDisp_ActiveStencilFaceEXT, /* 4220 */
|
||||
# ifndef __DARWIN__
|
||||
__glXDisp_PointParameteri, /* 4221 */
|
||||
__glXDisp_PointParameteriv, /* 4222 */
|
||||
# else
|
||||
__glXDisp_PointParameteriNV, /* 4221 */
|
||||
__glXDisp_PointParameterivNV, /* 4222 */
|
||||
# endif
|
||||
#else
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
#endif
|
||||
};
|
||||
__GLXdispatchVendorPrivProcPtr __glXVendorPrivTable_EXT[__GLX_MAX_VENDPRIV_OPCODE_EXT - __GLX_MIN_VENDPRIV_OPCODE_EXT + 1] = {
|
||||
__glXDisp_AreTexturesResidentEXT, /* 11 */
|
||||
|
@ -2223,8 +2255,13 @@ __GLXdispatchRenderProcPtr __glXSwapRenderTable_EXT[__GLX_MAX_RENDER_OPCODE_EXT
|
|||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
#ifndef MISSING_GL_EXTS
|
||||
__glXDispSwap_PointParameterfARB, /* 2065 */
|
||||
__glXDispSwap_PointParameterfvARB, /* 2066 */
|
||||
#else
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
#endif
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
|
@ -4282,22 +4319,36 @@ __GLXdispatchRenderProcPtr __glXSwapRenderTable_EXT[__GLX_MAX_RENDER_OPCODE_EXT
|
|||
__glXDispSwap_CopyTexSubImage1D, /* 4121 */
|
||||
__glXDispSwap_CopyTexSubImage2D, /* 4122 */
|
||||
__glXDispSwap_CopyTexSubImage3D, /* 4123 */
|
||||
__glXNoSuchRenderOpcode, /* 4124 */
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode, /* 4130 */
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
#ifndef MISSING_GL_EXTS
|
||||
__glXDispSwap_FogCoordfv, /* 4124 */
|
||||
__glXDispSwap_FogCoorddv, /* 4125 */
|
||||
__glXDispSwap_SecondaryColor3bv, /* 4126 */
|
||||
__glXDispSwap_SecondaryColor3sv, /* 4127 */
|
||||
__glXDispSwap_SecondaryColor3iv, /* 4128 */
|
||||
__glXDispSwap_SecondaryColor3fv, /* 4129 */
|
||||
__glXDispSwap_SecondaryColor3dv, /* 4130 */
|
||||
__glXDispSwap_SecondaryColor3ubv, /* 4131 */
|
||||
__glXDispSwap_SecondaryColor3usv, /* 4132 */
|
||||
__glXDispSwap_SecondaryColor3uiv, /* 4133 */
|
||||
__glXDisp_BlendFuncSeparate, /* 4134 */
|
||||
#else
|
||||
__glXNoSuchRenderOpcode, /* 4124 */
|
||||
__glXNoSuchRenderOpcode, /* 4125 */
|
||||
__glXNoSuchRenderOpcode, /* 4126 */
|
||||
__glXNoSuchRenderOpcode, /* 4127 */
|
||||
__glXNoSuchRenderOpcode, /* 4128 */
|
||||
__glXNoSuchRenderOpcode, /* 4129 */
|
||||
__glXNoSuchRenderOpcode, /* 4130 */
|
||||
__glXNoSuchRenderOpcode, /* 4131 */
|
||||
__glXNoSuchRenderOpcode, /* 4132 */
|
||||
__glXNoSuchRenderOpcode, /* 4133 */
|
||||
__glXNoSuchRenderOpcode, /* 4134 */
|
||||
#endif
|
||||
__glXNoSuchRenderOpcode, /* 4135 */
|
||||
__glXNoSuchRenderOpcode, /* 4136 */
|
||||
__glXNoSuchRenderOpcode, /* 4137 */
|
||||
__glXNoSuchRenderOpcode, /* 4138 */
|
||||
__glXNoSuchRenderOpcode, /* 4139 */
|
||||
__glXNoSuchRenderOpcode, /* 4140 */
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
|
@ -4378,7 +4429,20 @@ __GLXdispatchRenderProcPtr __glXSwapRenderTable_EXT[__GLX_MAX_RENDER_OPCODE_EXT
|
|||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode, /* 4219 */
|
||||
#ifndef MISSING_GL_EXTS
|
||||
__glXDispSwap_ActiveStencilFaceEXT, /* 4220 */
|
||||
# ifndef __DARWIN__
|
||||
__glXDispSwap_PointParameteri, /* 4221 */
|
||||
__glXDispSwap_PointParameteriv, /* 4222 */
|
||||
# else
|
||||
__glXDispSwap_PointParameteriNV, /* 4221 */
|
||||
__glXDispSwap_PointParameterivNV, /* 4222 */
|
||||
# endif
|
||||
#else
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
__glXNoSuchRenderOpcode,
|
||||
#endif
|
||||
};
|
||||
__GLXdispatchVendorPrivProcPtr __glXSwapVendorPrivTable_EXT[__GLX_MAX_VENDPRIV_OPCODE_EXT - __GLX_MIN_VENDPRIV_OPCODE_EXT + 1] = {
|
||||
__glXDispSwap_AreTexturesResidentEXT, /* 11 */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/g_disptab_EXT.h,v 1.4 2003/09/28 20:15:42 alanh Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/g_disptab_EXT.h,v 1.6 2004/02/12 02:25:01 torrey Exp $ */
|
||||
/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */
|
||||
#ifndef _GLX_g_disptab_EXT_h_
|
||||
#define _GLX_g_disptab_EXT_h_
|
||||
|
@ -69,6 +69,44 @@ extern void __glXDisp_CopyTexSubImage2D(GLbyte*);
|
|||
extern void __glXDisp_CopyTexSubImage3D(GLbyte*);
|
||||
extern void __glXDisp_PointParameterfARB(GLbyte*);
|
||||
extern void __glXDisp_PointParameterfvARB(GLbyte*);
|
||||
|
||||
extern void __glXDisp_FogCoordfv(GLbyte *);
|
||||
extern void __glXDisp_FogCoorddv(GLbyte *);
|
||||
extern void __glXDispSwap_FogCoordfv(GLbyte *);
|
||||
extern void __glXDispSwap_FogCoorddv(GLbyte *);
|
||||
|
||||
extern void __glXDisp_SecondaryColor3bv(GLbyte *);
|
||||
extern void __glXDisp_SecondaryColor3sv(GLbyte *);
|
||||
extern void __glXDisp_SecondaryColor3iv(GLbyte *);
|
||||
extern void __glXDisp_SecondaryColor3ubv(GLbyte *);
|
||||
extern void __glXDisp_SecondaryColor3usv(GLbyte *);
|
||||
extern void __glXDisp_SecondaryColor3uiv(GLbyte *);
|
||||
extern void __glXDisp_SecondaryColor3fv(GLbyte *);
|
||||
extern void __glXDisp_SecondaryColor3dv(GLbyte *);
|
||||
extern void __glXDispSwap_SecondaryColor3bv(GLbyte *);
|
||||
extern void __glXDispSwap_SecondaryColor3sv(GLbyte *);
|
||||
extern void __glXDispSwap_SecondaryColor3iv(GLbyte *);
|
||||
extern void __glXDispSwap_SecondaryColor3ubv(GLbyte *);
|
||||
extern void __glXDispSwap_SecondaryColor3usv(GLbyte *);
|
||||
extern void __glXDispSwap_SecondaryColor3uiv(GLbyte *);
|
||||
extern void __glXDispSwap_SecondaryColor3fv(GLbyte *);
|
||||
extern void __glXDispSwap_SecondaryColor3dv(GLbyte *);
|
||||
|
||||
extern void __glXDisp_BlendFuncSeparate(GLbyte *);
|
||||
extern void __glXDispSwap_BlendFuncSeparate(GLbyte *);
|
||||
|
||||
#ifdef __DARWIN__
|
||||
extern void __glXDisp_PointParameteriNV(GLbyte *);
|
||||
extern void __glXDisp_PointParameterivNV(GLbyte *);
|
||||
extern void __glXDispSwap_PointParameteriNV(GLbyte *);
|
||||
extern void __glXDispSwap_PointParameterivNV(GLbyte *);
|
||||
#else
|
||||
extern void __glXDisp_PointParameteri(GLbyte *);
|
||||
extern void __glXDisp_PointParameteriv(GLbyte *);
|
||||
extern void __glXDispSwap_PointParameteri(GLbyte *);
|
||||
extern void __glXDispSwap_PointParameteriv(GLbyte *);
|
||||
#endif
|
||||
|
||||
extern void __glXDisp_ActiveStencilFaceEXT(GLbyte*);
|
||||
|
||||
extern int __glXDispSwap_AreTexturesResidentEXT(__GLXclientState*, GLbyte*);
|
||||
|
@ -112,7 +150,7 @@ extern void __glXDispSwap_PointParameterfvARB(GLbyte*);
|
|||
extern void __glXDispSwap_ActiveStencilFaceEXT(GLbyte*);
|
||||
|
||||
#define __GLX_MIN_RENDER_OPCODE_EXT 2053
|
||||
#define __GLX_MAX_RENDER_OPCODE_EXT 4220
|
||||
#define __GLX_MAX_RENDER_OPCODE_EXT 4222
|
||||
#define __GLX_MIN_VENDPRIV_OPCODE_EXT 11
|
||||
#define __GLX_MAX_VENDPRIV_OPCODE_EXT 14
|
||||
#define __GLX_VENDPRIV_TABLE_SIZE_EXT (__GLX_MAX_VENDPRIV_OPCODE_EXT - __GLX_MIN_VENDPRIV_OPCODE_EXT + 1)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/g_render.c,v 1.6 2003/10/28 22:50:17 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/g_render.c,v 1.9 2004/02/12 02:25:01 torrey Exp $ */
|
||||
/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */
|
||||
/*
|
||||
** License Applicability. Except to the extent portions of this file are
|
||||
|
@ -59,6 +59,157 @@ void __glXDisp_Begin(GLbyte *pc)
|
|||
);
|
||||
}
|
||||
|
||||
#define __GLX_SWAP_GLbyte(ptr)
|
||||
#define __GLX_SWAP_GLshort(ptr) __GLX_SWAP_SHORT(ptr)
|
||||
#define __GLX_SWAP_GLint(ptr) __GLX_SWAP_INT(ptr)
|
||||
#define __GLX_SWAP_GLubyte(ptr)
|
||||
#define __GLX_SWAP_GLushort(ptr) __GLX_SWAP_SHORT(ptr)
|
||||
#define __GLX_SWAP_GLuint(ptr) __GLX_SWAP_INT(ptr)
|
||||
#define __GLX_SWAP_GLdouble(ptr) __GLX_SWAP_DOUBLE(ptr)
|
||||
#define __GLX_SWAP_GLfloat(ptr) __GLX_SWAP_FLOAT(ptr)
|
||||
|
||||
#define __GLX_SWAP_GLbyte_ARRAY(ptr,count) (void) swapEnd; (void) swapPC; (void) sw;
|
||||
#define __GLX_SWAP_GLshort_ARRAY(ptr,count) __GLX_SWAP_SHORT_ARRAY(ptr,count)
|
||||
#define __GLX_SWAP_GLint_ARRAY(ptr,count) __GLX_SWAP_INT_ARRAY(ptr,count)
|
||||
#define __GLX_SWAP_GLenum_ARRAY(ptr,count) __GLX_SWAP_INT_ARRAY(ptr,count)
|
||||
#define __GLX_SWAP_GLubyte_ARRAY(ptr,count) (void) swapEnd; (void) swapPC; (void) sw;
|
||||
#define __GLX_SWAP_GLushort_ARRAY(ptr,count) __GLX_SWAP_SHORT_ARRAY(ptr,count)
|
||||
#define __GLX_SWAP_GLuint_ARRAY(ptr,count) __GLX_SWAP_INT_ARRAY(ptr,count)
|
||||
#define __GLX_SWAP_GLdouble_ARRAY(ptr,count) __GLX_SWAP_DOUBLE_ARRAY(ptr,count)
|
||||
#define __GLX_SWAP_GLfloat_ARRAY(ptr,count) __GLX_SWAP_FLOAT_ARRAY(ptr,count)
|
||||
|
||||
#ifdef __GLX_ALIGN64
|
||||
/* If type is not GLdouble, the compiler should optimize this away.
|
||||
*/
|
||||
# define GLX_DO_ALIGN_MAGIC(count, type) \
|
||||
do { \
|
||||
if ( (sizeof(type) == 8) && ((unsigned long)(pc) & 7)) \
|
||||
{ \
|
||||
__GLX_MEM_COPY(pc-4, pc, (count * sizeof( type ) )); \
|
||||
pc -= 4; \
|
||||
} \
|
||||
} while( 0 )
|
||||
#else
|
||||
# define GLX_DO_ALIGN_MAGIC(count, type)
|
||||
#endif
|
||||
|
||||
#define dispatch_template_1( name, type ) \
|
||||
void __glXDisp_ ## name ( GLbyte * pc ) \
|
||||
{ \
|
||||
GLX_DO_ALIGN_MAGIC( 1, type ); \
|
||||
gl ## name ( (type *) pc ); \
|
||||
} \
|
||||
void __glXDispSwap_ ## name ( GLbyte * pc ) \
|
||||
{ \
|
||||
__GLX_DECLARE_SWAP_VARIABLES; \
|
||||
GLX_DO_ALIGN_MAGIC( 1, type ); \
|
||||
__GLX_SWAP_ ## type ( pc ); \
|
||||
gl ## name ( (type *) pc ); \
|
||||
}
|
||||
|
||||
#define dispatch_template_3( name, type ) \
|
||||
void __glXDisp_ ## name ( GLbyte * pc ) \
|
||||
{ \
|
||||
GLX_DO_ALIGN_MAGIC( 3, type ); \
|
||||
gl ## name ( (type *) pc ); \
|
||||
} \
|
||||
void __glXDispSwap_ ## name ( GLbyte * pc ) \
|
||||
{ \
|
||||
__GLX_DECLARE_SWAP_VARIABLES; \
|
||||
__GLX_DECLARE_SWAP_ARRAY_VARIABLES; \
|
||||
GLX_DO_ALIGN_MAGIC( 3, type ); \
|
||||
__GLX_SWAP_ ## type ## _ARRAY(pc, 3); \
|
||||
gl ## name ( (type *) pc ); \
|
||||
}
|
||||
|
||||
#define dispatch_template_4( name, type ) \
|
||||
void __glXDisp_ ## name ( GLbyte * pc ) \
|
||||
{ \
|
||||
GLX_DO_ALIGN_MAGIC( 4, type ); \
|
||||
gl ## name ( (type *) pc ); \
|
||||
} \
|
||||
void __glXDispSwap_ ## name ( GLbyte * pc ) \
|
||||
{ \
|
||||
__GLX_DECLARE_SWAP_VARIABLES; \
|
||||
__GLX_DECLARE_SWAP_ARRAY_VARIABLES; \
|
||||
GLX_DO_ALIGN_MAGIC( 4, type ); \
|
||||
__GLX_SWAP_ ## type ## _ARRAY(pc, 4); \
|
||||
gl ## name ( (type *) pc ); \
|
||||
}
|
||||
|
||||
#define dispatch_template_4s( name, type ) \
|
||||
void __glXDisp_ ## name ( GLbyte * pc ) \
|
||||
{ \
|
||||
GLX_DO_ALIGN_MAGIC( 4, type ); \
|
||||
gl ## name ( ((type *) pc)[0], ((type *) pc)[1], \
|
||||
((type *) pc)[2], ((type *) pc)[3] ); \
|
||||
} \
|
||||
void __glXDispSwap_ ## name ( GLbyte * pc ) \
|
||||
{ \
|
||||
__GLX_DECLARE_SWAP_VARIABLES; \
|
||||
__GLX_DECLARE_SWAP_ARRAY_VARIABLES; \
|
||||
GLX_DO_ALIGN_MAGIC( 4, type ); \
|
||||
__GLX_SWAP_ ## type ## _ARRAY(pc, 4); \
|
||||
gl ## name ( ((type *) pc)[0], ((type *) pc)[1], \
|
||||
((type *) pc)[2], ((type *) pc)[3] ); \
|
||||
}
|
||||
|
||||
/**
|
||||
* \bug All of the enum1 templates need to be updated to handle the case where
|
||||
* \c type is \c GLdouble. When the type is a double, the data comes before
|
||||
* the enum. This is also the reason the invocation of the
|
||||
* \c GLX_DO_ALIGN_MAGIC macro was removed.
|
||||
*/
|
||||
#define dispatch_template_enum1_1s( name, type ) \
|
||||
void __glXDisp_ ## name ( GLbyte * pc ) \
|
||||
{ \
|
||||
gl ## name ( *(GLenum *) (pc + 0), \
|
||||
*(type *) (pc + 4) ); \
|
||||
} \
|
||||
void __glXDispSwap_ ## name ( GLbyte * pc ) \
|
||||
{ \
|
||||
__GLX_DECLARE_SWAP_VARIABLES; \
|
||||
__GLX_SWAP_INT (pc + 0); \
|
||||
__GLX_SWAP_ ## type (pc + 4); \
|
||||
gl ## name ( *(GLenum *) (pc + 0), \
|
||||
*(type *) (pc + 4) ); \
|
||||
}
|
||||
|
||||
#define dispatch_template_enum1_Vv( name, type ) \
|
||||
void __glXDisp_ ## name ( GLbyte * pc ) \
|
||||
{ \
|
||||
gl ## name ( *(GLenum *) (pc + 0), \
|
||||
(type *) (pc + 4) ); \
|
||||
} \
|
||||
void __glXDispSwap_ ## name ( GLbyte * pc ) \
|
||||
{ \
|
||||
GLenum pname; GLint compsize; \
|
||||
__GLX_DECLARE_SWAP_VARIABLES; \
|
||||
__GLX_DECLARE_SWAP_ARRAY_VARIABLES; \
|
||||
__GLX_SWAP_INT(pc + 0); \
|
||||
pname = *(GLenum *)(pc + 0); \
|
||||
compsize = __gl ## name ## _size(pname); \
|
||||
if (compsize < 0) compsize = 0; \
|
||||
__GLX_SWAP_ ## type ## _ARRAY(pc + 4, compsize); \
|
||||
gl ## name ( *(GLenum *) (pc + 0), \
|
||||
(type *) (pc + 4) ); \
|
||||
}
|
||||
|
||||
#ifndef MISSING_GL_EXTS
|
||||
dispatch_template_1( FogCoordfv, GLfloat )
|
||||
dispatch_template_1( FogCoorddv, GLdouble )
|
||||
dispatch_template_3( SecondaryColor3bv, GLbyte )
|
||||
dispatch_template_3( SecondaryColor3sv, GLshort )
|
||||
dispatch_template_3( SecondaryColor3iv, GLint )
|
||||
dispatch_template_3( SecondaryColor3ubv, GLubyte )
|
||||
dispatch_template_3( SecondaryColor3usv, GLushort )
|
||||
dispatch_template_3( SecondaryColor3uiv, GLuint )
|
||||
dispatch_template_3( SecondaryColor3fv, GLfloat )
|
||||
dispatch_template_3( SecondaryColor3dv, GLdouble )
|
||||
|
||||
dispatch_template_4s( BlendFuncSeparate, GLenum )
|
||||
#endif /* !MISSING_GL_EXTS */
|
||||
|
||||
void __glXDisp_Color3bv(GLbyte *pc)
|
||||
{
|
||||
glColor3bv(
|
||||
|
@ -2079,6 +2230,8 @@ void __glXDisp_MultiTexCoord4svARB(GLbyte *pc)
|
|||
* Extensions
|
||||
*/
|
||||
|
||||
#ifndef MISSING_GL_EXTS
|
||||
|
||||
void __glXDisp_PointParameterfARB(GLbyte *pc)
|
||||
{
|
||||
glPointParameterfARB(
|
||||
|
@ -2096,6 +2249,15 @@ void __glXDisp_PointParameterfvARB(GLbyte *pc)
|
|||
);
|
||||
}
|
||||
|
||||
#ifdef __DARWIN__
|
||||
#define __glPointParameterivNV_size __glPointParameteriv_size
|
||||
dispatch_template_enum1_1s(PointParameteriNV, GLint)
|
||||
dispatch_template_enum1_Vv(PointParameterivNV, GLint)
|
||||
#else
|
||||
dispatch_template_enum1_1s(PointParameteri, GLint)
|
||||
dispatch_template_enum1_Vv(PointParameteriv, GLint)
|
||||
#endif
|
||||
|
||||
void __glXDisp_ActiveStencilFaceEXT(GLbyte *pc)
|
||||
{
|
||||
glActiveStencilFaceEXT(
|
||||
|
@ -2111,3 +2273,13 @@ void __glXDisp_WindowPos3fARB(GLbyte *pc)
|
|||
*(GLfloat *)(pc + 8)
|
||||
);
|
||||
}
|
||||
|
||||
#endif /* !MISSING_GL_EXTS */
|
||||
|
||||
void __glXDisp_SampleCoverageARB(GLbyte *pc)
|
||||
{
|
||||
glSampleCoverageARB(
|
||||
*(GLfloat *)(pc + 0),
|
||||
*(GLboolean *)(pc + 4)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/g_renderswap.c,v 1.7 2003/10/28 22:50:17 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/g_renderswap.c,v 1.9 2004/02/12 02:25:01 torrey Exp $ */
|
||||
/*
|
||||
** License Applicability. Except to the extent portions of this file are
|
||||
** made subject to an alternative license as permitted in the SGI Free
|
||||
|
@ -3313,6 +3313,8 @@ void __glXDispSwap_MultiTexCoord4svARB(GLbyte *pc)
|
|||
* Extensions
|
||||
*/
|
||||
|
||||
#ifndef MISSING_GL_EXTS
|
||||
|
||||
void __glXDispSwap_PointParameterfARB(GLbyte *pc)
|
||||
{
|
||||
__GLX_DECLARE_SWAP_VARIABLES;
|
||||
|
@ -3366,3 +3368,17 @@ void __glXDispSwap_WindowPos3fARB(GLbyte *pc)
|
|||
*(GLfloat *)(pc + 8)
|
||||
);
|
||||
}
|
||||
|
||||
#endif /* !MISSING_GL_EXTS */
|
||||
|
||||
void __glXDispSwap_SampleCoverageARB(GLbyte *pc)
|
||||
{
|
||||
__GLX_DECLARE_SWAP_VARIABLES;
|
||||
__GLX_SWAP_FLOAT(pc + 0);
|
||||
__GLX_SWAP_INT(pc + 4);
|
||||
|
||||
glSampleCoverageARB(
|
||||
*(GLfloat *)(pc + 0),
|
||||
*(GLboolean *)(pc + 4)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/glxcmds.c,v 1.11 2003/10/28 22:50:17 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/glxcmds.c,v 1.13 2004/02/12 02:25:01 torrey Exp $ */
|
||||
/*
|
||||
** License Applicability. Except to the extent portions of this file are
|
||||
** made subject to an alternative license as permitted in the SGI Free
|
||||
|
@ -1554,6 +1554,18 @@ int __glXVendorPrivate(__GLXclientState *cl, GLbyte *pc)
|
|||
req = (xGLXVendorPrivateReq *) pc;
|
||||
vendorcode = req->vendorCode;
|
||||
|
||||
#ifndef __DARWIN__
|
||||
switch( vendorcode ) {
|
||||
case X_GLvop_SampleMaskSGIS:
|
||||
glSampleMaskSGIS(*(GLfloat *)(pc + 4),
|
||||
*(GLboolean *)(pc + 8));
|
||||
return Success;
|
||||
case X_GLvop_SamplePatternSGIS:
|
||||
glSamplePatternSGIS( *(GLenum *)(pc + 4));
|
||||
return Success;
|
||||
}
|
||||
#endif
|
||||
|
||||
if ((vendorcode >= __GLX_MIN_VENDPRIV_OPCODE_EXT) &&
|
||||
(vendorcode <= __GLX_MAX_VENDPRIV_OPCODE_EXT)) {
|
||||
(*__glXVendorPrivTable_EXT[vendorcode-__GLX_MIN_VENDPRIV_OPCODE_EXT])
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/glxcmdsswap.c,v 1.9 2003/10/28 22:50:17 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/glxcmdsswap.c,v 1.11 2004/02/12 02:25:01 torrey Exp $ */
|
||||
/*
|
||||
** License Applicability. Except to the extent portions of this file are
|
||||
** made subject to an alternative license as permitted in the SGI Free
|
||||
|
@ -791,6 +791,21 @@ int __glXSwapVendorPrivate(__GLXclientState *cl, GLbyte *pc)
|
|||
|
||||
vendorcode = req->vendorCode;
|
||||
|
||||
#ifndef __DARWIN__
|
||||
switch( vendorcode ) {
|
||||
case X_GLvop_SampleMaskSGIS:
|
||||
__GLX_SWAP_FLOAT(pc + 4);
|
||||
__GLX_SWAP_INT(pc + 8);
|
||||
glSampleMaskSGIS(*(GLfloat *)(pc + 4),
|
||||
*(GLboolean *)(pc + 8));
|
||||
return Success;
|
||||
case X_GLvop_SamplePatternSGIS:
|
||||
__GLX_SWAP_INT(pc + 4);
|
||||
glSamplePatternSGIS( *(GLenum *)(pc + 4));
|
||||
return Success;
|
||||
}
|
||||
#endif
|
||||
|
||||
if ((vendorcode >= __GLX_MIN_VENDPRIV_OPCODE_EXT) &&
|
||||
(vendorcode <= __GLX_MAX_VENDPRIV_OPCODE_EXT)) {
|
||||
(*__glXSwapVendorPrivTable_EXT[vendorcode-__GLX_MIN_VENDPRIV_OPCODE_EXT])(cl, (GLbyte*)req);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/glxext.c,v 1.9 2003/09/28 20:15:43 alanh Exp $
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/glxext.c,v 1.10 2004/01/28 22:36:05 alanh Exp $
|
||||
** The contents of this file are subject to the GLX Public License Version 1.0
|
||||
** (the "License"). You may not use this file except in compliance with the
|
||||
** License. You may obtain a copy of the License at Silicon Graphics, Inc.,
|
||||
|
@ -31,6 +31,9 @@
|
|||
|
||||
|
||||
extern __GLXextensionInfo __glDDXExtensionInfo;
|
||||
void GlxWrapInitVisuals(miInitVisualsProcPtr *);
|
||||
void GlxSetVisualConfigs(int nconfigs,
|
||||
__GLXvisualConfig *configs, void **privates);
|
||||
|
||||
__GLXextensionInfo *__glXExt = &__glDDXExtensionInfo;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/glxext.h,v 1.7 2003/11/17 22:20:26 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/glxext.h,v 1.8 2004/02/09 23:46:31 alanh Exp $ */
|
||||
#ifndef _glxext_h_
|
||||
#define _glxext_h_
|
||||
|
||||
|
@ -80,6 +80,9 @@ extern void GlxExtensionInit(void);
|
|||
|
||||
extern Bool __glXCoreType(void);
|
||||
|
||||
extern const char GLServerVersion[];
|
||||
extern int DoGetString(__GLXclientState *cl, GLbyte *pc, GLboolean need_swap);
|
||||
|
||||
extern int GlxInitVisuals(
|
||||
VisualPtr * visualp,
|
||||
DepthPtr * depthp,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/glxscreens.c,v 1.12 2003/09/28 20:15:43 alanh Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/glxscreens.c,v 1.15 2004/02/12 02:25:01 torrey Exp $ */
|
||||
/*
|
||||
** License Applicability. Except to the extent portions of this file are
|
||||
** made subject to an alternative license as permitted in the SGI Free
|
||||
|
@ -46,11 +46,13 @@
|
|||
#include "glxserver.h"
|
||||
#include "glxutil.h"
|
||||
|
||||
const char GLServerVersion[] = "1.2";
|
||||
static const char GLServerExtensions[] =
|
||||
"GL_ARB_depth_texture "
|
||||
"GL_ARB_imaging "
|
||||
"GL_ARB_multitexture "
|
||||
"GL_ARB_point_parameters "
|
||||
"GL_ARB_point_sprite "
|
||||
"GL_ARB_shadow "
|
||||
"GL_ARB_shadow_ambient "
|
||||
"GL_ARB_texture_border_clamp "
|
||||
|
@ -108,6 +110,7 @@ static const char GLServerExtensions[] =
|
|||
"GL_MESA_pack_invert "
|
||||
"GL_MESA_ycbcr_texture "
|
||||
"GL_NV_blend_square "
|
||||
"GL_NV_point_sprite "
|
||||
"GL_NV_texgen_reflection "
|
||||
"GL_NV_texture_rectangle "
|
||||
"GL_SGIS_generate_mipmap "
|
||||
|
@ -125,11 +128,15 @@ static const char GLServerExtensions[] =
|
|||
*/
|
||||
static char GLXServerVendorName[] = "SGI";
|
||||
static char GLXServerVersion[] = "1.2";
|
||||
static char GLXServerExtensions[] =
|
||||
static char GLXServerExtensions[] =
|
||||
"GLX_ARB_multisample "
|
||||
"GLX_EXT_visual_info "
|
||||
"GLX_EXT_visual_rating "
|
||||
"GLX_EXT_import_context "
|
||||
"GLX_SGI_make_current_read "
|
||||
#ifndef __DARWIN__
|
||||
"GLX_SGIS_multisample "
|
||||
#endif
|
||||
;
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/glxserver.h,v 1.5 2003/09/28 20:15:43 alanh Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/glxserver.h,v 1.6 2004/01/28 18:11:50 alanh Exp $ */
|
||||
#ifndef _GLX_server_h_
|
||||
#define _GLX_server_h_
|
||||
|
||||
|
@ -280,5 +280,6 @@ extern int __glXColorTableParameterfvSize(GLenum pname);
|
|||
extern int __glXColorTableParameterivSize(GLenum pname);
|
||||
|
||||
extern int __glXPointParameterfvARBReqSize(GLbyte *pc, Bool swap);
|
||||
extern int __glXPointParameterivReqSize(GLbyte *pc, Bool swap);
|
||||
|
||||
#endif /* !__GLX_server_h__ */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/impsize.h,v 1.4 2003/09/28 20:15:43 alanh Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/impsize.h,v 1.5 2004/01/28 18:11:50 alanh Exp $ */
|
||||
#ifndef _impsize_h_
|
||||
#define _impsize_h_
|
||||
|
||||
|
@ -67,6 +67,7 @@ extern int __glTexParameterfv_size(GLenum e);
|
|||
extern int __glTexParameteriv_size(GLenum e);
|
||||
extern int __glEvalComputeK(GLenum target);
|
||||
|
||||
extern int __glPointParameterfvARB_size(GLenum pname);
|
||||
extern int __glPointParameterfvARB_size(GLenum e);
|
||||
extern int __glPointParameteriv_size(GLenum e);
|
||||
|
||||
#endif /* _impsize_h_ */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/render2.c,v 1.6 2003/10/28 22:50:18 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/render2.c,v 1.9 2004/02/12 02:25:01 torrey Exp $ */
|
||||
/*
|
||||
** License Applicability. Except to the extent portions of this file are
|
||||
** made subject to an alternative license as permitted in the SGI Free
|
||||
|
@ -234,6 +234,16 @@ void __glXDisp_DrawArrays(GLbyte *pc)
|
|||
glEnableClientState(GL_EDGE_FLAG_ARRAY);
|
||||
glEdgeFlagPointer(stride, (const GLboolean *)pc);
|
||||
break;
|
||||
#ifndef MISSING_GL_EXTS
|
||||
case GL_SECONDARY_COLOR_ARRAY:
|
||||
glEnableClientState(GL_SECONDARY_COLOR_ARRAY);
|
||||
glSecondaryColorPointer(numVals, datatype, stride, pc);
|
||||
break;
|
||||
case GL_FOG_COORDINATE_ARRAY:
|
||||
glEnableClientState(GL_FOG_COORDINATE_ARRAY);
|
||||
glFogCoordPointer(datatype, stride, pc);
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -250,10 +260,11 @@ void __glXDisp_DrawArrays(GLbyte *pc)
|
|||
glDisableClientState(GL_INDEX_ARRAY);
|
||||
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||
glDisableClientState(GL_EDGE_FLAG_ARRAY);
|
||||
glDisableClientState(GL_SECONDARY_COLOR_ARRAY);
|
||||
glDisableClientState(GL_FOG_COORDINATE_ARRAY);
|
||||
}
|
||||
|
||||
void __glXDisp_DrawArraysEXT(GLbyte *pc)
|
||||
{
|
||||
#ifdef XXX_STUB
|
||||
#endif /*XXX_STUB*/
|
||||
__glXDisp_DrawArrays(pc);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/render2swap.c,v 1.6 2002/01/14 22:47:08 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/render2swap.c,v 1.7 2004/02/03 23:04:08 alanh Exp $ */
|
||||
/*
|
||||
** License Applicability. Except to the extent portions of this file are
|
||||
** made subject to an alternative license as permitted in the SGI Free
|
||||
|
@ -386,6 +386,5 @@ void __glXDispSwap_DrawArrays(GLbyte *pc)
|
|||
|
||||
void __glXDispSwap_DrawArraysEXT(GLbyte *pc)
|
||||
{
|
||||
#ifdef XXX_STUB
|
||||
#endif /*XXX_STUB*/
|
||||
__glXDispSwap_DrawArrays(pc);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/rensize.c,v 1.6 2003/09/28 20:15:43 alanh Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/rensize.c,v 1.7 2004/01/28 18:11:53 alanh Exp $ */
|
||||
/*
|
||||
** License Applicability. Except to the extent portions of this file are
|
||||
** made subject to an alternative license as permitted in the SGI Free
|
||||
|
@ -551,12 +551,14 @@ int __glXDrawArraysSize( GLbyte *pc, Bool swap )
|
|||
case GL_COLOR_ARRAY:
|
||||
case GL_TEXTURE_COORD_ARRAY:
|
||||
break;
|
||||
case GL_SECONDARY_COLOR_ARRAY:
|
||||
case GL_NORMAL_ARRAY:
|
||||
if (numVals != 3) {
|
||||
/* bad size */
|
||||
return -1;
|
||||
}
|
||||
break;
|
||||
case GL_FOG_COORDINATE_ARRAY:
|
||||
case GL_INDEX_ARRAY:
|
||||
if (numVals != 1) {
|
||||
/* bad size */
|
||||
|
@ -918,3 +920,9 @@ int __glXPointParameterfvARBReqSize(GLbyte *pc, Bool swap )
|
|||
}
|
||||
return 4 * __glPointParameterfvARB_size( pname );
|
||||
}
|
||||
|
||||
int __glXPointParameterivReqSize(GLbyte *pc, Bool swap )
|
||||
{
|
||||
/* no difference between fv and iv versions */
|
||||
return __glXPointParameterfvARBReqSize(pc, swap);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/rensizetab.c,v 1.4 2003/09/28 20:15:43 alanh Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/rensizetab.c,v 1.6 2004/02/03 23:04:08 alanh Exp $ */
|
||||
/*
|
||||
** License Applicability. Except to the extent portions of this file are
|
||||
** made subject to an alternative license as permitted in the SGI Free
|
||||
|
@ -231,9 +231,9 @@ __GLXrenderSizeData __glXRenderSizeTable[__GLX_MAX_RENDER_OPCODE_EXT - __GLX_MIN
|
|||
/* Translatef */ { 16, 0 },
|
||||
/* Viewport */ { 20, 0 },
|
||||
/* PolygonOffset */ { 12, 0 },
|
||||
/* no such opcode */ { 0, 0 },
|
||||
/* DrawArrays */ { 16, __glXDrawArraysSize },
|
||||
/* Indexubv */ { 8, 0 },
|
||||
/* ColorSubTable */ { 44, __glXColorSubTableReqSize },
|
||||
/* ColorSubTable */ { 44, __glXColorSubTableReqSize },
|
||||
/* CopyColorSubTable */ { 24, 0 },
|
||||
/* ActiveTextureARB */ { 8, 0 },
|
||||
/* MultiTexCoord1dvARB */ { 16, 0 },
|
||||
|
@ -2342,17 +2342,17 @@ __GLXrenderSizeData __glXRenderSizeTable_EXT[__GLX_MAX_RENDER_OPCODE_EXT - __GLX
|
|||
/* CopyTexSubImage1D */ { 28, 0 },
|
||||
/* CopyTexSubImage2D */ { 36, 0 },
|
||||
/* CopyTexSubImage3D 4123 */ { 40, 0 },
|
||||
/* no such opcode */ { 0, 0 },
|
||||
/* no such opcode */ { 0, 0 },
|
||||
/* no such opcode */ { 0, 0 },
|
||||
/* no such opcode */ { 0, 0 },
|
||||
/* no such opcode */ { 0, 0 },
|
||||
/* no such opcode */ { 0, 0 },
|
||||
/* no such opcode */ { 0, 0 },
|
||||
/* no such opcode */ { 0, 0 },
|
||||
/* no such opcode */ { 0, 0 },
|
||||
/* no such opcode */ { 0, 0 },
|
||||
/* no such opcode */ { 0, 0 },
|
||||
/* FogCoordfv 4124 */ { 8, 0 },
|
||||
/* FogCoorddv 4125 */ { 12, 0 },
|
||||
/* SecondaryColor3bv 4126 */ { 8, 0 },
|
||||
/* SecondaryColor3sv 4127 */ { 12, 0 },
|
||||
/* SecondaryColor3iv 4128 */ { 16, 0 },
|
||||
/* SecondaryColor3fv 4129 */ { 16, 0 },
|
||||
/* SecondaryColor3dv 4130 */ { 28, 0 },
|
||||
/* SecondaryColor3ubv 4131 */ { 8, 0 },
|
||||
/* SecondaryColor3usv 4132 */ { 12, 0 },
|
||||
/* SecondaryColor3uiv 4133 */ { 16, 0 },
|
||||
/* BlendFuncSeparate 4134 */ { 20, 0 },
|
||||
/* no such opcode */ { 0, 0 },
|
||||
/* no such opcode */ { 0, 0 },
|
||||
/* no such opcode */ { 0, 0 },
|
||||
|
@ -2439,4 +2439,6 @@ __GLXrenderSizeData __glXRenderSizeTable_EXT[__GLX_MAX_RENDER_OPCODE_EXT - __GLX
|
|||
/* no such opcode */ { 0, 0 },
|
||||
/* no such opcode */ { 0, 0 },
|
||||
/* ActiveStencilFaceEXT 4220 */ { 8, 0 },
|
||||
/* PointParameteri 4221 */ { 12, 0 },
|
||||
/* PointParameteriv 4222 */ { 8, __glXPointParameterivReqSize },
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/single2.c,v 1.6 2001/06/06 19:00:15 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/single2.c,v 1.9 2004/02/11 09:18:15 alanh Exp $ */
|
||||
/*
|
||||
** License Applicability. Except to the extent portions of this file are
|
||||
** made subject to an alternative license as permitted in the SGI Free
|
||||
|
@ -296,16 +296,25 @@ char *__glXcombine_strings(const char *cext_string, const char *sext_string)
|
|||
return combo_string;
|
||||
}
|
||||
|
||||
int __glXDisp_GetString(__GLXclientState *cl, GLbyte *pc)
|
||||
int DoGetString(__GLXclientState *cl, GLbyte *pc, GLboolean need_swap)
|
||||
{
|
||||
ClientPtr client;
|
||||
__GLXcontext *cx;
|
||||
GLenum name;
|
||||
const char *string;
|
||||
__GLX_DECLARE_SWAP_VARIABLES;
|
||||
int error;
|
||||
char *buf = NULL, *buf1 = NULL;
|
||||
GLint length = 0;
|
||||
|
||||
/* If the client has the opposite byte order, swap the contextTag and
|
||||
* the name.
|
||||
*/
|
||||
if ( need_swap ) {
|
||||
__GLX_SWAP_INT(pc + 4);
|
||||
__GLX_SWAP_INT(pc + __GLX_SINGLE_HDR_SIZE);
|
||||
}
|
||||
|
||||
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
|
||||
if (!cx) {
|
||||
return error;
|
||||
|
@ -331,12 +340,32 @@ int __glXDisp_GetString(__GLXclientState *cl, GLbyte *pc)
|
|||
}
|
||||
string = buf;
|
||||
}
|
||||
else if ( name == GL_VERSION ) {
|
||||
if ( atof( string ) > atof( GLServerVersion ) ) {
|
||||
buf = __glXMalloc( __glXStrlen( string )
|
||||
+ __glXStrlen( GLServerVersion )
|
||||
+ 3 );
|
||||
if ( buf == NULL ) {
|
||||
string = GLServerVersion;
|
||||
}
|
||||
else {
|
||||
__glXSprintf( buf, "%s (%s)", GLServerVersion, string );
|
||||
string = buf;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (string) {
|
||||
length = __glXStrlen((const char *) string) + 1;
|
||||
}
|
||||
|
||||
__GLX_BEGIN_REPLY(length);
|
||||
__GLX_PUT_SIZE(length);
|
||||
|
||||
if ( need_swap ) {
|
||||
__GLX_SWAP_REPLY_SIZE();
|
||||
__GLX_SWAP_REPLY_HEADER();
|
||||
}
|
||||
|
||||
__GLX_SEND_HEADER();
|
||||
WriteToClient(client, length, (char *) string);
|
||||
if (buf != NULL) {
|
||||
|
@ -345,6 +374,11 @@ int __glXDisp_GetString(__GLXclientState *cl, GLbyte *pc)
|
|||
return Success;
|
||||
}
|
||||
|
||||
int __glXDisp_GetString(__GLXclientState *cl, GLbyte *pc)
|
||||
{
|
||||
return DoGetString(cl, pc, GL_FALSE);
|
||||
}
|
||||
|
||||
int __glXDisp_GetClipPlane(__GLXclientState *cl, GLbyte *pc)
|
||||
{
|
||||
__GLXcontext *cx;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/single2swap.c,v 1.7 2002/01/14 22:47:08 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/single2swap.c,v 1.8 2004/02/09 23:46:31 alanh Exp $ */
|
||||
/*
|
||||
** License Applicability. Except to the extent portions of this file are
|
||||
** made subject to an alternative license as permitted in the SGI Free
|
||||
|
@ -262,58 +262,7 @@ int __glXDispSwap_Finish(__GLXclientState *cl, GLbyte *pc)
|
|||
|
||||
int __glXDispSwap_GetString(__GLXclientState *cl, GLbyte *pc)
|
||||
{
|
||||
ClientPtr client;
|
||||
__GLXcontext *cx;
|
||||
GLenum name;
|
||||
const char *string;
|
||||
__GLX_DECLARE_SWAP_VARIABLES;
|
||||
int error;
|
||||
char *buf = NULL, *buf1 = NULL;
|
||||
GLint length = 0;
|
||||
|
||||
__GLX_SWAP_INT(&((xGLXSingleReq *)pc)->contextTag);
|
||||
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
|
||||
if (!cx) {
|
||||
return error;
|
||||
}
|
||||
|
||||
pc += __GLX_SINGLE_HDR_SIZE;
|
||||
__GLX_SWAP_INT(pc + 0);
|
||||
name = *(GLenum *)(pc + 0);
|
||||
string = (const char *)glGetString(name);
|
||||
client = cl->client;
|
||||
|
||||
/*
|
||||
** Restrict extensions to those that are supported by both the
|
||||
** implementation and the connection. That is, return the
|
||||
** intersection of client, server, and core extension strings.
|
||||
*/
|
||||
if (name == GL_EXTENSIONS) {
|
||||
buf1 = __glXcombine_strings(string,
|
||||
cl->GLClientextensions);
|
||||
buf = __glXcombine_strings(buf1,
|
||||
cx->pGlxScreen->GLextensions);
|
||||
if (buf1 != NULL) {
|
||||
__glXFree(buf1);
|
||||
}
|
||||
string = buf;
|
||||
}
|
||||
if (string) {
|
||||
length = __glXStrlen((const char *) string) + 1;
|
||||
}
|
||||
|
||||
__GLX_BEGIN_REPLY(length);
|
||||
__GLX_PUT_SIZE(length);
|
||||
|
||||
__GLX_SWAP_REPLY_SIZE();
|
||||
__GLX_SWAP_REPLY_HEADER();
|
||||
__GLX_SEND_HEADER();
|
||||
WriteToClient(client, length, (char *) string);
|
||||
if (buf != NULL) {
|
||||
__glXFree(buf);
|
||||
}
|
||||
|
||||
return Success;
|
||||
return DoGetString(cl, pc, GL_TRUE);
|
||||
}
|
||||
|
||||
int __glXDispSwap_GetClipPlane(__GLXclientState *cl, GLbyte *pc)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/GL/glx/singlesize.c,v 1.6 2003/11/06 18:37:56 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/glx/singlesize.c,v 1.8 2004/02/09 19:51:32 tsi Exp $ */
|
||||
/*
|
||||
** License Applicability. Except to the extent portions of this file are
|
||||
** made subject to an alternative license as permitted in the SGI Free
|
||||
|
@ -50,32 +50,48 @@ GLint __glReadPixels_size(GLenum format, GLenum type, GLint w, GLint h)
|
|||
return __glXImage3DSize( format, type, w, h, 1, 0, 0, 0, 0, 4 );
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine the number of data elements that go with the specified \c pname
|
||||
* to a \c glGetTexEnvfv or \c glGetTexEnviv call.
|
||||
*
|
||||
* \todo
|
||||
* Replace this function with a call to \c __glTexEnvfv_size. Make that there
|
||||
* aren't any values of \c pname that are valid for one but not the other.
|
||||
*/
|
||||
GLint __glGetTexEnvfv_size(GLenum pname)
|
||||
{
|
||||
switch (pname) {
|
||||
case GL_TEXTURE_ENV_MODE:
|
||||
case GL_TEXTURE_LOD_BIAS:
|
||||
case GL_COMBINE_RGB:
|
||||
case GL_COMBINE_ALPHA:
|
||||
case GL_SOURCE0_RGB:
|
||||
case GL_SOURCE1_RGB:
|
||||
case GL_SOURCE2_RGB:
|
||||
case GL_SOURCE0_ALPHA:
|
||||
case GL_SOURCE1_ALPHA:
|
||||
case GL_SOURCE2_ALPHA:
|
||||
case GL_OPERAND0_RGB:
|
||||
case GL_OPERAND1_RGB:
|
||||
case GL_OPERAND2_RGB:
|
||||
case GL_OPERAND0_ALPHA:
|
||||
case GL_OPERAND1_ALPHA:
|
||||
case GL_OPERAND2_ALPHA:
|
||||
case GL_RGB_SCALE:
|
||||
case GL_ALPHA_SCALE:
|
||||
|
||||
/* GL_ARB_point_sprite / GL_NV_point_sprite */
|
||||
case GL_COORD_REPLACE_NV:
|
||||
|
||||
/* GL_NV_texture_env_combine4 */
|
||||
case GL_SOURCE3_RGB_NV:
|
||||
case GL_SOURCE3_ALPHA_NV:
|
||||
case GL_OPERAND3_RGB_NV:
|
||||
case GL_OPERAND3_ALPHA_NV:
|
||||
return 1;
|
||||
|
||||
case GL_TEXTURE_ENV_COLOR:
|
||||
return 4;
|
||||
case GL_TEXTURE_LOD_BIAS_EXT:
|
||||
return 1;
|
||||
case GL_COMBINE_RGB_ARB:
|
||||
case GL_COMBINE_ALPHA_ARB:
|
||||
case GL_SOURCE0_RGB_ARB:
|
||||
case GL_SOURCE1_RGB_ARB:
|
||||
case GL_SOURCE2_RGB_ARB:
|
||||
case GL_SOURCE0_ALPHA_ARB:
|
||||
case GL_SOURCE1_ALPHA_ARB:
|
||||
case GL_SOURCE2_ALPHA_ARB:
|
||||
case GL_OPERAND0_RGB_ARB:
|
||||
case GL_OPERAND1_RGB_ARB:
|
||||
case GL_OPERAND2_RGB_ARB:
|
||||
case GL_OPERAND0_ALPHA_ARB:
|
||||
case GL_OPERAND1_ALPHA_ARB:
|
||||
case GL_OPERAND2_ALPHA_ARB:
|
||||
case GL_RGB_SCALE_ARB:
|
||||
case GL_ALPHA_SCALE:
|
||||
return 1;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
|
@ -140,6 +156,15 @@ GLint __glGetTexParameterfv_size(GLenum pname)
|
|||
case GL_TEXTURE_COMPARE_MODE:
|
||||
case GL_TEXTURE_COMPARE_FUNC:
|
||||
|
||||
/* GL_SGIS_generate_mipmap / GL 1.4 */
|
||||
case GL_GENERATE_MIPMAP:
|
||||
|
||||
/* GL_ARB_depth_texture / GL 1.4 */
|
||||
case GL_DEPTH_TEXTURE_MODE:
|
||||
|
||||
/* GL_EXT_texture_lod_bias / GL 1.4 */
|
||||
case GL_TEXTURE_LOD_BIAS:
|
||||
|
||||
/* GL_SGIX_shadow_ambient / GL_ARB_shadow_ambient */
|
||||
case GL_TEXTURE_COMPARE_FAIL_VALUE_ARB:
|
||||
|
||||
|
@ -151,6 +176,9 @@ GLint __glGetTexParameterfv_size(GLenum pname)
|
|||
case GL_TEXTURE_MAX_CLAMP_S_SGIX:
|
||||
case GL_TEXTURE_MAX_CLAMP_T_SGIX:
|
||||
case GL_TEXTURE_MAX_CLAMP_R_SGIX:
|
||||
|
||||
/* GL_EXT_texture_filter_anisotropic */
|
||||
case GL_TEXTURE_MAX_ANISOTROPY_EXT:
|
||||
return 1;
|
||||
|
||||
default:
|
||||
|
@ -834,10 +862,6 @@ GLint __glGet_size(GLenum sq)
|
|||
case GL_MAX_CONVOLUTION_WIDTH:
|
||||
case GL_MAX_CONVOLUTION_HEIGHT:
|
||||
return 1;
|
||||
case GL_TEXTURE_CUBE_MAP_ARB:
|
||||
case GL_TEXTURE_BINDING_CUBE_MAP_ARB:
|
||||
case GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB:
|
||||
return 1;
|
||||
case GL_OCCLUSION_TEST_RESULT_HP:
|
||||
case GL_OCCLUSION_TEST_HP:
|
||||
return 1;
|
||||
|
@ -847,6 +871,183 @@ GLint __glGet_size(GLenum sq)
|
|||
return 1;
|
||||
case GL_RASTER_POSITION_UNCLIPPED_IBM:
|
||||
return 1;
|
||||
|
||||
/* GL_ARB_texture_cube_map / GL 1.3 */
|
||||
case GL_TEXTURE_CUBE_MAP:
|
||||
case GL_TEXTURE_BINDING_CUBE_MAP:
|
||||
case GL_MAX_CUBE_MAP_TEXTURE_SIZE:
|
||||
|
||||
/* GL_ARB_multisample / GL 1.3 */
|
||||
case GL_MULTISAMPLE:
|
||||
case GL_SAMPLE_ALPHA_TO_COVERAGE:
|
||||
case GL_SAMPLE_ALPHA_TO_ONE:
|
||||
case GL_SAMPLE_COVERAGE:
|
||||
case GL_SAMPLE_BUFFERS:
|
||||
case GL_SAMPLES:
|
||||
case GL_SAMPLE_COVERAGE_VALUE:
|
||||
case GL_SAMPLE_COVERAGE_INVERT:
|
||||
|
||||
/* GL_ARB_texture_comrpession / GL 1.3 */
|
||||
case GL_TEXTURE_COMPRESSION_HINT:
|
||||
case GL_NUM_COMPRESSED_TEXTURE_FORMATS:
|
||||
|
||||
/* GL_EXT_blend_func_separate / GL 1.4 */
|
||||
case GL_BLEND_DST_RGB:
|
||||
case GL_BLEND_SRC_RGB:
|
||||
case GL_BLEND_DST_ALPHA:
|
||||
case GL_BLEND_SRC_ALPHA:
|
||||
|
||||
/* GL_EXT_fog_coord / GL 1.4 */
|
||||
case GL_CURRENT_FOG_COORDINATE:
|
||||
case GL_FOG_COORDINATE_ARRAY_TYPE:
|
||||
case GL_FOG_COORDINATE_ARRAY_STRIDE:
|
||||
case GL_FOG_COORDINATE_ARRAY:
|
||||
case GL_FOG_COORDINATE_SOURCE:
|
||||
|
||||
/* GL_EXT_secondary_color / GL 1.4 */
|
||||
case GL_COLOR_SUM:
|
||||
case GL_SECONDARY_COLOR_ARRAY_SIZE:
|
||||
case GL_SECONDARY_COLOR_ARRAY_TYPE:
|
||||
case GL_SECONDARY_COLOR_ARRAY_STRIDE:
|
||||
case GL_SECONDARY_COLOR_ARRAY:
|
||||
|
||||
/* GL_EXT_texture_lod_bias / GL 1.4 */
|
||||
case GL_MAX_TEXTURE_LOD_BIAS:
|
||||
|
||||
/* GL_ARB_point_sprite */
|
||||
case GL_POINT_SPRITE_NV:
|
||||
|
||||
/* GL_ARB_vertex_blend */
|
||||
case GL_MAX_VERTEX_UNITS_ARB:
|
||||
case GL_ACTIVE_VERTEX_UNITS_ARB:
|
||||
case GL_WEIGHT_SUM_UNITY_ARB:
|
||||
case GL_VERTEX_BLEND_ARB:
|
||||
case GL_CURRENT_WEIGHT_ARB:
|
||||
case GL_WEIGHT_ARRAY_ARB:
|
||||
case GL_WEIGHT_ARRAY_TYPE_ARB:
|
||||
case GL_WEIGHT_ARRAY_STRIDE_ARB:
|
||||
case GL_WEIGHT_ARRAY_SIZE_ARB:
|
||||
|
||||
/* GL_ARB_matrix_palette */
|
||||
case GL_MATRIX_PALETTE_ARB:
|
||||
case GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB:
|
||||
case GL_MAX_PALETTE_MATRICES_ARB:
|
||||
case GL_CURRENT_PALETTE_MATRIX_ARB:
|
||||
case GL_CURRENT_MATRIX_INDEX_ARB:
|
||||
case GL_MATRIX_INDEX_ARRAY_ARB:
|
||||
case GL_MATRIX_INDEX_ARRAY_SIZE_ARB:
|
||||
case GL_MATRIX_INDEX_ARRAY_TYPE_ARB:
|
||||
case GL_MATRIX_INDEX_ARRAY_STRIDE_ARB:
|
||||
|
||||
/* GL_EXT_clip_volume_hint */
|
||||
case GL_CLIP_VOLUME_CLIPPING_HINT_EXT:
|
||||
|
||||
/* GL_EXT_stencil_two_size */
|
||||
case GL_STENCIL_TEST_TWO_SIDE_EXT:
|
||||
case GL_ACTIVE_STENCIL_FACE_EXT:
|
||||
|
||||
/* GL_EXT_vertex_weighting */
|
||||
case GL_VERTEX_WEIGHTING_EXT:
|
||||
case GL_MODELVIEW0_EXT:
|
||||
case GL_MODELVIEW1_EXT:
|
||||
case GL_CURRENT_VERTEX_WEIGHT_EXT:
|
||||
case GL_VERTEX_WEIGHT_ARRAY_EXT:
|
||||
case GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT:
|
||||
case GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT:
|
||||
case GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT:
|
||||
/* case GL_MODELVIEW0_STACK_DEPTH_EXT: */ /* alias */
|
||||
case GL_MODELVIEW1_STACK_DEPTH_EXT:
|
||||
|
||||
/* GL_ATI_vertex_streams */
|
||||
case GL_MAX_VERTEX_STREAMS_ATI:
|
||||
|
||||
/* GL_NV_depth_clamp */
|
||||
case GL_DEPTH_CLAMP_NV:
|
||||
|
||||
/* GL_NV_fog_distance */
|
||||
case GL_FOG_DISTANCE_MODE_NV:
|
||||
|
||||
/* GL_NV_light_max_exponent */
|
||||
case GL_MAX_SHININESS_NV:
|
||||
case GL_MAX_SPOT_EXPONENT_NV:
|
||||
|
||||
/* GL_NV_multisample_filter_hint */
|
||||
case GL_MULTISAMPLE_FILTER_HINT_NV:
|
||||
|
||||
/* GL_NV_point_sprite */
|
||||
/* case GL_POINT_SPRITE_NV: */ /* alias */
|
||||
case GL_POINT_SPRITE_R_MODE_NV:
|
||||
|
||||
/* GL_NV_register_combiners */
|
||||
case GL_REGISTER_COMBINERS_NV:
|
||||
case GL_NUM_GENERAL_COMBINERS_NV:
|
||||
case GL_COLOR_SUM_CLAMP_NV:
|
||||
case GL_MAX_GENERAL_COMBINERS_NV:
|
||||
|
||||
/* GL_NV_register_combiners2 */
|
||||
case GL_PER_STAGE_CONSTANTS_NV:
|
||||
|
||||
/* GL_NV_texture_rectangle */
|
||||
case GL_TEXTURE_RECTANGLE_NV:
|
||||
case GL_TEXTURE_BINDING_RECTANGLE_NV:
|
||||
case GL_MAX_RECTANGLE_TEXTURE_SIZE_NV:
|
||||
return 1;
|
||||
|
||||
/* GL_EXT_secondary_color / GL 1.4 */
|
||||
case GL_CURRENT_SECONDARY_COLOR:
|
||||
|
||||
/* GL_NV_register_combiners */
|
||||
case GL_CONSTANT_COLOR0_NV:
|
||||
case GL_CONSTANT_COLOR1_NV:
|
||||
return 4;
|
||||
|
||||
/* GL_ARB_vertex_blend */
|
||||
/* case GL_MODELVIEW0_ARB: */ /* alias */
|
||||
/* case GL_MODELVIEW1_ARB: */ /* alias */
|
||||
case GL_MODELVIEW2_ARB:
|
||||
case GL_MODELVIEW3_ARB:
|
||||
case GL_MODELVIEW4_ARB:
|
||||
case GL_MODELVIEW5_ARB:
|
||||
case GL_MODELVIEW6_ARB:
|
||||
case GL_MODELVIEW7_ARB:
|
||||
case GL_MODELVIEW8_ARB:
|
||||
case GL_MODELVIEW9_ARB:
|
||||
case GL_MODELVIEW10_ARB:
|
||||
case GL_MODELVIEW11_ARB:
|
||||
case GL_MODELVIEW12_ARB:
|
||||
case GL_MODELVIEW13_ARB:
|
||||
case GL_MODELVIEW14_ARB:
|
||||
case GL_MODELVIEW15_ARB:
|
||||
case GL_MODELVIEW16_ARB:
|
||||
case GL_MODELVIEW17_ARB:
|
||||
case GL_MODELVIEW18_ARB:
|
||||
case GL_MODELVIEW19_ARB:
|
||||
case GL_MODELVIEW20_ARB:
|
||||
case GL_MODELVIEW21_ARB:
|
||||
case GL_MODELVIEW22_ARB:
|
||||
case GL_MODELVIEW23_ARB:
|
||||
case GL_MODELVIEW24_ARB:
|
||||
case GL_MODELVIEW25_ARB:
|
||||
case GL_MODELVIEW26_ARB:
|
||||
case GL_MODELVIEW27_ARB:
|
||||
case GL_MODELVIEW28_ARB:
|
||||
case GL_MODELVIEW29_ARB:
|
||||
case GL_MODELVIEW30_ARB:
|
||||
case GL_MODELVIEW31_ARB:
|
||||
|
||||
/* GL_EXT_vertex_weighting */
|
||||
/* case GL_MODELVIEW0_MATRIX_EXT: */ /* alias */
|
||||
case GL_MODELVIEW1_MATRIX_EXT:
|
||||
return 32;
|
||||
|
||||
/* GL_ARB_texture_comrpession / GL 1.3 */
|
||||
case GL_COMPRESSED_TEXTURE_FORMATS: {
|
||||
GLint temp;
|
||||
|
||||
glGetIntegerv( GL_NUM_COMPRESSED_TEXTURE_FORMATS, & temp );
|
||||
return temp;
|
||||
}
|
||||
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
|
@ -886,7 +1087,15 @@ GLint __glGetTexLevelParameterfv_size(GLenum pname)
|
|||
case GL_TEXTURE_ALPHA_SIZE:
|
||||
case GL_TEXTURE_LUMINANCE_SIZE:
|
||||
case GL_TEXTURE_INTENSITY_SIZE:
|
||||
|
||||
/* GL_ARB_texture_compression / GL 1.3 */
|
||||
case GL_TEXTURE_COMPRESSED_IMAGE_SIZE:
|
||||
case GL_TEXTURE_COMPRESSED:
|
||||
|
||||
/* GL_ARB_depth_texture / GL 1.4 */
|
||||
case GL_TEXTURE_DEPTH_SIZE:
|
||||
return 1;
|
||||
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XdotOrg: xc/programs/Xserver/XTrap/xtrapdi.c,v 1.1.4.3 2004/02/25 21:46:31 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/XTrap/xtrapdi.c,v 1.7 2003/10/28 22:52:10 tsi Exp $ */
|
||||
/*****************************************************************************
|
||||
Copyright 1987, 1988, 1989, 1990, 1991 by Digital Equipment Corp., Maynard, MA
|
||||
|
@ -78,8 +78,8 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|||
#include <X11/extensions/xtrapproto.h>
|
||||
#include "colormapst.h"
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
#include "cursor.h"
|
||||
#endif
|
||||
|
||||
|
@ -1560,7 +1560,7 @@ void XETrapStampAndMail(xEvent *x_event)
|
|||
(void)memcpy(&(data.u.event),x_event,sizeof(xEvent));
|
||||
|
||||
#ifdef XINERAMA
|
||||
if (!noXineramaExtension &&
|
||||
if (!noPanoramiXExtension &&
|
||||
(data.u.event.u.u.type == MotionNotify ||
|
||||
data.u.event.u.u.type == ButtonPress ||
|
||||
data.u.event.u.u.type == ButtonRelease ||
|
||||
|
@ -1568,9 +1568,9 @@ void XETrapStampAndMail(xEvent *x_event)
|
|||
data.u.event.u.u.type == KeyRelease)) {
|
||||
int scr = XineramaGetCursorScreen();
|
||||
data.u.event.u.keyButtonPointer.rootX +=
|
||||
xineramaDataPtr[scr].x - xineramaDataPtr[0].x;
|
||||
panoramiXdataPtr[scr].x - panoramiXdataPtr[0].x;
|
||||
data.u.event.u.keyButtonPointer.rootY +=
|
||||
xineramaDataPtr[scr].y - xineramaDataPtr[0].y;
|
||||
panoramiXdataPtr[scr].y - panoramiXdataPtr[0].y;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
36
Xext/saver.c
36
Xext/saver.c
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XdotOrg: xc/programs/Xserver/Xext/saver.c,v 1.1.4.3 2004/02/25 21:46:33 kaleb Exp $ */
|
||||
/*
|
||||
* $XConsortium: saver.c,v 1.12 94/04/17 20:59:36 dpw Exp $
|
||||
*
|
||||
|
@ -48,8 +48,8 @@ in this Software without prior written authorization from the X Consortium.
|
|||
#include "cursorstr.h"
|
||||
#include "colormapst.h"
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -678,7 +678,7 @@ ScreenSaverHandle (pScreen, xstate, force)
|
|||
|
||||
}
|
||||
#ifdef XINERAMA
|
||||
if(noXineramaExtension || !pScreen->myNum)
|
||||
if(noPanoramiXExtension || !pScreen->myNum)
|
||||
#endif
|
||||
SendScreenSaverNotify (pScreen, state, force);
|
||||
return ret;
|
||||
|
@ -1196,19 +1196,19 @@ static int
|
|||
ProcScreenSaverSetAttributes (ClientPtr client)
|
||||
{
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension) {
|
||||
if(!noPanoramiXExtension) {
|
||||
REQUEST(xScreenSaverSetAttributesReq);
|
||||
XineramaRes *draw;
|
||||
XineramaRes *backPix = NULL;
|
||||
XineramaRes *bordPix = NULL;
|
||||
XineramaRes *cmap = NULL;
|
||||
PanoramiXRes *draw;
|
||||
PanoramiXRes *backPix = NULL;
|
||||
PanoramiXRes *bordPix = NULL;
|
||||
PanoramiXRes *cmap = NULL;
|
||||
int i, status = 0, len;
|
||||
int pback_offset = 0, pbord_offset = 0, cmap_offset = 0;
|
||||
XID orig_visual, tmp;
|
||||
|
||||
REQUEST_AT_LEAST_SIZE (xScreenSaverSetAttributesReq);
|
||||
|
||||
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
|
||||
return BadDrawable;
|
||||
|
||||
|
@ -1220,7 +1220,7 @@ ProcScreenSaverSetAttributes (ClientPtr client)
|
|||
pback_offset = Ones((Mask)stuff->mask & (CWBackPixmap - 1));
|
||||
tmp = *((CARD32 *) &stuff[1] + pback_offset);
|
||||
if ((tmp != None) && (tmp != ParentRelative)) {
|
||||
if(!(backPix = (XineramaRes*) SecurityLookupIDByType(
|
||||
if(!(backPix = (PanoramiXRes*) SecurityLookupIDByType(
|
||||
client, tmp, XRT_PIXMAP, SecurityReadAccess)))
|
||||
return BadPixmap;
|
||||
}
|
||||
|
@ -1230,7 +1230,7 @@ ProcScreenSaverSetAttributes (ClientPtr client)
|
|||
pbord_offset = Ones((Mask)stuff->mask & (CWBorderPixmap - 1));
|
||||
tmp = *((CARD32 *) &stuff[1] + pbord_offset);
|
||||
if (tmp != CopyFromParent) {
|
||||
if(!(bordPix = (XineramaRes*) SecurityLookupIDByType(
|
||||
if(!(bordPix = (PanoramiXRes*) SecurityLookupIDByType(
|
||||
client, tmp, XRT_PIXMAP, SecurityReadAccess)))
|
||||
return BadPixmap;
|
||||
}
|
||||
|
@ -1240,7 +1240,7 @@ ProcScreenSaverSetAttributes (ClientPtr client)
|
|||
cmap_offset = Ones((Mask)stuff->mask & (CWColormap - 1));
|
||||
tmp = *((CARD32 *) &stuff[1] + cmap_offset);
|
||||
if ((tmp != CopyFromParent) && (tmp != None)) {
|
||||
if(!(cmap = (XineramaRes*) SecurityLookupIDByType(
|
||||
if(!(cmap = (PanoramiXRes*) SecurityLookupIDByType(
|
||||
client, tmp, XRT_COLORMAP, SecurityReadAccess)))
|
||||
return BadColor;
|
||||
}
|
||||
|
@ -1259,7 +1259,7 @@ ProcScreenSaverSetAttributes (ClientPtr client)
|
|||
|
||||
if (orig_visual != CopyFromParent)
|
||||
stuff->visualID =
|
||||
XineramaVisualTable[(orig_visual*MAXSCREENS) + i];
|
||||
PanoramiXVisualTable[(orig_visual*MAXSCREENS) + i];
|
||||
|
||||
status = ScreenSaverSetAttributes(client);
|
||||
}
|
||||
|
@ -1275,16 +1275,16 @@ static int
|
|||
ProcScreenSaverUnsetAttributes (ClientPtr client)
|
||||
{
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension) {
|
||||
if(!noPanoramiXExtension) {
|
||||
REQUEST(xScreenSaverUnsetAttributesReq);
|
||||
XineramaRes *draw;
|
||||
PanoramiXRes *draw;
|
||||
int i;
|
||||
|
||||
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
|
||||
return BadDrawable;
|
||||
|
||||
for(i = XineramaNumScreens - 1; i > 0; i--) {
|
||||
for(i = PanoramiXNumScreens - 1; i > 0; i--) {
|
||||
stuff->drawable = draw->info[i].id;
|
||||
ScreenSaverUnsetAttributes(client);
|
||||
}
|
||||
|
|
34
Xext/shape.c
34
Xext/shape.c
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg: xc/programs/Xserver/Xext/shape.c,v 3.19 2003/11/17 22:20:26 dawes Exp $ */
|
||||
/* $XdotOrg: xc/programs/Xserver/Xext/shape.c,v 1.1.4.4 2004/02/25 21:46:33 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/Xext/shape.c,v 3.19 2003/11/17 22:20:26 dawes Exp $ */
|
||||
/************************************************************
|
||||
|
||||
|
@ -114,8 +114,8 @@ static DISPATCH_PROC(SProcShapeRectangles);
|
|||
static DISPATCH_PROC(SProcShapeSelectInput);
|
||||
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
|
@ -382,12 +382,12 @@ ProcXineramaShapeRectangles(
|
|||
register ClientPtr client)
|
||||
{
|
||||
REQUEST(xShapeRectanglesReq);
|
||||
XineramaRes *win;
|
||||
PanoramiXRes *win;
|
||||
int j, result = 0;
|
||||
|
||||
REQUEST_AT_LEAST_SIZE (xShapeRectanglesReq);
|
||||
|
||||
if(!(win = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->dest, XRT_WINDOW, SecurityWriteAccess)))
|
||||
return BadWindow;
|
||||
|
||||
|
@ -471,17 +471,17 @@ ProcXineramaShapeMask(
|
|||
register ClientPtr client)
|
||||
{
|
||||
REQUEST(xShapeMaskReq);
|
||||
XineramaRes *win, *pmap;
|
||||
PanoramiXRes *win, *pmap;
|
||||
int j, result = 0;
|
||||
|
||||
REQUEST_SIZE_MATCH (xShapeMaskReq);
|
||||
|
||||
if(!(win = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->dest, XRT_WINDOW, SecurityWriteAccess)))
|
||||
return BadWindow;
|
||||
|
||||
if(stuff->src != None) {
|
||||
if(!(pmap = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(pmap = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->src, XRT_PIXMAP, SecurityReadAccess)))
|
||||
return BadPixmap;
|
||||
} else
|
||||
|
@ -586,16 +586,16 @@ ProcXineramaShapeCombine(
|
|||
register ClientPtr client)
|
||||
{
|
||||
REQUEST(xShapeCombineReq);
|
||||
XineramaRes *win, *win2;
|
||||
PanoramiXRes *win, *win2;
|
||||
int j, result = 0;
|
||||
|
||||
REQUEST_AT_LEAST_SIZE (xShapeCombineReq);
|
||||
|
||||
if(!(win = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->dest, XRT_WINDOW, SecurityWriteAccess)))
|
||||
return BadWindow;
|
||||
|
||||
if(!(win2 = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(win2 = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->src, XRT_WINDOW, SecurityReadAccess)))
|
||||
return BadWindow;
|
||||
|
||||
|
@ -655,12 +655,12 @@ ProcXineramaShapeOffset(
|
|||
register ClientPtr client)
|
||||
{
|
||||
REQUEST(xShapeOffsetReq);
|
||||
XineramaRes *win;
|
||||
PanoramiXRes *win;
|
||||
int j, result = 0;
|
||||
|
||||
REQUEST_AT_LEAST_SIZE (xShapeOffsetReq);
|
||||
|
||||
if(!(win = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(win = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->dest, XRT_WINDOW, SecurityWriteAccess)))
|
||||
return BadWindow;
|
||||
|
||||
|
@ -1066,28 +1066,28 @@ ProcShapeDispatch (client)
|
|||
return ProcShapeQueryVersion (client);
|
||||
case X_ShapeRectangles:
|
||||
#ifdef XINERAMA
|
||||
if ( !noXineramaExtension )
|
||||
if ( !noPanoramiXExtension )
|
||||
return ProcXineramaShapeRectangles (client);
|
||||
else
|
||||
#endif
|
||||
return ProcShapeRectangles (client);
|
||||
case X_ShapeMask:
|
||||
#ifdef XINERAMA
|
||||
if ( !noXineramaExtension )
|
||||
if ( !noPanoramiXExtension )
|
||||
return ProcXineramaShapeMask (client);
|
||||
else
|
||||
#endif
|
||||
return ProcShapeMask (client);
|
||||
case X_ShapeCombine:
|
||||
#ifdef XINERAMA
|
||||
if ( !noXineramaExtension )
|
||||
if ( !noPanoramiXExtension )
|
||||
return ProcXineramaShapeCombine (client);
|
||||
else
|
||||
#endif
|
||||
return ProcShapeCombine (client);
|
||||
case X_ShapeOffset:
|
||||
#ifdef XINERAMA
|
||||
if ( !noXineramaExtension )
|
||||
if ( !noPanoramiXExtension )
|
||||
return ProcXineramaShapeOffset (client);
|
||||
else
|
||||
#endif
|
||||
|
|
46
Xext/shm.c
46
Xext/shm.c
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg: xc/programs/Xserver/Xext/shm.c,v 1.1.4.3 2003/12/18 19:29:12 kaleb Exp $ */
|
||||
/* $XdotOrg: xc/programs/Xserver/Xext/shm.c,v 1.1.4.5 2004/02/25 21:46:33 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/Xext/shm.c,v 3.42 2003/12/18 10:15:24 alanh Exp $ *
|
||||
/************************************************************
|
||||
|
||||
|
@ -64,8 +64,8 @@ in this Software without prior written authorization from The Open Group.
|
|||
#endif
|
||||
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
#endif
|
||||
|
||||
#include "modinit.h"
|
||||
|
@ -566,17 +566,17 @@ static int
|
|||
ProcXineramaShmPutImage(register ClientPtr client)
|
||||
{
|
||||
int j, result = 0, orig_x, orig_y;
|
||||
XineramaRes *draw, *gc;
|
||||
PanoramiXRes *draw, *gc;
|
||||
Bool sendEvent, isRoot;
|
||||
|
||||
REQUEST(xShmPutImageReq);
|
||||
REQUEST_SIZE_MATCH(xShmPutImageReq);
|
||||
|
||||
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
|
||||
return BadDrawable;
|
||||
|
||||
if(!(gc = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->gc, XRT_GC, SecurityReadAccess)))
|
||||
return BadGC;
|
||||
|
||||
|
@ -592,8 +592,8 @@ ProcXineramaShmPutImage(register ClientPtr client)
|
|||
stuff->drawable = draw->info[j].id;
|
||||
stuff->gc = gc->info[j].id;
|
||||
if (isRoot) {
|
||||
stuff->dstX = orig_x - xineramaDataPtr[j].x;
|
||||
stuff->dstY = orig_y - xineramaDataPtr[j].y;
|
||||
stuff->dstX = orig_x - panoramiXdataPtr[j].x;
|
||||
stuff->dstY = orig_y - panoramiXdataPtr[j].y;
|
||||
}
|
||||
result = ProcShmPutImage(client);
|
||||
if(result != client->noClientException) break;
|
||||
|
@ -604,7 +604,7 @@ ProcXineramaShmPutImage(register ClientPtr client)
|
|||
static int
|
||||
ProcXineramaShmGetImage(ClientPtr client)
|
||||
{
|
||||
XineramaRes *draw;
|
||||
PanoramiXRes *draw;
|
||||
DrawablePtr drawables[MAXSCREENS];
|
||||
DrawablePtr pDraw;
|
||||
xShmGetImageReply xgi;
|
||||
|
@ -623,7 +623,7 @@ ProcXineramaShmGetImage(ClientPtr client)
|
|||
return(BadValue);
|
||||
}
|
||||
|
||||
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
|
||||
return BadDrawable;
|
||||
|
||||
|
@ -646,15 +646,15 @@ ProcXineramaShmGetImage(ClientPtr client)
|
|||
|
||||
if(isRoot) {
|
||||
if( /* check for being onscreen */
|
||||
x < 0 || x + w > XineramaPixWidth ||
|
||||
y < 0 || y + h > XineramaPixHeight )
|
||||
x < 0 || x + w > PanoramiXPixWidth ||
|
||||
y < 0 || y + h > PanoramiXPixHeight )
|
||||
return(BadMatch);
|
||||
} else {
|
||||
if( /* check for being onscreen */
|
||||
xineramaDataPtr[0].x + pDraw->x + x < 0 ||
|
||||
xineramaDataPtr[0].x + pDraw->x + x + w > XineramaPixWidth ||
|
||||
xineramaDataPtr[0].y + pDraw->y + y < 0 ||
|
||||
xineramaDataPtr[0].y + pDraw->y + y + h > XineramaPixHeight ||
|
||||
panoramiXdataPtr[0].x + pDraw->x + x < 0 ||
|
||||
panoramiXdataPtr[0].x + pDraw->x + x + w > PanoramiXPixWidth ||
|
||||
panoramiXdataPtr[0].y + pDraw->y + y < 0 ||
|
||||
panoramiXdataPtr[0].y + pDraw->y + y + h > PanoramiXPixHeight ||
|
||||
/* check for being inside of border */
|
||||
x < - wBorderWidth((WindowPtr)pDraw) ||
|
||||
x + w > wBorderWidth((WindowPtr)pDraw) + (int)pDraw->width ||
|
||||
|
@ -664,7 +664,7 @@ ProcXineramaShmGetImage(ClientPtr client)
|
|||
}
|
||||
|
||||
drawables[0] = pDraw;
|
||||
for(i = 1; i < XineramaNumScreens; i++)
|
||||
for(i = 1; i < PanoramiXNumScreens; i++)
|
||||
VERIFY_DRAWABLE(drawables[i], draw->info[i].id, client);
|
||||
|
||||
xgi.visual = wVisual(((WindowPtr)pDraw));
|
||||
|
@ -727,7 +727,7 @@ ProcXineramaShmCreatePixmap(
|
|||
int i, j, result;
|
||||
ShmDescPtr shmdesc;
|
||||
REQUEST(xShmCreatePixmapReq);
|
||||
XineramaRes *newPix;
|
||||
PanoramiXRes *newPix;
|
||||
|
||||
REQUEST_SIZE_MATCH(xShmCreatePixmapReq);
|
||||
client->errorValue = stuff->pid;
|
||||
|
@ -755,13 +755,13 @@ CreatePmap:
|
|||
PixmapBytePad(stuff->width, stuff->depth) * stuff->height,
|
||||
client);
|
||||
|
||||
if(!(newPix = (XineramaRes *) xalloc(sizeof(XineramaRes))))
|
||||
if(!(newPix = (PanoramiXRes *) xalloc(sizeof(PanoramiXRes))))
|
||||
return BadAlloc;
|
||||
|
||||
newPix->type = XRT_PIXMAP;
|
||||
newPix->u.pix.shared = TRUE;
|
||||
newPix->info[0].id = stuff->pid;
|
||||
for(j = 1; j < XineramaNumScreens; j++)
|
||||
for(j = 1; j < PanoramiXNumScreens; j++)
|
||||
newPix->info[j].id = FakeClientID(client->index);
|
||||
|
||||
result = (client->noClientException);
|
||||
|
@ -1114,19 +1114,19 @@ ProcShmDispatch (client)
|
|||
return ProcShmDetach(client);
|
||||
case X_ShmPutImage:
|
||||
#ifdef XINERAMA
|
||||
if ( !noXineramaExtension )
|
||||
if ( !noPanoramiXExtension )
|
||||
return ProcXineramaShmPutImage(client);
|
||||
#endif
|
||||
return ProcShmPutImage(client);
|
||||
case X_ShmGetImage:
|
||||
#ifdef XINERAMA
|
||||
if ( !noXineramaExtension )
|
||||
if ( !noPanoramiXExtension )
|
||||
return ProcXineramaShmGetImage(client);
|
||||
#endif
|
||||
return ProcShmGetImage(client);
|
||||
case X_ShmCreatePixmap:
|
||||
#ifdef XINERAMA
|
||||
if ( !noXineramaExtension )
|
||||
if ( !noPanoramiXExtension )
|
||||
return ProcXineramaShmCreatePixmap(client);
|
||||
#endif
|
||||
return ProcShmCreatePixmap(client);
|
||||
|
|
|
@ -0,0 +1,628 @@
|
|||
/************************************************************
|
||||
|
||||
Copyright 2003 Sun Microsystems, Inc.
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, and/or sell copies of the Software, and to permit persons
|
||||
to whom the Software is furnished to do so, provided that the above
|
||||
copyright notice(s) and this permission notice appear in all copies of
|
||||
the Software and that both the above copyright notice(s) and this
|
||||
permission notice appear in supporting documentation.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||
HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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.
|
||||
|
||||
Except as contained in this notice, the name of a copyright holder
|
||||
shall not be used in advertising or otherwise to promote the sale, use
|
||||
or other dealings in this Software without prior written authorization
|
||||
of the copyright holder.
|
||||
|
||||
************************************************************/
|
||||
|
||||
#define NEED_REPLIES
|
||||
#define NEED_EVENTS
|
||||
#include "X.h"
|
||||
#include "Xproto.h"
|
||||
#include "misc.h"
|
||||
#include "dixstruct.h"
|
||||
#include "extnsionst.h"
|
||||
#include "colormapst.h"
|
||||
#include "scrnintstr.h"
|
||||
#include "servermd.h"
|
||||
#include "opaque.h"
|
||||
#define _XEVIE_SERVER_
|
||||
#include "Xeviestr.h"
|
||||
#include "Xfuncproto.h"
|
||||
#include "input.h"
|
||||
#include "inputstr.h"
|
||||
#include "windowstr.h"
|
||||
#include "cursorstr.h"
|
||||
#include "swaprep.h"
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
|
||||
#ifndef EXTMODULE
|
||||
#include "../os/osdep.h"
|
||||
#else
|
||||
#include "xf86_ansic.h"
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#define DEBUG
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
# define ERR(x) ErrorF(x)
|
||||
#else
|
||||
#define ERR
|
||||
#endif
|
||||
|
||||
static int xevieFlag = 0;
|
||||
static int xevieClientIndex = 0;
|
||||
static Mask xevieMask = 0;
|
||||
static Bool xeviegrabState = FALSE;
|
||||
static unsigned int xevieServerGeneration;
|
||||
static int xevieDevicePrivateIndex;
|
||||
static Bool xevieModifiersOn = FALSE;
|
||||
|
||||
#define XEVIEINFO(dev) ((xevieDeviceInfoPtr)dev->devPrivates[xevieDevicePrivateIndex].ptr)
|
||||
#define NoSuchEvent 0x80000000
|
||||
|
||||
Mask xevieFilters[128] =
|
||||
{
|
||||
NoSuchEvent, /* 0 */
|
||||
NoSuchEvent, /* 1 */
|
||||
KeyPressMask, /* KeyPress */
|
||||
KeyReleaseMask, /* KeyRelease */
|
||||
ButtonPressMask, /* ButtonPress */
|
||||
ButtonReleaseMask, /* ButtonRelease */
|
||||
PointerMotionMask /* MotionNotify (initial state) */
|
||||
};
|
||||
#undef NoSuchEvent
|
||||
|
||||
typedef struct {
|
||||
ProcessInputProc processInputProc;
|
||||
ProcessInputProc realInputProc;
|
||||
DeviceUnwrapProc unwrapProc;
|
||||
} xevieDeviceInfoRec, *xevieDeviceInfoPtr;
|
||||
|
||||
static int ProcDispatch (ClientPtr), SProcDispatch (ClientPtr);
|
||||
static void ResetProc (ExtensionEntry*);
|
||||
|
||||
static unsigned char ReqCode = 0;
|
||||
static int ErrorBase;
|
||||
|
||||
static Bool XevieStart(void);
|
||||
static void XevieEnd(int clientIndex);
|
||||
static void XevieClientStateCallback(CallbackListPtr *pcbl, pointer nulldata,
|
||||
pointer calldata);
|
||||
static void XevieServerGrabStateCallback(CallbackListPtr *pcbl,
|
||||
pointer nulldata,
|
||||
pointer calldata);
|
||||
|
||||
static Bool XevieAdd(DeviceIntPtr device, pointer data);
|
||||
static void XevieWrap(DeviceIntPtr device, ProcessInputProc proc);
|
||||
static Bool XevieRemove(DeviceIntPtr device, pointer data);
|
||||
static void doSendEvent(xEvent *xE, DeviceIntPtr device);
|
||||
static void XeviePointerProcessInputProc(xEvent *xE, DeviceIntPtr dev,
|
||||
int count);
|
||||
static void XevieKbdProcessInputProc(xEvent *xE, DeviceIntPtr dev, int count);
|
||||
|
||||
void
|
||||
XevieExtensionInit (INITARGS)
|
||||
{
|
||||
ExtensionEntry* extEntry;
|
||||
|
||||
if (serverGeneration != xevieServerGeneration) {
|
||||
if ((xevieDevicePrivateIndex = AllocateDevicePrivateIndex()) == -1)
|
||||
return;
|
||||
xevieServerGeneration = serverGeneration;
|
||||
}
|
||||
|
||||
if (!AddCallback(&ServerGrabCallback,XevieServerGrabStateCallback,NULL))
|
||||
return;
|
||||
|
||||
if ((extEntry = AddExtension (XEVIENAME,
|
||||
0,
|
||||
XevieNumberErrors,
|
||||
ProcDispatch,
|
||||
SProcDispatch,
|
||||
ResetProc,
|
||||
StandardMinorOpcode))) {
|
||||
ReqCode = (unsigned char)extEntry->base;
|
||||
ErrorBase = extEntry->errorBase;
|
||||
}
|
||||
}
|
||||
|
||||
/*ARGSUSED*/
|
||||
static
|
||||
void ResetProc (ExtensionEntry* extEntry)
|
||||
{
|
||||
}
|
||||
|
||||
static
|
||||
int ProcQueryVersion (ClientPtr client)
|
||||
{
|
||||
xXevieQueryVersionReply rep;
|
||||
|
||||
REQUEST_SIZE_MATCH (xXevieQueryVersionReq);
|
||||
rep.type = X_Reply;
|
||||
rep.length = 0;
|
||||
rep.sequence_number = client->sequence;
|
||||
rep.server_major_version = XEVIE_MAJOR_VERSION;
|
||||
rep.server_minor_version = XEVIE_MINOR_VERSION;
|
||||
WriteToClient (client, sizeof (xXevieQueryVersionReply), (char *)&rep);
|
||||
return client->noClientException;
|
||||
}
|
||||
|
||||
static
|
||||
int ProcStart (ClientPtr client)
|
||||
{
|
||||
xXevieStartReply rep;
|
||||
|
||||
REQUEST_SIZE_MATCH (xXevieStartReq);
|
||||
rep.pad1 = 0;
|
||||
|
||||
if(!xevieFlag){
|
||||
if (AddCallback(&ClientStateCallback,XevieClientStateCallback,NULL)) {
|
||||
xevieFlag = 1;
|
||||
rep.pad1 = 1;
|
||||
xevieClientIndex = client->index;
|
||||
} else
|
||||
return BadAlloc;
|
||||
} else
|
||||
return BadAccess;
|
||||
|
||||
if (!XevieStart()) {
|
||||
DeleteCallback(&ClientStateCallback,XevieClientStateCallback,NULL);
|
||||
return BadAlloc;
|
||||
}
|
||||
|
||||
xevieModifiersOn = FALSE;
|
||||
|
||||
rep.type = X_Reply;
|
||||
rep.sequence_number = client->sequence;
|
||||
WriteToClient (client, sizeof (xXevieStartReply), (char *)&rep);
|
||||
return client->noClientException;
|
||||
}
|
||||
|
||||
static
|
||||
int ProcEnd (ClientPtr client)
|
||||
{
|
||||
xXevieEndReply rep;
|
||||
|
||||
if (xevieFlag) {
|
||||
if (client->index != xevieClientIndex)
|
||||
return BadAccess;
|
||||
|
||||
DeleteCallback(&ClientStateCallback,XevieClientStateCallback,NULL);
|
||||
XevieEnd(xevieClientIndex);
|
||||
}
|
||||
|
||||
rep.type = X_Reply;
|
||||
rep.sequence_number = client->sequence;
|
||||
WriteToClient (client, sizeof (xXevieEndReply), (char *)&rep);
|
||||
return client->noClientException;
|
||||
}
|
||||
|
||||
static
|
||||
int ProcSend (ClientPtr client)
|
||||
{
|
||||
REQUEST (xXevieSendReq);
|
||||
xXevieSendReply rep;
|
||||
xEvent *xE;
|
||||
static unsigned char lastDetail = 0, lastType = 0;
|
||||
|
||||
ERR("ProcSend\n");
|
||||
|
||||
if (client->index != xevieClientIndex)
|
||||
return BadAccess;
|
||||
|
||||
xE = (xEvent *)&stuff->event;
|
||||
rep.type = X_Reply;
|
||||
rep.sequence_number = client->sequence;
|
||||
WriteToClient (client, sizeof (xXevieSendReply), (char *)&rep);
|
||||
|
||||
switch(xE->u.u.type) {
|
||||
case KeyPress:
|
||||
case KeyRelease:
|
||||
doSendEvent(xE, inputInfo.keyboard);
|
||||
break;
|
||||
case ButtonPress:
|
||||
case ButtonRelease:
|
||||
case MotionNotify:
|
||||
doSendEvent(xE, inputInfo.pointer);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
lastType = xE->u.u.type;
|
||||
lastDetail = xE->u.u.detail;
|
||||
|
||||
return client->noClientException;
|
||||
}
|
||||
|
||||
static
|
||||
int ProcSelectInput (ClientPtr client)
|
||||
{
|
||||
REQUEST (xXevieSelectInputReq);
|
||||
xXevieSelectInputReply rep;
|
||||
|
||||
if (client->index != xevieClientIndex)
|
||||
return BadAccess;
|
||||
|
||||
xevieMask = (long)stuff->event_mask;
|
||||
rep.type = X_Reply;
|
||||
rep.sequence_number = client->sequence;
|
||||
WriteToClient (client, sizeof (xXevieSelectInputReply), (char *)&rep);
|
||||
return client->noClientException;
|
||||
}
|
||||
|
||||
static
|
||||
int ProcDispatch (ClientPtr client)
|
||||
{
|
||||
REQUEST (xReq);
|
||||
switch (stuff->data)
|
||||
{
|
||||
case X_XevieQueryVersion:
|
||||
return ProcQueryVersion (client);
|
||||
case X_XevieStart:
|
||||
return ProcStart (client);
|
||||
case X_XevieEnd:
|
||||
return ProcEnd (client);
|
||||
case X_XevieSend:
|
||||
return ProcSend (client);
|
||||
case X_XevieSelectInput:
|
||||
return ProcSelectInput(client);
|
||||
default:
|
||||
return BadRequest;
|
||||
}
|
||||
}
|
||||
|
||||
static
|
||||
int SProcQueryVersion (ClientPtr client)
|
||||
{
|
||||
register int n;
|
||||
|
||||
REQUEST(xXevieQueryVersionReq);
|
||||
swaps(&stuff->length, n);
|
||||
return ProcQueryVersion(client);
|
||||
}
|
||||
|
||||
static
|
||||
int SProcStart (ClientPtr client)
|
||||
{
|
||||
register int n;
|
||||
|
||||
REQUEST (xXevieStartReq);
|
||||
swaps (&stuff->length, n);
|
||||
swapl (&stuff->screen, n);
|
||||
REQUEST_AT_LEAST_SIZE (xXevieStartReq);
|
||||
return ProcStart (client);
|
||||
}
|
||||
|
||||
static
|
||||
int SProcEnd (ClientPtr client)
|
||||
{
|
||||
register int n;
|
||||
|
||||
REQUEST (xXevieEndReq);
|
||||
swaps (&stuff->length, n);
|
||||
REQUEST_AT_LEAST_SIZE (xXevieEndReq);
|
||||
swapl(&stuff->cmap, n);
|
||||
return ProcEnd (client);
|
||||
}
|
||||
|
||||
static
|
||||
int SProcSend (ClientPtr client)
|
||||
{
|
||||
register int n;
|
||||
|
||||
REQUEST (xXevieSendReq);
|
||||
swaps (&stuff->length, n);
|
||||
REQUEST_AT_LEAST_SIZE (xXevieSendReq);
|
||||
swapl(&stuff->event, n);
|
||||
return ProcSend (client);
|
||||
}
|
||||
|
||||
static
|
||||
int SProcSelectInput (ClientPtr client)
|
||||
{
|
||||
register int n;
|
||||
|
||||
REQUEST (xXevieSelectInputReq);
|
||||
swaps (&stuff->length, n);
|
||||
REQUEST_AT_LEAST_SIZE (xXevieSendReq);
|
||||
swapl(&stuff->event_mask, n);
|
||||
return ProcSelectInput (client);
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
int SProcDispatch (ClientPtr client)
|
||||
{
|
||||
REQUEST(xReq);
|
||||
switch (stuff->data)
|
||||
{
|
||||
case X_XevieQueryVersion:
|
||||
return SProcQueryVersion (client);
|
||||
case X_XevieStart:
|
||||
return SProcStart (client);
|
||||
case X_XevieEnd:
|
||||
return SProcEnd (client);
|
||||
case X_XevieSend:
|
||||
return SProcSend (client);
|
||||
case X_XevieSelectInput:
|
||||
return SProcSelectInput(client);
|
||||
default:
|
||||
return BadRequest;
|
||||
}
|
||||
}
|
||||
|
||||
/*=====================================================*/
|
||||
|
||||
|
||||
#define WRAP_INPUTPROC(dev,store,inputProc) \
|
||||
store->processInputProc = dev->public.processInputProc; \
|
||||
dev->public.processInputProc = inputProc; \
|
||||
store->realInputProc = dev->public.realInputProc; \
|
||||
dev->public.realInputProc = inputProc;
|
||||
|
||||
#define COND_WRAP_INPUTPROC(dev,store,inputProc) \
|
||||
if (dev->public.processInputProc == dev->public.realInputProc) \
|
||||
dev->public.processInputProc = inputProc; \
|
||||
store->processInputProc = \
|
||||
store->realInputProc = dev->public.realInputProc; \
|
||||
dev->public.realInputProc = inputProc;
|
||||
|
||||
#define UNWRAP_INPUTPROC(dev,restore) \
|
||||
dev->public.processInputProc = restore->processInputProc; \
|
||||
dev->public.realInputProc = restore->realInputProc;
|
||||
|
||||
#define UNWRAP_INPUTPROC(dev,restore) \
|
||||
dev->public.processInputProc = restore->processInputProc; \
|
||||
dev->public.realInputProc = restore->realInputProc;
|
||||
|
||||
#define XEVIE_EVENT(xE) \
|
||||
(xevieFlag \
|
||||
&& !xeviegrabState \
|
||||
&& clients[xevieClientIndex] \
|
||||
&& (xevieMask & xevieFilters[xE->u.u.type]))
|
||||
|
||||
|
||||
static void
|
||||
sendEvent(ClientPtr pClient, xEvent *xE)
|
||||
{
|
||||
if(pClient->swapped) {
|
||||
xEvent eventTo;
|
||||
|
||||
/* Remember to strip off the leading bit of type in case
|
||||
this event was sent with "SendEvent." */
|
||||
(*EventSwapVector[xE->u.u.type & 0177]) (xE, &eventTo);
|
||||
(void)WriteToClient(pClient, sizeof(xEvent), (char *)&eventTo);
|
||||
} else {
|
||||
(void)WriteToClient(pClient, sizeof(xEvent), (char *) xE);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
XevieKbdProcessInputProc(xEvent *xE, DeviceIntPtr dev, int count)
|
||||
{
|
||||
int key, bit;
|
||||
BYTE *kptr;
|
||||
ProcessInputProc tmp;
|
||||
KeyClassPtr keyc = dev->key;
|
||||
xevieDeviceInfoPtr xeviep = XEVIEINFO(dev);
|
||||
|
||||
if(XEVIE_EVENT(xE)) {
|
||||
ERR("XevieKbdProcessInputProc\n");
|
||||
|
||||
key = xE->u.u.detail;
|
||||
kptr = &keyc->down[key >> 3];
|
||||
bit = 1 << (key & 7);
|
||||
|
||||
/*
|
||||
* This is a horrible hack: with xkb on we must zero the modifiers
|
||||
* before sending an event sent back by xevie to
|
||||
* CoreProcessKeyboardEvent.
|
||||
* Since we cannot probe for xkb directly we need to check if the
|
||||
* modifers are set at this point. If they are we know that xkb
|
||||
* isn't active.
|
||||
*/
|
||||
if (dev->key->modifierMap[xE->u.u.detail])
|
||||
xevieModifiersOn = TRUE;
|
||||
|
||||
xE->u.keyButtonPointer.event = xeviewin->drawable.id;
|
||||
xE->u.keyButtonPointer.root = GetCurrentRootWindow()->drawable.id;
|
||||
xE->u.keyButtonPointer.child = (xeviewin->firstChild)
|
||||
? xeviewin->firstChild->drawable.id:0;
|
||||
xE->u.keyButtonPointer.rootX = xeviehot.x;
|
||||
xE->u.keyButtonPointer.rootY = xeviehot.y;
|
||||
xE->u.keyButtonPointer.state = keyc->state;
|
||||
/* fix bug: sequence lost in Xlib */
|
||||
xE->u.u.sequenceNumber = clients[xevieClientIndex]->sequence;
|
||||
sendEvent(clients[xevieClientIndex], xE);
|
||||
return;
|
||||
}
|
||||
|
||||
tmp = dev->public.realInputProc;
|
||||
UNWRAP_INPUTPROC(dev,xeviep);
|
||||
dev->public.processInputProc(xE,dev,count);
|
||||
COND_WRAP_INPUTPROC(dev,xeviep,tmp);
|
||||
}
|
||||
|
||||
static void
|
||||
XeviePointerProcessInputProc(xEvent *xE, DeviceIntPtr dev, int count)
|
||||
{
|
||||
xevieDeviceInfoPtr xeviep = XEVIEINFO(dev);
|
||||
ProcessInputProc tmp;
|
||||
|
||||
if (XEVIE_EVENT(xE)) {
|
||||
ERR("XeviePointerProcessInputProc\n");
|
||||
/* fix bug: sequence lost in Xlib */
|
||||
xE->u.u.sequenceNumber = clients[xevieClientIndex]->sequence;
|
||||
sendEvent(clients[xevieClientIndex], xE);
|
||||
return;
|
||||
}
|
||||
|
||||
tmp = dev->public.realInputProc;
|
||||
UNWRAP_INPUTPROC(dev,xeviep);
|
||||
dev->public.processInputProc(xE,dev,count);
|
||||
COND_WRAP_INPUTPROC(dev,xeviep,tmp);
|
||||
}
|
||||
|
||||
static Bool
|
||||
XevieStart(void)
|
||||
{
|
||||
ProcessInputProc prp;
|
||||
prp = XevieKbdProcessInputProc;
|
||||
if (!XevieAdd(inputInfo.keyboard,&prp))
|
||||
return FALSE;
|
||||
prp = XeviePointerProcessInputProc;
|
||||
if (!XevieAdd(inputInfo.pointer,&prp))
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
XevieEnd(int clientIndex)
|
||||
{
|
||||
if (!clientIndex || clientIndex == xevieClientIndex) {
|
||||
XevieRemove(inputInfo.keyboard,NULL);
|
||||
XevieRemove(inputInfo.pointer,NULL);
|
||||
xevieFlag = 0;
|
||||
xevieClientIndex = 0;
|
||||
DeleteCallback (&ClientStateCallback, XevieClientStateCallback, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
XevieClientStateCallback(CallbackListPtr *pcbl, pointer nulldata,
|
||||
pointer calldata)
|
||||
{
|
||||
NewClientInfoRec *pci = (NewClientInfoRec *)calldata;
|
||||
ClientPtr client = pci->client;
|
||||
if (client->clientState == ClientStateGone
|
||||
|| client->clientState == ClientStateRetained)
|
||||
XevieEnd(client->index);
|
||||
}
|
||||
|
||||
static void
|
||||
XevieServerGrabStateCallback(CallbackListPtr *pcbl, pointer nulldata,
|
||||
pointer calldata)
|
||||
{
|
||||
ServerGrabInfoRec *grbinfo = (ServerGrabInfoRec *)calldata;
|
||||
if (grbinfo->grabstate == SERVER_GRABBED)
|
||||
xeviegrabState = TRUE;
|
||||
else
|
||||
xeviegrabState = FALSE;
|
||||
}
|
||||
|
||||
#define UNWRAP_UNWRAPPROC(device,proc_store) \
|
||||
device->unwrapProc = proc_store;
|
||||
|
||||
#define WRAP_UNWRAPPROC(device,proc_store,proc) \
|
||||
proc_store = device->unwrapProc; \
|
||||
device->unwrapProc = proc;
|
||||
|
||||
static void
|
||||
xevieUnwrapProc(DeviceIntPtr device, DeviceHandleProc proc, pointer data)
|
||||
{
|
||||
xevieDeviceInfoPtr xeviep = XEVIEINFO(device);
|
||||
ProcessInputProc tmp = device->public.processInputProc;
|
||||
|
||||
UNWRAP_INPUTPROC(device,xeviep);
|
||||
UNWRAP_UNWRAPPROC(device,xeviep->unwrapProc);
|
||||
proc(device,data);
|
||||
WRAP_INPUTPROC(device,xeviep,tmp);
|
||||
WRAP_UNWRAPPROC(device,xeviep->unwrapProc,xevieUnwrapProc);
|
||||
}
|
||||
|
||||
static Bool
|
||||
XevieUnwrapAdd(DeviceIntPtr device, void* data)
|
||||
{
|
||||
if (device->unwrapProc)
|
||||
device->unwrapProc(device,XevieUnwrapAdd,data);
|
||||
else {
|
||||
ProcessInputProc *ptr = data;
|
||||
XevieWrap(device,*ptr);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static Bool
|
||||
XevieAdd(DeviceIntPtr device, void* data)
|
||||
{
|
||||
xevieDeviceInfoPtr xeviep;
|
||||
|
||||
if (!AllocateDevicePrivate(device, xevieDevicePrivateIndex))
|
||||
return FALSE;
|
||||
|
||||
xeviep = xcalloc (sizeof (xevieDeviceInfoRec),1);
|
||||
if (!xeviep)
|
||||
return FALSE;
|
||||
|
||||
device->devPrivates[xevieDevicePrivateIndex].ptr = xeviep;
|
||||
XevieUnwrapAdd(device, data);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static Bool
|
||||
XevieRemove(DeviceIntPtr device,pointer data)
|
||||
{
|
||||
xevieDeviceInfoPtr xeviep = XEVIEINFO(device);
|
||||
|
||||
if (!xeviep) return TRUE;
|
||||
|
||||
UNWRAP_INPUTPROC(device,xeviep);
|
||||
UNWRAP_UNWRAPPROC(device,xeviep->unwrapProc);
|
||||
|
||||
xfree(xeviep);
|
||||
device->devPrivates[xevieDevicePrivateIndex].ptr = NULL;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
XevieWrap(DeviceIntPtr device, ProcessInputProc proc)
|
||||
{
|
||||
xevieDeviceInfoPtr xeviep = XEVIEINFO(device);
|
||||
|
||||
WRAP_INPUTPROC(device,xeviep,proc);
|
||||
WRAP_UNWRAPPROC(device,xeviep->unwrapProc,xevieUnwrapProc);
|
||||
}
|
||||
|
||||
static void
|
||||
doSendEvent(xEvent *xE, DeviceIntPtr dev)
|
||||
{
|
||||
xevieDeviceInfoPtr xeviep = XEVIEINFO(dev);
|
||||
ProcessInputProc tmp = dev->public.realInputProc;
|
||||
if (((xE->u.u.type==KeyPress)||(xE->u.u.type==KeyRelease))
|
||||
&& !xevieModifiersOn) {
|
||||
CARD8 realModes = dev->key->modifierMap[xE->u.u.detail];
|
||||
dev->key->modifierMap[xE->u.u.detail] = 0;
|
||||
|
||||
UNWRAP_INPUTPROC(dev,xeviep);
|
||||
dev->public.processInputProc(xE,dev,1);
|
||||
COND_WRAP_INPUTPROC(dev,xeviep,tmp);
|
||||
dev->key->modifierMap[xE->u.u.detail] = realModes;
|
||||
} else {
|
||||
UNWRAP_INPUTPROC(dev,xeviep);
|
||||
dev->public.processInputProc(xE,dev,1);
|
||||
COND_WRAP_INPUTPROC(dev,xeviep,tmp);
|
||||
}
|
||||
}
|
20
Xext/xtest.c
20
Xext/xtest.c
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg: xtest.c,v 1.4 2001/02/09 02:04:33 xorgcvs Exp $ */
|
||||
/* $XdotOrg: xc/programs/Xserver/Xext/xtest.c,v 1.1.4.4 2004/02/25 21:46:33 kaleb Exp $ */
|
||||
/* $Xorg: xtest.c,v 1.4 2001/02/09 02:04:33 xorgcvs Exp $ */
|
||||
/*
|
||||
|
||||
|
@ -65,8 +65,8 @@ extern int DeviceValuator;
|
|||
#endif /* XINPUT */
|
||||
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
#endif
|
||||
|
||||
static void XTestResetProc(
|
||||
|
@ -392,12 +392,12 @@ ProcXTestFakeInput(client)
|
|||
}
|
||||
|
||||
#ifdef XINERAMA
|
||||
if (!noXineramaExtension) {
|
||||
if (!noPanoramiXExtension) {
|
||||
ScreenPtr pScreen = root->drawable.pScreen;
|
||||
BoxRec box;
|
||||
int i;
|
||||
int x = ev->u.keyButtonPointer.rootX + xineramaDataPtr[0].x;
|
||||
int y = ev->u.keyButtonPointer.rootY + xineramaDataPtr[0].y;
|
||||
int x = ev->u.keyButtonPointer.rootX + panoramiXdataPtr[0].x;
|
||||
int y = ev->u.keyButtonPointer.rootY + panoramiXdataPtr[0].y;
|
||||
if (!POINT_IN_REGION(pScreen, &XineramaScreenRegions[pScreen->myNum],
|
||||
x, y, &box)) {
|
||||
FOR_NSCREENS(i) {
|
||||
|
@ -406,8 +406,8 @@ ProcXTestFakeInput(client)
|
|||
&XineramaScreenRegions[i],
|
||||
x, y, &box)) {
|
||||
root = WindowTable[i];
|
||||
x -= xineramaDataPtr[i].x;
|
||||
y -= xineramaDataPtr[i].y;
|
||||
x -= panoramiXdataPtr[i].x;
|
||||
y -= panoramiXdataPtr[i].y;
|
||||
ev->u.keyButtonPointer.rootX = x;
|
||||
ev->u.keyButtonPointer.rootY = y;
|
||||
break;
|
||||
|
@ -427,9 +427,9 @@ ProcXTestFakeInput(client)
|
|||
ev->u.keyButtonPointer.rootY = root->drawable.height - 1;
|
||||
|
||||
#ifdef XINERAMA
|
||||
if ((!noXineramaExtension
|
||||
if ((!noPanoramiXExtension
|
||||
&& root->drawable.pScreen->myNum != XineramaGetCursorScreen())
|
||||
|| (noXineramaExtension && root != GetCurrentRootWindow()))
|
||||
|| (noPanoramiXExtension && root != GetCurrentRootWindow()))
|
||||
|
||||
#else
|
||||
if (root != GetCurrentRootWindow())
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XdotOrg: xc/programs/Xserver/Xext/xvdisp.c,v 1.1.4.3 2004/02/25 21:46:33 kaleb Exp $ */
|
||||
/***********************************************************
|
||||
Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
|
||||
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
|
||||
|
@ -74,8 +74,8 @@ SOFTWARE.
|
|||
#include "xvdisp.h"
|
||||
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
|
||||
unsigned long XvXRTPort;
|
||||
|
||||
|
@ -234,14 +234,14 @@ ProcXvDispatch(ClientPtr client)
|
|||
case xv_QueryEncodings: return(ProcXvQueryEncodings(client));
|
||||
case xv_PutVideo:
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension)
|
||||
if(!noPanoramiXExtension)
|
||||
return(XineramaXvPutVideo(client));
|
||||
else
|
||||
#endif
|
||||
return(ProcXvPutVideo(client));
|
||||
case xv_PutStill:
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension)
|
||||
if(!noPanoramiXExtension)
|
||||
return(XineramaXvPutStill(client));
|
||||
else
|
||||
#endif
|
||||
|
@ -254,14 +254,14 @@ ProcXvDispatch(ClientPtr client)
|
|||
case xv_SelectPortNotify: return(ProcXvSelectPortNotify(client));
|
||||
case xv_StopVideo:
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension)
|
||||
if(!noPanoramiXExtension)
|
||||
return(XineramaXvStopVideo(client));
|
||||
else
|
||||
#endif
|
||||
return(ProcXvStopVideo(client));
|
||||
case xv_SetPortAttribute:
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension)
|
||||
if(!noPanoramiXExtension)
|
||||
return(XineramaXvSetPortAttribute(client));
|
||||
else
|
||||
#endif
|
||||
|
@ -271,7 +271,7 @@ ProcXvDispatch(ClientPtr client)
|
|||
case xv_QueryPortAttributes: return(ProcXvQueryPortAttributes(client));
|
||||
case xv_PutImage:
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension)
|
||||
if(!noPanoramiXExtension)
|
||||
return(XineramaXvPutImage(client));
|
||||
else
|
||||
#endif
|
||||
|
@ -279,7 +279,7 @@ ProcXvDispatch(ClientPtr client)
|
|||
#ifdef MITSHM
|
||||
case xv_ShmPutImage:
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension)
|
||||
if(!noPanoramiXExtension)
|
||||
return(XineramaXvShmPutImage(client));
|
||||
else
|
||||
#endif
|
||||
|
@ -1872,15 +1872,15 @@ static int
|
|||
XineramaXvStopVideo(ClientPtr client)
|
||||
{
|
||||
int result = Success, i;
|
||||
XineramaRes *draw, *port;
|
||||
PanoramiXRes *draw, *port;
|
||||
REQUEST(xvStopVideoReq);
|
||||
REQUEST_SIZE_MATCH(xvStopVideoReq);
|
||||
|
||||
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
|
||||
return BadDrawable;
|
||||
|
||||
if(!(port = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->port, XvXRTPort, SecurityReadAccess)))
|
||||
return _XvBadPort;
|
||||
|
||||
|
@ -1899,12 +1899,12 @@ static int
|
|||
XineramaXvSetPortAttribute(ClientPtr client)
|
||||
{
|
||||
REQUEST(xvSetPortAttributeReq);
|
||||
XineramaRes *port;
|
||||
PanoramiXRes *port;
|
||||
int result = Success, i;
|
||||
|
||||
REQUEST_SIZE_MATCH(xvSetPortAttributeReq);
|
||||
|
||||
if(!(port = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->port, XvXRTPort, SecurityReadAccess)))
|
||||
return _XvBadPort;
|
||||
|
||||
|
@ -1923,22 +1923,22 @@ static int
|
|||
XineramaXvShmPutImage(ClientPtr client)
|
||||
{
|
||||
REQUEST(xvShmPutImageReq);
|
||||
XineramaRes *draw, *gc, *port;
|
||||
PanoramiXRes *draw, *gc, *port;
|
||||
Bool send_event = stuff->send_event;
|
||||
Bool isRoot;
|
||||
int result = Success, i, x, y;
|
||||
|
||||
REQUEST_SIZE_MATCH(xvShmPutImageReq);
|
||||
|
||||
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
|
||||
return BadDrawable;
|
||||
|
||||
if(!(gc = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->gc, XRT_GC, SecurityReadAccess)))
|
||||
return BadGC;
|
||||
|
||||
if(!(port = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->port, XvXRTPort, SecurityReadAccess)))
|
||||
return _XvBadPort;
|
||||
|
||||
|
@ -1956,8 +1956,8 @@ XineramaXvShmPutImage(ClientPtr client)
|
|||
stuff->drw_x = x;
|
||||
stuff->drw_y = y;
|
||||
if(isRoot) {
|
||||
stuff->drw_x -= xineramaDataPtr[i].x;
|
||||
stuff->drw_y -= xineramaDataPtr[i].y;
|
||||
stuff->drw_x -= panoramiXdataPtr[i].x;
|
||||
stuff->drw_y -= panoramiXdataPtr[i].y;
|
||||
}
|
||||
stuff->send_event = (send_event && !i) ? 1 : 0;
|
||||
|
||||
|
@ -1972,21 +1972,21 @@ static int
|
|||
XineramaXvPutImage(ClientPtr client)
|
||||
{
|
||||
REQUEST(xvPutImageReq);
|
||||
XineramaRes *draw, *gc, *port;
|
||||
PanoramiXRes *draw, *gc, *port;
|
||||
Bool isRoot;
|
||||
int result = Success, i, x, y;
|
||||
|
||||
REQUEST_AT_LEAST_SIZE(xvPutImageReq);
|
||||
|
||||
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
|
||||
return BadDrawable;
|
||||
|
||||
if(!(gc = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->gc, XRT_GC, SecurityReadAccess)))
|
||||
return BadGC;
|
||||
|
||||
if(!(port = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->port, XvXRTPort, SecurityReadAccess)))
|
||||
return _XvBadPort;
|
||||
|
||||
|
@ -2004,8 +2004,8 @@ XineramaXvPutImage(ClientPtr client)
|
|||
stuff->drw_x = x;
|
||||
stuff->drw_y = y;
|
||||
if(isRoot) {
|
||||
stuff->drw_x -= xineramaDataPtr[i].x;
|
||||
stuff->drw_y -= xineramaDataPtr[i].y;
|
||||
stuff->drw_x -= panoramiXdataPtr[i].x;
|
||||
stuff->drw_y -= panoramiXdataPtr[i].y;
|
||||
}
|
||||
|
||||
result = ProcXvPutImage(client);
|
||||
|
@ -2018,21 +2018,21 @@ static int
|
|||
XineramaXvPutVideo(ClientPtr client)
|
||||
{
|
||||
REQUEST(xvPutImageReq);
|
||||
XineramaRes *draw, *gc, *port;
|
||||
PanoramiXRes *draw, *gc, *port;
|
||||
Bool isRoot;
|
||||
int result = Success, i, x, y;
|
||||
|
||||
REQUEST_AT_LEAST_SIZE(xvPutVideoReq);
|
||||
|
||||
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
|
||||
return BadDrawable;
|
||||
|
||||
if(!(gc = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->gc, XRT_GC, SecurityReadAccess)))
|
||||
return BadGC;
|
||||
|
||||
if(!(port = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->port, XvXRTPort, SecurityReadAccess)))
|
||||
return _XvBadPort;
|
||||
|
||||
|
@ -2050,8 +2050,8 @@ XineramaXvPutVideo(ClientPtr client)
|
|||
stuff->drw_x = x;
|
||||
stuff->drw_y = y;
|
||||
if(isRoot) {
|
||||
stuff->drw_x -= xineramaDataPtr[i].x;
|
||||
stuff->drw_y -= xineramaDataPtr[i].y;
|
||||
stuff->drw_x -= panoramiXdataPtr[i].x;
|
||||
stuff->drw_y -= panoramiXdataPtr[i].y;
|
||||
}
|
||||
|
||||
result = ProcXvPutVideo(client);
|
||||
|
@ -2064,21 +2064,21 @@ static int
|
|||
XineramaXvPutStill(ClientPtr client)
|
||||
{
|
||||
REQUEST(xvPutImageReq);
|
||||
XineramaRes *draw, *gc, *port;
|
||||
PanoramiXRes *draw, *gc, *port;
|
||||
Bool isRoot;
|
||||
int result = Success, i, x, y;
|
||||
|
||||
REQUEST_AT_LEAST_SIZE(xvPutImageReq);
|
||||
|
||||
if(!(draw = (XineramaRes *)SecurityLookupIDByClass(
|
||||
if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass(
|
||||
client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess)))
|
||||
return BadDrawable;
|
||||
|
||||
if(!(gc = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(gc = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->gc, XRT_GC, SecurityReadAccess)))
|
||||
return BadGC;
|
||||
|
||||
if(!(port = (XineramaRes *)SecurityLookupIDByType(
|
||||
if(!(port = (PanoramiXRes *)SecurityLookupIDByType(
|
||||
client, stuff->port, XvXRTPort, SecurityReadAccess)))
|
||||
return _XvBadPort;
|
||||
|
||||
|
@ -2096,8 +2096,8 @@ XineramaXvPutStill(ClientPtr client)
|
|||
stuff->drw_x = x;
|
||||
stuff->drw_y = y;
|
||||
if(isRoot) {
|
||||
stuff->drw_x -= xineramaDataPtr[i].x;
|
||||
stuff->drw_y -= xineramaDataPtr[i].y;
|
||||
stuff->drw_x -= panoramiXdataPtr[i].x;
|
||||
stuff->drw_y -= panoramiXdataPtr[i].y;
|
||||
}
|
||||
|
||||
result = ProcXvPutStill(client);
|
||||
|
@ -2115,7 +2115,7 @@ void XineramifyXv(void)
|
|||
XvAttributePtr pAttr;
|
||||
XvScreenPtr xvsp;
|
||||
Bool isOverlay, hasOverlay;
|
||||
XineramaRes *port;
|
||||
PanoramiXRes *port;
|
||||
XvAdaptorPtr MatchingAdaptors[MAXSCREENS];
|
||||
int i, j, k, l;
|
||||
|
||||
|
@ -2141,7 +2141,7 @@ void XineramifyXv(void)
|
|||
}
|
||||
}
|
||||
|
||||
for(j = 1; j < XineramaNumScreens; j++) {
|
||||
for(j = 1; j < PanoramiXNumScreens; j++) {
|
||||
pScreen = screenInfo.screens[j];
|
||||
xvsp = (XvScreenPtr)pScreen->devPrivates[XvScreenIndex].ptr;
|
||||
|
||||
|
@ -2199,12 +2199,12 @@ void XineramifyXv(void)
|
|||
|
||||
/* now create a resource for each port */
|
||||
for(j = 0; j < refAdapt->nPorts; j++) {
|
||||
if(!(port = xalloc(sizeof(XineramaRes))))
|
||||
if(!(port = xalloc(sizeof(PanoramiXRes))))
|
||||
break;
|
||||
port->info[0].id = MatchingAdaptors[0]->base_id + j;
|
||||
AddResource(port->info[0].id, XvXRTPort, port);
|
||||
|
||||
for(k = 1; k < XineramaNumScreens; k++) {
|
||||
for(k = 1; k < PanoramiXNumScreens; k++) {
|
||||
if(MatchingAdaptors[k] && (MatchingAdaptors[k]->nPorts > j))
|
||||
port->info[k].id = MatchingAdaptors[k]->base_id + j;
|
||||
else
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XdotOrg: xc/programs/Xserver/Xext/xvmain.c,v 1.1.4.3 2004/02/25 21:46:33 kaleb Exp $ */
|
||||
/***********************************************************
|
||||
Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
|
||||
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
|
||||
|
@ -100,8 +100,8 @@ SOFTWARE.
|
|||
#endif
|
||||
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
#include "xvdisp.h"
|
||||
#endif
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ not be used in advertising or otherwise to promote the sale, use or other
|
|||
dealings in this Software without prior written authorization from said
|
||||
copyright holders.
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/Xprint/pcl/PclSFonts.c,v 1.7 2003/10/29 22:11:00 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/Xprint/pcl/PclSFonts.c,v 1.8 2003/12/22 17:48:05 tsi Exp $ */
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
@ -58,7 +58,6 @@ static short tmp2;
|
|||
|
||||
#define ESC 0x1b
|
||||
#define SYMBOL_SET 277
|
||||
#define MAX_CINDEX 255
|
||||
|
||||
static unsigned int PclDownloadChar(FILE *,PclCharDataPtr,unsigned short,unsigned char);
|
||||
static unsigned int PclDownloadHeader(FILE *, PclFontDescPtr, unsigned short);
|
||||
|
@ -117,8 +116,6 @@ PclDownloadSoftFont16(
|
|||
}
|
||||
pfh->index[row][col].fid = pfh->cur_fid;
|
||||
pfh->index[row][col].cindex = pfh->cur_cindex++;
|
||||
if ( pfh->cur_cindex > MAX_CINDEX )
|
||||
pfh->cur_cindex = 0;
|
||||
|
||||
PclDownloadChar(fp, pcd, pfh->index[row][col].fid, pfh->index[row][col].cindex);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg: cfbpntwin.c,v 1.4 2001/02/09 02:04:38 xorgcvs Exp $ */
|
||||
/* $XdotOrg: xc/programs/Xserver/cfb/cfbpntwin.c,v 1.1.4.4 2004/02/25 21:46:36 kaleb Exp $ */
|
||||
/* $Xorg: cfbpntwin.c,v 1.4 2001/02/09 02:04:38 xorgcvs Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
|
@ -60,9 +60,9 @@ SOFTWARE.
|
|||
#include "mi.h"
|
||||
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
extern Bool noXineramaExtension;
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
extern Bool noPanoramiXExtension;
|
||||
extern WindowPtr *WindowTable;
|
||||
#endif
|
||||
|
||||
|
@ -105,11 +105,11 @@ cfbPaintWindow(pWin, pRegion, what)
|
|||
int yorg = pWin->drawable.y;
|
||||
#endif
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension) {
|
||||
if(!noPanoramiXExtension) {
|
||||
int index = pWin->drawable.pScreen->myNum;
|
||||
if(WindowTable[index] == pWin) {
|
||||
xorg -= xineramaDataPtr[index].x;
|
||||
yorg -= xineramaDataPtr[index].y;
|
||||
xorg -= panoramiXdataPtr[index].x;
|
||||
yorg -= panoramiXdataPtr[index].y;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -163,11 +163,11 @@ cfbPaintWindow(pWin, pRegion, what)
|
|||
#endif
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension) {
|
||||
if(!noPanoramiXExtension) {
|
||||
int index = pWin->drawable.pScreen->myNum;
|
||||
if(WindowTable[index] == pBgWin) {
|
||||
xorg -= xineramaDataPtr[index].x;
|
||||
yorg -= xineramaDataPtr[index].y;
|
||||
xorg -= panoramiXdataPtr[index].x;
|
||||
yorg -= panoramiXdataPtr[index].y;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg: dbe.c,v 1.3 2000/08/17 19:48:16 cpqbld Exp $ */
|
||||
/* $XdotOrg: xc/programs/Xserver/dbe/dbe.c,v 1.1.4.3 2004/02/25 21:46:38 kaleb Exp $ */
|
||||
/* $Xorg: dbe.c,v 1.3 2000/08/17 19:48:16 cpqbld Exp $ */
|
||||
/******************************************************************************
|
||||
*
|
||||
|
@ -1822,8 +1822,8 @@ DbeExtensionInit()
|
|||
Bool ddxInitSuccess;
|
||||
|
||||
#ifdef XINERAMA
|
||||
extern Bool noXineramaExtension;
|
||||
if(!noXineramaExtension) return;
|
||||
extern Bool noPanoramiXExtension;
|
||||
if(!noPanoramiXExtension) return;
|
||||
#endif
|
||||
|
||||
/* Allocate private pointers in windows and screens. */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XdotOrg: xc/programs/Xserver/dix/colormap.c,v 1.1.4.4 2004/02/25 21:46:40 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/dix/colormap.c,v 3.12 2003/11/17 22:20:33 dawes Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
|
@ -63,9 +63,9 @@ SOFTWARE.
|
|||
#include "lbxserve.h"
|
||||
#endif
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
extern Bool noXineramaExtension;
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
extern Bool noPanoramiXExtension;
|
||||
#endif
|
||||
|
||||
extern XID clientErrorValue;
|
||||
|
@ -484,8 +484,8 @@ TellNoMap (pwin, pmid)
|
|||
/*
|
||||
* Only deliver event for Screen 0 when Xinerama enabled
|
||||
*/
|
||||
if (noXineramaExtension ||
|
||||
(!noXineramaExtension && !(pwin->drawable.pScreen->myNum))) {
|
||||
if (noPanoramiXExtension ||
|
||||
(!noPanoramiXExtension && !(pwin->drawable.pScreen->myNum))) {
|
||||
#endif
|
||||
/* This should be call to DeliverEvent */
|
||||
xE.u.u.type = ColormapNotify;
|
||||
|
@ -519,8 +519,8 @@ TellLostMap (pwin, value)
|
|||
/*
|
||||
* Only deliver event for Screen 0 when Xinerama enabled
|
||||
*/
|
||||
if (noXineramaExtension ||
|
||||
(!noXineramaExtension && !(pwin->drawable.pScreen->myNum)))
|
||||
if (noPanoramiXExtension ||
|
||||
(!noPanoramiXExtension && !(pwin->drawable.pScreen->myNum)))
|
||||
#endif
|
||||
if (wColormap(pwin) == *pmid)
|
||||
{
|
||||
|
@ -549,8 +549,8 @@ TellGainedMap (pwin, value)
|
|||
/*
|
||||
* Only deliver event for Screen 0 when Xinerama enabled
|
||||
*/
|
||||
if (noXineramaExtension ||
|
||||
(!noXineramaExtension && !(pwin->drawable.pScreen->myNum)))
|
||||
if (noPanoramiXExtension ||
|
||||
(!noPanoramiXExtension && !(pwin->drawable.pScreen->myNum)))
|
||||
#endif
|
||||
if (wColormap (pwin) == *pmid)
|
||||
{
|
||||
|
|
|
@ -122,6 +122,9 @@ _AddInputDevice(deviceProc, autoStart)
|
|||
#ifdef XKB
|
||||
dev->xkb_interest= NULL;
|
||||
#endif
|
||||
dev->devPrivates = NULL;
|
||||
dev->nPrivates = 0;
|
||||
dev->unwrapProc = NULL;
|
||||
inputInfo.off_devices = dev;
|
||||
return dev;
|
||||
}
|
||||
|
@ -208,6 +211,7 @@ CloseDevice(register DeviceIntPtr dev)
|
|||
|
||||
if (dev->inited)
|
||||
(void)(*dev->deviceProc)(dev, DEVICE_CLOSE);
|
||||
|
||||
xfree(dev->name);
|
||||
if (dev->key)
|
||||
{
|
||||
|
@ -277,6 +281,8 @@ CloseDevice(register DeviceIntPtr dev)
|
|||
}
|
||||
#endif
|
||||
xfree(dev->sync.event);
|
||||
xfree(dev->devPrivates);
|
||||
|
||||
xfree(dev);
|
||||
}
|
||||
|
||||
|
@ -358,13 +364,10 @@ _RegisterPointerDevice(device)
|
|||
{
|
||||
inputInfo.pointer = device;
|
||||
#ifdef XKB
|
||||
if (noXkbExtension) {
|
||||
device->public.processInputProc = CoreProcessPointerEvent;
|
||||
device->public.realInputProc = CoreProcessPointerEvent;
|
||||
} else {
|
||||
device->public.processInputProc = ProcessPointerEvent;
|
||||
device->public.realInputProc = ProcessPointerEvent;
|
||||
}
|
||||
device->public.processInputProc = CoreProcessPointerEvent;
|
||||
device->public.realInputProc = CoreProcessPointerEvent;
|
||||
if (!noXkbExtension)
|
||||
XkbSetExtension(device,ProcessPointerEvent);
|
||||
#else
|
||||
device->public.processInputProc = ProcessPointerEvent;
|
||||
device->public.realInputProc = ProcessPointerEvent;
|
||||
|
@ -385,13 +388,10 @@ _RegisterKeyboardDevice(device)
|
|||
{
|
||||
inputInfo.keyboard = device;
|
||||
#ifdef XKB
|
||||
if (noXkbExtension) {
|
||||
device->public.processInputProc = CoreProcessKeyboardEvent;
|
||||
device->public.realInputProc = CoreProcessKeyboardEvent;
|
||||
} else {
|
||||
device->public.processInputProc = ProcessKeyboardEvent;
|
||||
device->public.realInputProc = ProcessKeyboardEvent;
|
||||
}
|
||||
device->public.processInputProc = CoreProcessKeyboardEvent;
|
||||
device->public.realInputProc = CoreProcessKeyboardEvent;
|
||||
if (!noXkbExtension)
|
||||
XkbSetExtension(device,ProcessKeyboardEvent);
|
||||
#else
|
||||
device->public.processInputProc = ProcessKeyboardEvent;
|
||||
device->public.realInputProc = ProcessKeyboardEvent;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg: dispatch.c,v 1.5 2001/02/09 02:04:40 xorgcvs Exp $ */
|
||||
/* $XdotOrg: xc/programs/Xserver/dix/dispatch.c,v 1.1.4.4 2004/02/25 21:46:40 kaleb Exp $ */
|
||||
/* $Xorg: dispatch.c,v 1.5 2001/02/09 02:04:40 xorgcvs Exp $ */
|
||||
/************************************************************
|
||||
|
||||
|
@ -93,8 +93,8 @@ int ProcInitialConnection();
|
|||
#include "swaprep.h"
|
||||
#include "swapreq.h"
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
#endif
|
||||
#ifdef XCSECURITY
|
||||
#define _SECURITY_SERVER
|
||||
|
@ -2643,7 +2643,7 @@ ProcAllocColor(client)
|
|||
return (retval);
|
||||
}
|
||||
#ifdef XINERAMA
|
||||
if (noXineramaExtension || !pmap->pScreen->myNum)
|
||||
if (noPanoramiXExtension || !pmap->pScreen->myNum)
|
||||
#endif
|
||||
WriteReplyToClient(client, sizeof(xAllocColorReply), &acr);
|
||||
return (client->noClientException);
|
||||
|
@ -2702,7 +2702,7 @@ ProcAllocNamedColor (client)
|
|||
return(retval);
|
||||
}
|
||||
#ifdef XINERAMA
|
||||
if (noXineramaExtension || !pcmp->pScreen->myNum)
|
||||
if (noPanoramiXExtension || !pcmp->pScreen->myNum)
|
||||
#endif
|
||||
WriteReplyToClient(client, sizeof (xAllocNamedColorReply), &ancr);
|
||||
return (client->noClientException);
|
||||
|
@ -2772,7 +2772,7 @@ ProcAllocColorCells (client)
|
|||
return(retval);
|
||||
}
|
||||
#ifdef XINERAMA
|
||||
if (noXineramaExtension || !pcmp->pScreen->myNum)
|
||||
if (noPanoramiXExtension || !pcmp->pScreen->myNum)
|
||||
#endif
|
||||
{
|
||||
accr.type = X_Reply;
|
||||
|
@ -2851,7 +2851,7 @@ ProcAllocColorPlanes(client)
|
|||
}
|
||||
acpr.length = length >> 2;
|
||||
#ifdef XINERAMA
|
||||
if (noXineramaExtension || !pcmp->pScreen->myNum)
|
||||
if (noPanoramiXExtension || !pcmp->pScreen->myNum)
|
||||
#endif
|
||||
{
|
||||
WriteReplyToClient(client, sizeof(xAllocColorPlanesReply), &acpr);
|
||||
|
@ -3934,7 +3934,7 @@ SendConnSetup(client, reason)
|
|||
/* fill in the "currentInputMask" */
|
||||
root = (xWindowRoot *)(lConnectionInfo + connBlockScreenStart);
|
||||
#ifdef XINERAMA
|
||||
if (noXineramaExtension)
|
||||
if (noPanoramiXExtension)
|
||||
numScreens = screenInfo.numScreens;
|
||||
else
|
||||
numScreens = ((xConnSetup *)ConnectionInfo)->numRoots;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg: xc/programs/Xserver/dix/dixfonts.c,v 3.29 2003/11/17 22:20:34 dawes Exp $ */
|
||||
/* $XdotOrg: xc/programs/Xserver/dix/dixfonts.c,v 1.1.4.4 2004/02/25 21:46:40 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/dix/dixfonts.c,v 3.29 2003/11/17 22:20:34 dawes Exp $ */
|
||||
/************************************************************************
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
@ -43,8 +43,7 @@ SOFTWARE.
|
|||
#endif
|
||||
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
extern Bool noXineramaExtension;
|
||||
#include "panoramiX.h"
|
||||
#endif
|
||||
|
||||
#ifdef LBX
|
||||
|
@ -1401,7 +1400,7 @@ bail:
|
|||
if (c->err != Success) err = c->err;
|
||||
if (err != Success && c->client != serverClient) {
|
||||
#ifdef XINERAMA
|
||||
if (noXineramaExtension || !c->pGC->pScreen->myNum)
|
||||
if (noPanoramiXExtension || !c->pGC->pScreen->myNum)
|
||||
#endif
|
||||
SendErrorToClient(c->client, c->reqType, 0, 0, err);
|
||||
}
|
||||
|
|
365
dix/events.c
365
dix/events.c
|
@ -1,5 +1,4 @@
|
|||
/* $XdotOrg: xc/programs/Xserver/dix/events.c,v 3.50 2003/11/17 22:20:34 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/dix/events.c,v 3.50 2003/11/17 22:20:34 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/dix/events.c,v 3.52 2004/01/23 07:23:34 herrb Exp $ */
|
||||
/************************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
@ -69,6 +68,39 @@ SOFTWARE.
|
|||
* *
|
||||
*****************************************************************/
|
||||
|
||||
/************************************************************
|
||||
|
||||
Copyright 2003 Sun Microsystems, Inc.
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, and/or sell copies of the Software, and to permit persons
|
||||
to whom the Software is furnished to do so, provided that the above
|
||||
copyright notice(s) and this permission notice appear in all copies of
|
||||
the Software and that both the above copyright notice(s) and this
|
||||
permission notice appear in supporting documentation.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||
HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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.
|
||||
|
||||
Except as contained in this notice, the name of a copyright holder
|
||||
shall not be used in advertising or otherwise to promote the sale, use
|
||||
or other dealings in this Software without prior written authorization
|
||||
of the copyright holder.
|
||||
|
||||
************************************************************/
|
||||
|
||||
/* $Xorg: events.c,v 1.4 2001/02/09 02:04:40 xorgcvs Exp $ */
|
||||
|
||||
#include "X.h"
|
||||
|
@ -84,8 +116,8 @@ SOFTWARE.
|
|||
|
||||
#include "dixstruct.h"
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
#endif
|
||||
#include "globals.h"
|
||||
|
||||
|
@ -174,11 +206,6 @@ static WindowPtr *spriteTrace = (WindowPtr *)NULL;
|
|||
static int spriteTraceSize = 0;
|
||||
static int spriteTraceGood;
|
||||
|
||||
typedef struct {
|
||||
int x, y;
|
||||
ScreenPtr pScreen;
|
||||
} HotSpot;
|
||||
|
||||
static struct {
|
||||
CursorPtr current;
|
||||
BoxRec hotLimits; /* logical constraints of hot spot */
|
||||
|
@ -199,6 +226,11 @@ static struct {
|
|||
#endif
|
||||
} sprite; /* info about the cursor sprite */
|
||||
|
||||
#ifdef XEVIE
|
||||
WindowPtr xeviewin;
|
||||
HotSpot xeviehot;
|
||||
#endif
|
||||
|
||||
static void DoEnterLeaveEvents(
|
||||
WindowPtr /*fromWin*/,
|
||||
WindowPtr /*toWin*/,
|
||||
|
@ -283,8 +315,8 @@ XineramaSetCursorPosition(
|
|||
that screen are. */
|
||||
|
||||
pScreen = sprite.screen;
|
||||
x += xineramaDataPtr[0].x;
|
||||
y += xineramaDataPtr[0].y;
|
||||
x += panoramiXdataPtr[0].x;
|
||||
y += panoramiXdataPtr[0].y;
|
||||
|
||||
if(!POINT_IN_REGION(pScreen, &XineramaScreenRegions[pScreen->myNum],
|
||||
x, y, &box))
|
||||
|
@ -302,10 +334,10 @@ XineramaSetCursorPosition(
|
|||
}
|
||||
|
||||
sprite.screen = pScreen;
|
||||
sprite.hotPhys.x = x - xineramaDataPtr[0].x;
|
||||
sprite.hotPhys.y = y - xineramaDataPtr[0].y;
|
||||
x -= xineramaDataPtr[pScreen->myNum].x;
|
||||
y -= xineramaDataPtr[pScreen->myNum].y;
|
||||
sprite.hotPhys.x = x - panoramiXdataPtr[0].x;
|
||||
sprite.hotPhys.y = y - panoramiXdataPtr[0].y;
|
||||
x -= panoramiXdataPtr[pScreen->myNum].x;
|
||||
y -= panoramiXdataPtr[pScreen->myNum].y;
|
||||
|
||||
return (*pScreen->SetCursorPosition)(pScreen, x, y, generateEvent);
|
||||
}
|
||||
|
@ -319,10 +351,10 @@ XineramaConstrainCursor(void)
|
|||
|
||||
/* Translate the constraining box to the screen
|
||||
the sprite is actually on */
|
||||
newBox.x1 += xineramaDataPtr[0].x - xineramaDataPtr[pScreen->myNum].x;
|
||||
newBox.x2 += xineramaDataPtr[0].x - xineramaDataPtr[pScreen->myNum].x;
|
||||
newBox.y1 += xineramaDataPtr[0].y - xineramaDataPtr[pScreen->myNum].y;
|
||||
newBox.y2 += xineramaDataPtr[0].y - xineramaDataPtr[pScreen->myNum].y;
|
||||
newBox.x1 += panoramiXdataPtr[0].x - panoramiXdataPtr[pScreen->myNum].x;
|
||||
newBox.x2 += panoramiXdataPtr[0].x - panoramiXdataPtr[pScreen->myNum].x;
|
||||
newBox.y1 += panoramiXdataPtr[0].y - panoramiXdataPtr[pScreen->myNum].y;
|
||||
newBox.y2 += panoramiXdataPtr[0].y - panoramiXdataPtr[pScreen->myNum].y;
|
||||
|
||||
(* pScreen->ConstrainCursor)(pScreen, &newBox);
|
||||
}
|
||||
|
@ -379,17 +411,17 @@ XineramaSetWindowPntrs(WindowPtr pWin)
|
|||
{
|
||||
if(pWin == WindowTable[0]) {
|
||||
memcpy(sprite.windows, WindowTable,
|
||||
XineramaNumScreens*sizeof(WindowPtr));
|
||||
PanoramiXNumScreens*sizeof(WindowPtr));
|
||||
} else {
|
||||
XineramaRes *win;
|
||||
PanoramiXRes *win;
|
||||
int i;
|
||||
|
||||
win = (XineramaRes*)LookupIDByType(pWin->drawable.id, XRT_WINDOW);
|
||||
win = (PanoramiXRes*)LookupIDByType(pWin->drawable.id, XRT_WINDOW);
|
||||
|
||||
if(!win)
|
||||
return FALSE;
|
||||
|
||||
for(i = 0; i < XineramaNumScreens; i++) {
|
||||
for(i = 0; i < PanoramiXNumScreens; i++) {
|
||||
sprite.windows[i] = LookupIDByType(win->info[i].id, RT_WINDOW);
|
||||
if(!sprite.windows[i]) /* window is being unmapped */
|
||||
return FALSE;
|
||||
|
@ -407,7 +439,13 @@ XineramaCheckVirtualMotion(
|
|||
if (qe)
|
||||
{
|
||||
sprite.hot.pScreen = qe->pScreen; /* should always be Screen 0 */
|
||||
#ifdef XEVIE
|
||||
xeviehot.x =
|
||||
#endif
|
||||
sprite.hot.x = qe->event->u.keyButtonPointer.rootX;
|
||||
#ifdef XEVIE
|
||||
xeviehot.y =
|
||||
#endif
|
||||
sprite.hot.y = qe->event->u.keyButtonPointer.rootY;
|
||||
pWin = inputInfo.pointer->grab ? inputInfo.pointer->grab->confineTo :
|
||||
NullWindow;
|
||||
|
@ -420,16 +458,16 @@ XineramaCheckVirtualMotion(
|
|||
if(!XineramaSetWindowPntrs(pWin))
|
||||
return;
|
||||
|
||||
i = XineramaNumScreens - 1;
|
||||
i = PanoramiXNumScreens - 1;
|
||||
|
||||
REGION_COPY(sprite.screen, &sprite.Reg2,
|
||||
&sprite.windows[i]->borderSize);
|
||||
off_x = xineramaDataPtr[i].x;
|
||||
off_y = xineramaDataPtr[i].y;
|
||||
off_x = panoramiXdataPtr[i].x;
|
||||
off_y = panoramiXdataPtr[i].y;
|
||||
|
||||
while(i--) {
|
||||
x = off_x - xineramaDataPtr[i].x;
|
||||
y = off_y - xineramaDataPtr[i].y;
|
||||
x = off_x - panoramiXdataPtr[i].x;
|
||||
y = off_y - panoramiXdataPtr[i].y;
|
||||
|
||||
if(x || y)
|
||||
REGION_TRANSLATE(sprite.screen, &sprite.Reg2, x, y);
|
||||
|
@ -437,19 +475,31 @@ XineramaCheckVirtualMotion(
|
|||
REGION_UNION(sprite.screen, &sprite.Reg2, &sprite.Reg2,
|
||||
&sprite.windows[i]->borderSize);
|
||||
|
||||
off_x = xineramaDataPtr[i].x;
|
||||
off_y = xineramaDataPtr[i].y;
|
||||
off_x = panoramiXdataPtr[i].x;
|
||||
off_y = panoramiXdataPtr[i].y;
|
||||
}
|
||||
|
||||
lims = *REGION_EXTENTS(sprite.screen, &sprite.Reg2);
|
||||
|
||||
if (sprite.hot.x < lims.x1)
|
||||
#ifdef XEVIE
|
||||
xeviehot.x =
|
||||
#endif
|
||||
sprite.hot.x = lims.x1;
|
||||
else if (sprite.hot.x >= lims.x2)
|
||||
#ifdef XEVIE
|
||||
xeviehot.x =
|
||||
#endif
|
||||
sprite.hot.x = lims.x2 - 1;
|
||||
if (sprite.hot.y < lims.y1)
|
||||
#ifdef XEVIE
|
||||
xeviehot.y =
|
||||
#endif
|
||||
sprite.hot.y = lims.y1;
|
||||
else if (sprite.hot.y >= lims.y2)
|
||||
#ifdef XEVIE
|
||||
xeviehot.y =
|
||||
#endif
|
||||
sprite.hot.y = lims.y2 - 1;
|
||||
|
||||
if (REGION_NUM_RECTS(&sprite.Reg2) > 1)
|
||||
|
@ -475,20 +525,38 @@ XineramaCheckMotion(xEvent *xE)
|
|||
/* Motion events entering DIX get translated to Screen 0
|
||||
coordinates. Replayed events have already been
|
||||
translated since they've entered DIX before */
|
||||
XE_KBPTR.rootX += xineramaDataPtr[sprite.screen->myNum].x -
|
||||
xineramaDataPtr[0].x;
|
||||
XE_KBPTR.rootY += xineramaDataPtr[sprite.screen->myNum].y -
|
||||
xineramaDataPtr[0].y;
|
||||
XE_KBPTR.rootX += panoramiXdataPtr[sprite.screen->myNum].x -
|
||||
panoramiXdataPtr[0].x;
|
||||
XE_KBPTR.rootY += panoramiXdataPtr[sprite.screen->myNum].y -
|
||||
panoramiXdataPtr[0].y;
|
||||
|
||||
#ifdef XEVIE
|
||||
xeviehot.x =
|
||||
#endif
|
||||
sprite.hot.x = XE_KBPTR.rootX;
|
||||
#ifdef XEVIE
|
||||
xeviehot.y =
|
||||
#endif
|
||||
sprite.hot.y = XE_KBPTR.rootY;
|
||||
if (sprite.hot.x < sprite.physLimits.x1)
|
||||
#ifdef XEVIE
|
||||
xeviehot.x =
|
||||
#endif
|
||||
sprite.hot.x = sprite.physLimits.x1;
|
||||
else if (sprite.hot.x >= sprite.physLimits.x2)
|
||||
#ifdef XEVIE
|
||||
xeviehot.x =
|
||||
#endif
|
||||
sprite.hot.x = sprite.physLimits.x2 - 1;
|
||||
if (sprite.hot.y < sprite.physLimits.y1)
|
||||
#ifdef XEVIE
|
||||
xeviehot.y =
|
||||
#endif
|
||||
sprite.hot.y = sprite.physLimits.y1;
|
||||
else if (sprite.hot.y >= sprite.physLimits.y2)
|
||||
#ifdef XEVIE
|
||||
xeviehot.y =
|
||||
#endif
|
||||
sprite.hot.y = sprite.physLimits.y2 - 1;
|
||||
|
||||
if (sprite.hotShape)
|
||||
|
@ -505,6 +573,9 @@ XineramaCheckMotion(xEvent *xE)
|
|||
XE_KBPTR.rootY = sprite.hot.y;
|
||||
}
|
||||
|
||||
#ifdef XEVIE
|
||||
xeviewin =
|
||||
#endif
|
||||
sprite.win = XYToWindow(sprite.hot.x, sprite.hot.y);
|
||||
|
||||
if (sprite.win != prevSpriteWin)
|
||||
|
@ -537,16 +608,16 @@ XineramaConfineCursorToWindow(WindowPtr pWin, Bool generateEvents)
|
|||
if(!XineramaSetWindowPntrs(pWin))
|
||||
return;
|
||||
|
||||
i = XineramaNumScreens - 1;
|
||||
i = PanoramiXNumScreens - 1;
|
||||
|
||||
REGION_COPY(sprite.screen, &sprite.Reg1,
|
||||
&sprite.windows[i]->borderSize);
|
||||
off_x = xineramaDataPtr[i].x;
|
||||
off_y = xineramaDataPtr[i].y;
|
||||
off_x = panoramiXdataPtr[i].x;
|
||||
off_y = panoramiXdataPtr[i].y;
|
||||
|
||||
while(i--) {
|
||||
x = off_x - xineramaDataPtr[i].x;
|
||||
y = off_y - xineramaDataPtr[i].y;
|
||||
x = off_x - panoramiXdataPtr[i].x;
|
||||
y = off_y - panoramiXdataPtr[i].y;
|
||||
|
||||
if(x || y)
|
||||
REGION_TRANSLATE(sprite.screen, &sprite.Reg1, x, y);
|
||||
|
@ -554,8 +625,8 @@ XineramaConfineCursorToWindow(WindowPtr pWin, Bool generateEvents)
|
|||
REGION_UNION(sprite.screen, &sprite.Reg1, &sprite.Reg1,
|
||||
&sprite.windows[i]->borderSize);
|
||||
|
||||
off_x = xineramaDataPtr[i].x;
|
||||
off_y = xineramaDataPtr[i].y;
|
||||
off_x = panoramiXdataPtr[i].x;
|
||||
off_y = panoramiXdataPtr[i].y;
|
||||
}
|
||||
|
||||
sprite.hotLimits = *REGION_EXTENTS(sprite.screen, &sprite.Reg1);
|
||||
|
@ -617,9 +688,9 @@ SyntheticMotion(int x, int y)
|
|||
/* Translate back to the sprite screen since processInputProc
|
||||
will translate from sprite screen to screen 0 upon reentry
|
||||
to the DIX layer */
|
||||
if(!noXineramaExtension) {
|
||||
x += xineramaDataPtr[0].x - xineramaDataPtr[sprite.screen->myNum].x;
|
||||
y += xineramaDataPtr[0].y - xineramaDataPtr[sprite.screen->myNum].y;
|
||||
if(!noPanoramiXExtension) {
|
||||
x += panoramiXdataPtr[0].x - panoramiXdataPtr[sprite.screen->myNum].x;
|
||||
y += panoramiXdataPtr[0].y - panoramiXdataPtr[sprite.screen->myNum].y;
|
||||
}
|
||||
#endif
|
||||
xE.u.keyButtonPointer.rootX = x;
|
||||
|
@ -722,7 +793,7 @@ CheckVirtualMotion(
|
|||
{
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension) {
|
||||
if(!noPanoramiXExtension) {
|
||||
XineramaCheckVirtualMotion(qe, pWin);
|
||||
return;
|
||||
}
|
||||
|
@ -730,7 +801,13 @@ CheckVirtualMotion(
|
|||
if (qe)
|
||||
{
|
||||
sprite.hot.pScreen = qe->pScreen;
|
||||
#ifdef XEVIE
|
||||
xeviehot.x =
|
||||
#endif
|
||||
sprite.hot.x = qe->event->u.keyButtonPointer.rootX;
|
||||
#ifdef XEVIE
|
||||
xeviehot.y =
|
||||
#endif
|
||||
sprite.hot.y = qe->event->u.keyButtonPointer.rootY;
|
||||
pWin = inputInfo.pointer->grab ? inputInfo.pointer->grab->confineTo :
|
||||
NullWindow;
|
||||
|
@ -742,16 +819,31 @@ CheckVirtualMotion(
|
|||
if (sprite.hot.pScreen != pWin->drawable.pScreen)
|
||||
{
|
||||
sprite.hot.pScreen = pWin->drawable.pScreen;
|
||||
#ifdef XEVIE
|
||||
xeviehot.x = xeviehot.y = 0;
|
||||
#endif
|
||||
sprite.hot.x = sprite.hot.y = 0;
|
||||
}
|
||||
lims = *REGION_EXTENTS(pWin->drawable.pScreen, &pWin->borderSize);
|
||||
if (sprite.hot.x < lims.x1)
|
||||
#ifdef XEVIE
|
||||
xeviehot.x =
|
||||
#endif
|
||||
sprite.hot.x = lims.x1;
|
||||
else if (sprite.hot.x >= lims.x2)
|
||||
#ifdef XEVIE
|
||||
xeviehot.x =
|
||||
#endif
|
||||
sprite.hot.x = lims.x2 - 1;
|
||||
if (sprite.hot.y < lims.y1)
|
||||
#ifdef XEVIE
|
||||
xeviehot.y =
|
||||
#endif
|
||||
sprite.hot.y = lims.y1;
|
||||
else if (sprite.hot.y >= lims.y2)
|
||||
#ifdef XEVIE
|
||||
xeviehot.y =
|
||||
#endif
|
||||
sprite.hot.y = lims.y2 - 1;
|
||||
#ifdef SHAPE
|
||||
if (wBoundingShape(pWin))
|
||||
|
@ -773,7 +865,7 @@ ConfineCursorToWindow(WindowPtr pWin, Bool generateEvents, Bool confineToScreen)
|
|||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension) {
|
||||
if(!noPanoramiXExtension) {
|
||||
XineramaConfineCursorToWindow(pWin, generateEvents);
|
||||
return;
|
||||
}
|
||||
|
@ -806,7 +898,7 @@ static void
|
|||
ChangeToCursor(CursorPtr cursor)
|
||||
{
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension) {
|
||||
if(!noPanoramiXExtension) {
|
||||
XineramaChangeToCursor(cursor);
|
||||
return;
|
||||
}
|
||||
|
@ -894,7 +986,7 @@ GetSpritePosition(px, py)
|
|||
int
|
||||
XineramaGetCursorScreen()
|
||||
{
|
||||
if(!noXineramaExtension) {
|
||||
if(!noPanoramiXExtension) {
|
||||
return sprite.screen->myNum;
|
||||
} else {
|
||||
return 0;
|
||||
|
@ -946,10 +1038,11 @@ EnqueueEvent(xE, device, count)
|
|||
xEvent *qxE;
|
||||
|
||||
NoticeTime(xE);
|
||||
|
||||
|
||||
#ifdef XKB
|
||||
/* Fix for key repeating bug. */
|
||||
if (xE->u.u.type == KeyRelease)
|
||||
if (device->key != NULL && device->key->xkbInfo != NULL &&
|
||||
xE->u.u.type == KeyRelease)
|
||||
AccessXCancelRepeatKey(device->key->xkbInfo, xE->u.u.detail);
|
||||
#endif
|
||||
|
||||
|
@ -975,11 +1068,11 @@ EnqueueEvent(xE, device, count)
|
|||
if (xE->u.u.type == MotionNotify)
|
||||
{
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension) {
|
||||
XE_KBPTR.rootX += xineramaDataPtr[sprite.screen->myNum].x -
|
||||
xineramaDataPtr[0].x;
|
||||
XE_KBPTR.rootY += xineramaDataPtr[sprite.screen->myNum].y -
|
||||
xineramaDataPtr[0].y;
|
||||
if(!noPanoramiXExtension) {
|
||||
XE_KBPTR.rootX += panoramiXdataPtr[sprite.screen->myNum].x -
|
||||
panoramiXdataPtr[0].x;
|
||||
XE_KBPTR.rootY += panoramiXdataPtr[sprite.screen->myNum].y -
|
||||
panoramiXdataPtr[0].y;
|
||||
}
|
||||
#endif
|
||||
sprite.hotPhys.x = XE_KBPTR.rootX;
|
||||
|
@ -1034,13 +1127,13 @@ PlayReleasedEvents(void)
|
|||
/* Translate back to the sprite screen since processInputProc
|
||||
will translate from sprite screen to screen 0 upon reentry
|
||||
to the DIX layer */
|
||||
if(!noXineramaExtension) {
|
||||
if(!noPanoramiXExtension) {
|
||||
qe->event->u.keyButtonPointer.rootX +=
|
||||
xineramaDataPtr[0].x -
|
||||
xineramaDataPtr[sprite.screen->myNum].x;
|
||||
panoramiXdataPtr[0].x -
|
||||
panoramiXdataPtr[sprite.screen->myNum].x;
|
||||
qe->event->u.keyButtonPointer.rootY +=
|
||||
xineramaDataPtr[0].y -
|
||||
xineramaDataPtr[sprite.screen->myNum].y;
|
||||
panoramiXdataPtr[0].y -
|
||||
panoramiXdataPtr[sprite.screen->myNum].y;
|
||||
}
|
||||
#endif
|
||||
(*qe->device->public.processInputProc)(qe->event, qe->device,
|
||||
|
@ -1652,8 +1745,11 @@ DeliverEventsToWindow(pWin, pEvents, count, filter, grab, mskidx)
|
|||
#ifdef XINPUT
|
||||
else
|
||||
{
|
||||
if (((type == DeviceMotionNotify) || (type == DeviceButtonPress)) &&
|
||||
deliveries)
|
||||
if (((type == DeviceMotionNotify)
|
||||
#ifdef XKB
|
||||
|| (type == DeviceButtonPress)
|
||||
#endif
|
||||
) && deliveries)
|
||||
CheckDeviceGrabAndHintWindow (pWin, type,
|
||||
(deviceKeyButtonPointer*) pEvents,
|
||||
grab, client, deliveryMask);
|
||||
|
@ -1703,7 +1799,7 @@ MaybeDeliverEventsToClient(pWin, pEvents, count, filter, dontClient)
|
|||
if (wClient(pWin) == dontClient)
|
||||
return 0;
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension && pWin->drawable.pScreen->myNum)
|
||||
if(!noPanoramiXExtension && pWin->drawable.pScreen->myNum)
|
||||
return XineramaTryClientEventsResult(
|
||||
wClient(pWin), NullGrab, pWin->eventMask, filter);
|
||||
#endif
|
||||
|
@ -1717,7 +1813,7 @@ MaybeDeliverEventsToClient(pWin, pEvents, count, filter, dontClient)
|
|||
if (SameClient(other, dontClient))
|
||||
return 0;
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension && pWin->drawable.pScreen->myNum)
|
||||
if(!noPanoramiXExtension && pWin->drawable.pScreen->myNum)
|
||||
return XineramaTryClientEventsResult(
|
||||
rClient(other), NullGrab, other->mask, filter);
|
||||
#endif
|
||||
|
@ -1860,7 +1956,7 @@ DeliverEvents(pWin, xE, count, otherParent)
|
|||
int deliveries;
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension && pWin->drawable.pScreen->myNum)
|
||||
if(!noPanoramiXExtension && pWin->drawable.pScreen->myNum)
|
||||
return count;
|
||||
#endif
|
||||
|
||||
|
@ -1900,14 +1996,14 @@ PointInBorderSize(WindowPtr pWin, int x, int y)
|
|||
return TRUE;
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension && XineramaSetWindowPntrs(pWin)) {
|
||||
if(!noPanoramiXExtension && XineramaSetWindowPntrs(pWin)) {
|
||||
int i;
|
||||
|
||||
for(i = 1; i < XineramaNumScreens; i++) {
|
||||
for(i = 1; i < PanoramiXNumScreens; i++) {
|
||||
if(POINT_IN_REGION(sprite.screen,
|
||||
&sprite.windows[i]->borderSize,
|
||||
x + xineramaDataPtr[0].x - xineramaDataPtr[i].x,
|
||||
y + xineramaDataPtr[0].y - xineramaDataPtr[i].y,
|
||||
x + panoramiXdataPtr[0].x - panoramiXdataPtr[i].x,
|
||||
y + panoramiXdataPtr[0].y - panoramiXdataPtr[i].y,
|
||||
&box))
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -1971,7 +2067,7 @@ CheckMotion(xEvent *xE)
|
|||
WindowPtr prevSpriteWin = sprite.win;
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension)
|
||||
if(!noPanoramiXExtension)
|
||||
return XineramaCheckMotion(xE);
|
||||
#endif
|
||||
|
||||
|
@ -1982,15 +2078,33 @@ CheckMotion(xEvent *xE)
|
|||
sprite.hot.pScreen = sprite.hotPhys.pScreen;
|
||||
ROOT = WindowTable[sprite.hot.pScreen->myNum];
|
||||
}
|
||||
#ifdef XEVIE
|
||||
xeviehot.x =
|
||||
#endif
|
||||
sprite.hot.x = XE_KBPTR.rootX;
|
||||
#ifdef XEVIE
|
||||
xeviehot.y =
|
||||
#endif
|
||||
sprite.hot.y = XE_KBPTR.rootY;
|
||||
if (sprite.hot.x < sprite.physLimits.x1)
|
||||
#ifdef XEVIE
|
||||
xeviehot.x =
|
||||
#endif
|
||||
sprite.hot.x = sprite.physLimits.x1;
|
||||
else if (sprite.hot.x >= sprite.physLimits.x2)
|
||||
#ifdef XEVIE
|
||||
xeviehot.x =
|
||||
#endif
|
||||
sprite.hot.x = sprite.physLimits.x2 - 1;
|
||||
if (sprite.hot.y < sprite.physLimits.y1)
|
||||
#ifdef XEVIE
|
||||
xeviehot.y =
|
||||
#endif
|
||||
sprite.hot.y = sprite.physLimits.y1;
|
||||
else if (sprite.hot.y >= sprite.physLimits.y2)
|
||||
#ifdef XEVIE
|
||||
xeviehot.y =
|
||||
#endif
|
||||
sprite.hot.y = sprite.physLimits.y2 - 1;
|
||||
#ifdef SHAPE
|
||||
if (sprite.hotShape)
|
||||
|
@ -2008,6 +2122,9 @@ CheckMotion(xEvent *xE)
|
|||
XE_KBPTR.rootY = sprite.hot.y;
|
||||
}
|
||||
|
||||
#ifdef XEVIE
|
||||
xeviewin =
|
||||
#endif
|
||||
sprite.win = XYToWindow(sprite.hot.x, sprite.hot.y);
|
||||
#ifdef notyet
|
||||
if (!(sprite.win->deliverableEvents &
|
||||
|
@ -2048,6 +2165,9 @@ DefineInitialRootWindow(win)
|
|||
sprite.hot = sprite.hotPhys;
|
||||
sprite.hotLimits.x2 = pScreen->width;
|
||||
sprite.hotLimits.y2 = pScreen->height;
|
||||
#ifdef XEVIE
|
||||
xeviewin =
|
||||
#endif
|
||||
sprite.win = win;
|
||||
sprite.current = wCursor (win);
|
||||
spriteTraceGood = 1;
|
||||
|
@ -2060,11 +2180,11 @@ DefineInitialRootWindow(win)
|
|||
(*pScreen->DisplayCursor) (pScreen, sprite.current);
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension) {
|
||||
sprite.hotLimits.x1 = -xineramaDataPtr[0].x;
|
||||
sprite.hotLimits.y1 = -xineramaDataPtr[0].y;
|
||||
sprite.hotLimits.x2 = XineramaPixWidth - xineramaDataPtr[0].x;
|
||||
sprite.hotLimits.y2 = XineramaPixHeight - xineramaDataPtr[0].y;
|
||||
if(!noPanoramiXExtension) {
|
||||
sprite.hotLimits.x1 = -panoramiXdataPtr[0].x;
|
||||
sprite.hotLimits.y1 = -panoramiXdataPtr[0].y;
|
||||
sprite.hotLimits.x2 = PanoramiXPixWidth - panoramiXdataPtr[0].x;
|
||||
sprite.hotLimits.y2 = PanoramiXPixHeight - panoramiXdataPtr[0].y;
|
||||
sprite.physLimits = sprite.hotLimits;
|
||||
sprite.confineWin = NullWindow;
|
||||
#ifdef SHAPE
|
||||
|
@ -2101,11 +2221,11 @@ NewCurrentScreen(newScreen, x, y)
|
|||
sprite.hotPhys.x = x;
|
||||
sprite.hotPhys.y = y;
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension) {
|
||||
sprite.hotPhys.x += xineramaDataPtr[newScreen->myNum].x -
|
||||
xineramaDataPtr[0].x;
|
||||
sprite.hotPhys.y += xineramaDataPtr[newScreen->myNum].y -
|
||||
xineramaDataPtr[0].y;
|
||||
if(!noPanoramiXExtension) {
|
||||
sprite.hotPhys.x += panoramiXdataPtr[newScreen->myNum].x -
|
||||
panoramiXdataPtr[0].x;
|
||||
sprite.hotPhys.y += panoramiXdataPtr[newScreen->myNum].y -
|
||||
panoramiXdataPtr[0].y;
|
||||
if (newScreen != sprite.screen) {
|
||||
sprite.screen = newScreen;
|
||||
/* Make sure we tell the DDX to update its copy of the screen */
|
||||
|
@ -2117,10 +2237,10 @@ NewCurrentScreen(newScreen, x, y)
|
|||
told of the pointer warp so we reposition it here */
|
||||
if(!syncEvents.playingEvents)
|
||||
(*sprite.screen->SetCursorPosition)(sprite.screen,
|
||||
sprite.hotPhys.x + xineramaDataPtr[0].x -
|
||||
xineramaDataPtr[sprite.screen->myNum].x,
|
||||
sprite.hotPhys.y + xineramaDataPtr[0].y -
|
||||
xineramaDataPtr[sprite.screen->myNum].y, FALSE);
|
||||
sprite.hotPhys.x + panoramiXdataPtr[0].x -
|
||||
panoramiXdataPtr[sprite.screen->myNum].x,
|
||||
sprite.hotPhys.y + panoramiXdataPtr[0].y -
|
||||
panoramiXdataPtr[sprite.screen->myNum].y, FALSE);
|
||||
}
|
||||
} else
|
||||
#endif
|
||||
|
@ -2148,14 +2268,14 @@ XineramaPointInWindowIsVisible(
|
|||
|
||||
if(!XineramaSetWindowPntrs(pWin)) return FALSE;
|
||||
|
||||
xoff = x + xineramaDataPtr[0].x;
|
||||
yoff = y + xineramaDataPtr[0].y;
|
||||
xoff = x + panoramiXdataPtr[0].x;
|
||||
yoff = y + panoramiXdataPtr[0].y;
|
||||
|
||||
for(i = 1; i < XineramaNumScreens; i++) {
|
||||
for(i = 1; i < PanoramiXNumScreens; i++) {
|
||||
pWin = sprite.windows[i];
|
||||
pScreen = pWin->drawable.pScreen;
|
||||
x = xoff - xineramaDataPtr[i].x;
|
||||
y = yoff - xineramaDataPtr[i].y;
|
||||
x = xoff - panoramiXdataPtr[i].x;
|
||||
y = yoff - panoramiXdataPtr[i].y;
|
||||
|
||||
if(POINT_IN_REGION(pScreen, &pWin->borderClip, x, y, &box))
|
||||
return TRUE;
|
||||
|
@ -2195,8 +2315,8 @@ XineramaWarpPointer(ClientPtr client)
|
|||
winX = source->drawable.x;
|
||||
winY = source->drawable.y;
|
||||
if(source == WindowTable[0]) {
|
||||
winX -= xineramaDataPtr[0].x;
|
||||
winY -= xineramaDataPtr[0].y;
|
||||
winX -= panoramiXdataPtr[0].x;
|
||||
winY -= panoramiXdataPtr[0].y;
|
||||
}
|
||||
if (x < winX + stuff->srcX ||
|
||||
y < winY + stuff->srcY ||
|
||||
|
@ -2211,8 +2331,8 @@ XineramaWarpPointer(ClientPtr client)
|
|||
x = dest->drawable.x;
|
||||
y = dest->drawable.y;
|
||||
if(dest == WindowTable[0]) {
|
||||
x -= xineramaDataPtr[0].x;
|
||||
y -= xineramaDataPtr[0].y;
|
||||
x -= panoramiXdataPtr[0].x;
|
||||
y -= panoramiXdataPtr[0].y;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2251,7 +2371,7 @@ ProcWarpPointer(client)
|
|||
REQUEST_SIZE_MATCH(xWarpPointerReq);
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension)
|
||||
if(!noPanoramiXExtension)
|
||||
return XineramaWarpPointer(client);
|
||||
#endif
|
||||
|
||||
|
@ -2336,10 +2456,10 @@ BorderSizeNotEmpty(WindowPtr pWin)
|
|||
return TRUE;
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension && XineramaSetWindowPntrs(pWin)) {
|
||||
if(!noPanoramiXExtension && XineramaSetWindowPntrs(pWin)) {
|
||||
int i;
|
||||
|
||||
for(i = 1; i < XineramaNumScreens; i++) {
|
||||
for(i = 1; i < PanoramiXNumScreens; i++) {
|
||||
if(REGION_NOTEMPTY(sprite.screen, &sprite.windows[i]->borderSize))
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -2381,10 +2501,10 @@ CheckPassiveGrabsOnWindow(
|
|||
xkbi= gdev->key->xkbInfo;
|
||||
#endif
|
||||
tempGrab.modifierDevice = grab->modifierDevice;
|
||||
if (device == grab->modifierDevice &&
|
||||
(xE->u.u.type == KeyPress
|
||||
#ifdef XINPUT
|
||||
|| xE->u.u.type == DeviceKeyPress
|
||||
if ((device == grab->modifierDevice) &&
|
||||
((xE->u.u.type == KeyPress)
|
||||
#if defined(XINPUT) && defined(XKB)
|
||||
|| (xE->u.u.type == DeviceKeyPress)
|
||||
#endif
|
||||
))
|
||||
tempGrab.modifiersDetail.exact =
|
||||
|
@ -2474,11 +2594,11 @@ CheckDeviceGrabs(device, xE, checkFirst, count)
|
|||
register WindowPtr pWin = NULL;
|
||||
register FocusClassPtr focus = device->focus;
|
||||
|
||||
if ((xE->u.u.type == ButtonPress
|
||||
#ifdef XINPUT
|
||||
|| xE->u.u.type == DeviceButtonPress
|
||||
if (((xE->u.u.type == ButtonPress)
|
||||
#if defined(XINPUT) && defined(XKB)
|
||||
|| (xE->u.u.type == DeviceButtonPress)
|
||||
#endif
|
||||
) && device->button->buttonsDown != 1)
|
||||
) && (device->button->buttonsDown != 1))
|
||||
return FALSE;
|
||||
|
||||
i = checkFirst;
|
||||
|
@ -2803,7 +2923,7 @@ ProcessPointerEvent (xE, mouse, count)
|
|||
#endif
|
||||
));
|
||||
{
|
||||
NoticeTime(xE);
|
||||
NoticeTime(xE); /* Hu? see above! */
|
||||
if (DeviceEventCallback)
|
||||
{
|
||||
DeviceEventInfoRec eventinfo;
|
||||
|
@ -3351,7 +3471,7 @@ DoFocusEvents(dev, fromWin, toWin, mode)
|
|||
TRUE);
|
||||
/* Notify all the roots */
|
||||
#ifdef XINERAMA
|
||||
if ( !noXineramaExtension )
|
||||
if ( !noPanoramiXExtension )
|
||||
FocusEvent(dev, FocusOut, mode, out, WindowTable[0]);
|
||||
else
|
||||
#endif
|
||||
|
@ -3370,7 +3490,7 @@ DoFocusEvents(dev, fromWin, toWin, mode)
|
|||
}
|
||||
/* Notify all the roots */
|
||||
#ifdef XINERAMA
|
||||
if ( !noXineramaExtension )
|
||||
if ( !noPanoramiXExtension )
|
||||
FocusEvent(dev, FocusIn, mode, in, WindowTable[0]);
|
||||
else
|
||||
#endif
|
||||
|
@ -3388,7 +3508,7 @@ DoFocusEvents(dev, fromWin, toWin, mode)
|
|||
FocusOutEvents(dev, sprite.win, ROOT, mode, NotifyPointer,
|
||||
TRUE);
|
||||
#ifdef XINERAMA
|
||||
if ( !noXineramaExtension )
|
||||
if ( !noPanoramiXExtension )
|
||||
FocusEvent(dev, FocusOut, mode, out, WindowTable[0]);
|
||||
else
|
||||
#endif
|
||||
|
@ -3902,12 +4022,12 @@ ProcQueryPointer(client)
|
|||
}
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension) {
|
||||
rep.rootX += xineramaDataPtr[0].x;
|
||||
rep.rootY += xineramaDataPtr[0].y;
|
||||
if(!noPanoramiXExtension) {
|
||||
rep.rootX += panoramiXdataPtr[0].x;
|
||||
rep.rootY += panoramiXdataPtr[0].y;
|
||||
if(stuff->id == rep.root) {
|
||||
rep.winX += xineramaDataPtr[0].x;
|
||||
rep.winY += xineramaDataPtr[0].y;
|
||||
rep.winX += panoramiXdataPtr[0].x;
|
||||
rep.winY += panoramiXdataPtr[0].y;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -3938,6 +4058,9 @@ InitEvents()
|
|||
spriteTraceGood = 0;
|
||||
lastEventMask = OwnerGrabButtonMask;
|
||||
filters[MotionNotify] = PointerMotionMask;
|
||||
#ifdef XEVIE
|
||||
xeviewin =
|
||||
#endif
|
||||
sprite.win = NullWindow;
|
||||
sprite.current = NullCursor;
|
||||
sprite.hotLimits.x1 = 0;
|
||||
|
@ -4370,7 +4493,7 @@ CheckCursorConfinement(pWin)
|
|||
WindowPtr confineTo;
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension && pWin->drawable.pScreen->myNum) return;
|
||||
if(!noPanoramiXExtension && pWin->drawable.pScreen->myNum) return;
|
||||
#endif
|
||||
|
||||
if (grab && (confineTo = grab->confineTo))
|
||||
|
@ -4430,7 +4553,7 @@ ProcRecolorCursor(client)
|
|||
{
|
||||
pscr = screenInfo.screens[nscr];
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension)
|
||||
if(!noPanoramiXExtension)
|
||||
displayed = (pscr == sprite.screen);
|
||||
else
|
||||
#endif
|
||||
|
@ -4459,8 +4582,8 @@ WriteEventsToClient(pClient, count, events)
|
|||
#endif
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension &&
|
||||
(xineramaDataPtr[0].x || xineramaDataPtr[0].y))
|
||||
if(!noPanoramiXExtension &&
|
||||
(panoramiXdataPtr[0].x || panoramiXdataPtr[0].y))
|
||||
{
|
||||
switch(events->u.u.type) {
|
||||
case MotionNotify:
|
||||
|
@ -4477,13 +4600,13 @@ WriteEventsToClient(pClient, count, events)
|
|||
*/
|
||||
count = 1; /* should always be 1 */
|
||||
memcpy(&eventCopy, events, sizeof(xEvent));
|
||||
eventCopy.u.keyButtonPointer.rootX += xineramaDataPtr[0].x;
|
||||
eventCopy.u.keyButtonPointer.rootY += xineramaDataPtr[0].y;
|
||||
eventCopy.u.keyButtonPointer.rootX += panoramiXdataPtr[0].x;
|
||||
eventCopy.u.keyButtonPointer.rootY += panoramiXdataPtr[0].y;
|
||||
if(eventCopy.u.keyButtonPointer.event ==
|
||||
eventCopy.u.keyButtonPointer.root)
|
||||
{
|
||||
eventCopy.u.keyButtonPointer.eventX += xineramaDataPtr[0].x;
|
||||
eventCopy.u.keyButtonPointer.eventY += xineramaDataPtr[0].y;
|
||||
eventCopy.u.keyButtonPointer.eventX += panoramiXdataPtr[0].x;
|
||||
eventCopy.u.keyButtonPointer.eventY += panoramiXdataPtr[0].y;
|
||||
}
|
||||
events = &eventCopy;
|
||||
break;
|
||||
|
|
19
dix/main.c
19
dix/main.c
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg: xc/programs/Xserver/dix/main.c,v 3.44 2003/11/17 22:20:34 dawes Exp $ */
|
||||
/* $XdotOrg: xc/programs/Xserver/dix/main.c,v 1.1.4.5 2004/02/25 21:46:40 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/dix/main.c,v 3.44 2003/11/17 22:20:34 dawes Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
|
@ -94,7 +94,7 @@ SOFTWARE.
|
|||
#include "dixfont.h"
|
||||
#include "extnsionst.h"
|
||||
#ifdef XINERAMA
|
||||
extern Bool noXineramaExtension;
|
||||
extern Bool noPanoramiXExtension;
|
||||
#else
|
||||
#include "dixevents.h" /* InitEvents() */
|
||||
#include "dispatch.h" /* InitProcVectors() */
|
||||
|
@ -351,6 +351,7 @@ main(int argc, char *argv[], char *envp[])
|
|||
#endif
|
||||
ResetColormapPrivates();
|
||||
ResetFontPrivateIndex();
|
||||
ResetDevicePrivateIndex();
|
||||
InitCallbackManager();
|
||||
InitVisualWrap();
|
||||
InitOutput(&screenInfo, argc, argv);
|
||||
|
@ -407,8 +408,8 @@ main(int argc, char *argv[], char *envp[])
|
|||
/*
|
||||
* Consolidate window and colourmap information for each screen
|
||||
*/
|
||||
if (!noXineramaExtension)
|
||||
XineramaConsolidate();
|
||||
if (!noPanoramiXExtension)
|
||||
PanoramiXConsolidate();
|
||||
#endif
|
||||
|
||||
for (i = 0; i < screenInfo.numScreens; i++)
|
||||
|
@ -420,8 +421,8 @@ main(int argc, char *argv[], char *envp[])
|
|||
#endif
|
||||
|
||||
#ifdef XINERAMA
|
||||
if (!noXineramaExtension) {
|
||||
if (!XineramaCreateConnectionBlock())
|
||||
if (!noPanoramiXExtension) {
|
||||
if (!PanoramiXCreateConnectionBlock())
|
||||
FatalError("could not create connection block info");
|
||||
} else
|
||||
#endif
|
||||
|
@ -440,10 +441,10 @@ main(int argc, char *argv[], char *envp[])
|
|||
|
||||
#ifdef XINERAMA
|
||||
{
|
||||
Bool remember_it = noXineramaExtension;
|
||||
noXineramaExtension = TRUE;
|
||||
Bool remember_it = noPanoramiXExtension;
|
||||
noPanoramiXExtension = TRUE;
|
||||
FreeAllResources();
|
||||
noXineramaExtension = remember_it;
|
||||
noPanoramiXExtension = remember_it;
|
||||
}
|
||||
#else
|
||||
FreeAllResources();
|
||||
|
|
|
@ -39,6 +39,7 @@ from The Open Group.
|
|||
#include "colormapst.h"
|
||||
#include "servermd.h"
|
||||
#include "site.h"
|
||||
#include "inputstr.h"
|
||||
|
||||
/*
|
||||
* See the Wrappers and devPrivates section in "Definition of the
|
||||
|
@ -368,3 +369,35 @@ InitCmapPrivFunc initPrivFunc;
|
|||
|
||||
return index;
|
||||
}
|
||||
|
||||
static int devicePrivateIndex = 0;
|
||||
|
||||
int
|
||||
AllocateDevicePrivateIndex()
|
||||
{
|
||||
return devicePrivateIndex++;
|
||||
}
|
||||
|
||||
Bool
|
||||
AllocateDevicePrivate(DeviceIntPtr device, int index)
|
||||
{
|
||||
if (device->nPrivates < ++index) {
|
||||
DevUnion *nprivs = (DevUnion *)xrealloc(device->devPrivates,
|
||||
index * sizeof(DevUnion));
|
||||
if (!nprivs)
|
||||
return FALSE;
|
||||
device->devPrivates = nprivs;
|
||||
bzero(&nprivs[device->nPrivates], sizeof(DevUnion)
|
||||
* (index - device->nPrivates));
|
||||
device->nPrivates = index;
|
||||
return TRUE;
|
||||
} else {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
ResetDevicePrivateIndex(void)
|
||||
{
|
||||
devicePrivateIndex = 0;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
/* $XdotOrg$ */
|
||||
/************************************************************
|
||||
|
||||
Copyright 1987, 1998 The Open Group
|
||||
|
@ -90,8 +89,8 @@ SOFTWARE.
|
|||
#include "dixgrabs.h"
|
||||
#include "cursor.h"
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
#endif
|
||||
#include <assert.h>
|
||||
|
||||
|
@ -801,7 +800,7 @@ LegalNewID(id, client)
|
|||
#ifdef XINERAMA
|
||||
XID minid, maxid;
|
||||
|
||||
if (!noXineramaExtension) {
|
||||
if (!noPanoramiXExtension) {
|
||||
minid = client->clientAsMask | (client->index ?
|
||||
SERVER_BIT : SERVER_MINID);
|
||||
maxid = (clientTable[client->index].fakeID | RESOURCE_ID_MASK) + 1;
|
||||
|
|
40
dix/window.c
40
dix/window.c
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg: window.c,v 1.4 2001/02/09 02:04:41 xorgcvs Exp $ */
|
||||
/* $XdotOrg: xc/programs/Xserver/dix/window.c,v 1.1.4.4 2004/02/25 21:46:40 kaleb Exp $ */
|
||||
/* $Xorg: window.c,v 1.4 2001/02/09 02:04:41 xorgcvs Exp $ */
|
||||
/*
|
||||
|
||||
|
@ -87,8 +87,8 @@ SOFTWARE.
|
|||
#include "gcstruct.h"
|
||||
#include "servermd.h"
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
#endif
|
||||
#include "dixevents.h"
|
||||
#include "globals.h"
|
||||
|
@ -2322,9 +2322,9 @@ ConfigureWindow(pWin, mask, vlist, client)
|
|||
event.u.configureRequest.x = x;
|
||||
event.u.configureRequest.y = y;
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension && (!pParent || !pParent->parent)) {
|
||||
event.u.configureRequest.x += xineramaDataPtr[0].x;
|
||||
event.u.configureRequest.y += xineramaDataPtr[0].y;
|
||||
if(!noPanoramiXExtension && (!pParent || !pParent->parent)) {
|
||||
event.u.configureRequest.x += panoramiXdataPtr[0].x;
|
||||
event.u.configureRequest.y += panoramiXdataPtr[0].y;
|
||||
}
|
||||
#endif
|
||||
event.u.configureRequest.width = w;
|
||||
|
@ -2408,9 +2408,9 @@ ActuallyDoSomething:
|
|||
event.u.configureNotify.x = x;
|
||||
event.u.configureNotify.y = y;
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension && (!pParent || !pParent->parent)) {
|
||||
event.u.configureNotify.x += xineramaDataPtr[0].x;
|
||||
event.u.configureNotify.y += xineramaDataPtr[0].y;
|
||||
if(!noPanoramiXExtension && (!pParent || !pParent->parent)) {
|
||||
event.u.configureNotify.x += panoramiXdataPtr[0].x;
|
||||
event.u.configureNotify.y += panoramiXdataPtr[0].y;
|
||||
}
|
||||
#endif
|
||||
event.u.configureNotify.width = w;
|
||||
|
@ -2566,9 +2566,9 @@ ReparentWindow(pWin, pParent, x, y, client)
|
|||
event.u.reparent.x = x;
|
||||
event.u.reparent.y = y;
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension && !pParent->parent) {
|
||||
event.u.reparent.x += xineramaDataPtr[0].x;
|
||||
event.u.reparent.y += xineramaDataPtr[0].y;
|
||||
if(!noPanoramiXExtension && !pParent->parent) {
|
||||
event.u.reparent.x += panoramiXdataPtr[0].x;
|
||||
event.u.reparent.y += panoramiXdataPtr[0].y;
|
||||
}
|
||||
#endif
|
||||
event.u.reparent.override = pWin->overrideRedirect;
|
||||
|
@ -2939,9 +2939,9 @@ UnrealizeTree(
|
|||
pChild->realized = FALSE;
|
||||
pChild->visibility = VisibilityNotViewable;
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension && !pChild->drawable.pScreen->myNum) {
|
||||
XineramaRes *win;
|
||||
win = (XineramaRes*)LookupIDByType(pChild->drawable.id,
|
||||
if(!noPanoramiXExtension && !pChild->drawable.pScreen->myNum) {
|
||||
PanoramiXRes *win;
|
||||
win = (PanoramiXRes*)LookupIDByType(pChild->drawable.id,
|
||||
XRT_WINDOW);
|
||||
if(win)
|
||||
win->u.win.visibility = VisibilityNotViewable;
|
||||
|
@ -3225,21 +3225,21 @@ SendVisibilityNotify(pWin)
|
|||
#endif
|
||||
#ifdef XINERAMA
|
||||
/* This is not quite correct yet, but it's close */
|
||||
if(!noXineramaExtension) {
|
||||
XineramaRes *win;
|
||||
if(!noPanoramiXExtension) {
|
||||
PanoramiXRes *win;
|
||||
WindowPtr pWin2;
|
||||
int i, Scrnum;
|
||||
|
||||
Scrnum = pWin->drawable.pScreen->myNum;
|
||||
|
||||
win = XineramaFindIDByScrnum(XRT_WINDOW, pWin->drawable.id, Scrnum);
|
||||
win = PanoramiXFindIDByScrnum(XRT_WINDOW, pWin->drawable.id, Scrnum);
|
||||
|
||||
if(!win || (win->u.win.visibility == visibility))
|
||||
return;
|
||||
|
||||
switch(visibility) {
|
||||
case VisibilityUnobscured:
|
||||
for(i = 0; i < XineramaNumScreens; i++) {
|
||||
for(i = 0; i < PanoramiXNumScreens; i++) {
|
||||
if(i == Scrnum) continue;
|
||||
|
||||
pWin2 = (WindowPtr)LookupIDByType(win->info[i].id, RT_WINDOW);
|
||||
|
@ -3259,7 +3259,7 @@ SendVisibilityNotify(pWin)
|
|||
}
|
||||
break;
|
||||
case VisibilityFullyObscured:
|
||||
for(i = 0; i < XineramaNumScreens; i++) {
|
||||
for(i = 0; i < PanoramiXNumScreens; i++) {
|
||||
if(i == Scrnum) continue;
|
||||
|
||||
pWin2 = (WindowPtr)LookupIDByType(win->info[i].id, RT_WINDOW);
|
||||
|
|
|
@ -31,24 +31,24 @@ from The Open Group.
|
|||
#include "font.h"
|
||||
|
||||
Bool
|
||||
XpClientIsBitmapClient(client)
|
||||
ClientPtr client;
|
||||
XpClientIsBitmapClient(
|
||||
ClientPtr client)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
Bool
|
||||
XpClientIsPrintClient(client, fpe)
|
||||
ClientPtr client;
|
||||
FontPathElementPtr fpe;
|
||||
XpClientIsPrintClient(
|
||||
ClientPtr client,
|
||||
FontPathElementPtr fpe)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
int
|
||||
XprintOptions(argc, argv, i)
|
||||
int argc;
|
||||
char **argv;
|
||||
int i;
|
||||
XprintOptions(
|
||||
int argc,
|
||||
char **argv,
|
||||
int i)
|
||||
{
|
||||
return i;
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
.\" not be used in advertising or otherwise to promote the sale, use or
|
||||
.\" other dealings in this Software without prior written authorization
|
||||
.\" from The Open Group.
|
||||
.\" $XFree86: xc/programs/Xserver/Xserver.man,v 3.29 2003/09/08 14:25:26 eich Exp $
|
||||
.\" $XFree86: xc/programs/Xserver/Xserver.man,v 3.32 2004/01/12 21:43:19 herrb Exp $
|
||||
.\" shorthand for double quote that works everywhere.
|
||||
.ds q \N'34'
|
||||
.TH XSERVER 1 __xorgversion__
|
||||
|
@ -37,16 +37,17 @@ is the generic name for the X Window System display server. It is
|
|||
frequently a link or a copy of the appropriate server binary for
|
||||
driving the most frequently used server on a given machine.
|
||||
.SH "STARTING THE SERVER"
|
||||
The X server is usually started from the X Display Manager program \fIxdm\fP(1).
|
||||
The X server is usually started from the X Display Manager program
|
||||
\fIxdm\fP(1) or a similar display manager program.
|
||||
This utility is run from the system boot files and takes care of keeping
|
||||
the server running, prompting for usernames and passwords, and starting up
|
||||
the user sessions.
|
||||
.PP
|
||||
Installations that run more than one window system may need to use the
|
||||
\fIxinit\fP(1) utility instead of \fIxdm\fP. However, \fIxinit\fP is
|
||||
\fIxinit\fP(1) utility instead of a display manager. However, \fIxinit\fP is
|
||||
to be considered a tool for building startup scripts and is not
|
||||
intended for use by end users. Site administrators are \fBstrongly\fP
|
||||
urged to use \fIxdm\fP, or build other interfaces for novice users.
|
||||
urged to use a display manager, or build other interfaces for novice users.
|
||||
.PP
|
||||
The X server may also be started directly by the user, though this
|
||||
method is usually reserved for testing and is not recommended for
|
||||
|
@ -95,8 +96,8 @@ Audit lines are sent as standard error output.
|
|||
.TP 8
|
||||
.B \-auth \fIauthorization-file\fP
|
||||
specifies a file which contains a collection of authorization records used
|
||||
to authenticate access. See also the \fIxdm\fP and \fIXsecurity\fP manual
|
||||
pages.
|
||||
to authenticate access. See also the \fIxdm\fP(1) and
|
||||
\fIXsecurity\fP(__miscmansuffix__) manual pages.
|
||||
.TP 8
|
||||
.B bc
|
||||
disables certain kinds of error checking, for bug compatibility with
|
||||
|
@ -139,15 +140,23 @@ different from the user's real uid.
|
|||
.B \-core
|
||||
causes the server to generate a core dump on fatal errors.
|
||||
.TP 8
|
||||
.B \-deferglyphs \fIwhichfonts\fP
|
||||
specifies the types of fonts for which the server should attempt to use
|
||||
deferred glyph loading. \fIwhichfonts\fP can be all (all fonts),
|
||||
none (no fonts), or 16 (16 bit fonts only).
|
||||
.TP 8
|
||||
.B \-dpi \fIresolution\fP
|
||||
sets the resolution for all screens, in dots per inch.
|
||||
To be used when the server cannot determine the screen size(s) from the
|
||||
hardware.
|
||||
.TP 8
|
||||
.B \-deferglyphs \fIwhichfonts\fP
|
||||
specifies the types of fonts for which the server should attempt to use
|
||||
deferred glyph loading. \fIwhichfonts\fP can be all (all fonts),
|
||||
none (no fonts), or 16 (16 bit fonts only).
|
||||
.B dpms
|
||||
enables DPMS (display power management services), where supported. The
|
||||
default state is platform and configuration specific.
|
||||
.TP 8
|
||||
.B \-dpms
|
||||
disables DPMS (display power management services). The default state
|
||||
is platform and configuration specific.
|
||||
.TP 8
|
||||
.B \-f \fIvolume\fP
|
||||
sets feep (bell) volume (allowable range: 0-100).
|
||||
|
@ -161,6 +170,8 @@ sets the default font.
|
|||
.B \-fp \fIfontPath\fP
|
||||
sets the search path for fonts. This path is a comma separated list
|
||||
of directories which the X server searches for font databases.
|
||||
See the FONTS section of this manual page for more information and the default
|
||||
list.
|
||||
.TP 8
|
||||
.B \-help
|
||||
prints a usage message.
|
||||
|
@ -168,6 +179,11 @@ prints a usage message.
|
|||
.B \-I
|
||||
causes all remaining command line arguments to be ignored.
|
||||
.TP 8
|
||||
.B \-maxbigreqsize \fIsize\fP
|
||||
sets the maxmium big request to
|
||||
.I size
|
||||
MB.
|
||||
.TP 8
|
||||
.B \-nolisten \fItrans-type\fP
|
||||
disables a transport type. For example, TCP/IP connections can be disabled
|
||||
with
|
||||
|
@ -187,7 +203,11 @@ sets screen-saver pattern cycle time in minutes.
|
|||
.B \-pn
|
||||
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.
|
||||
establishes at least one. This option is set by default.
|
||||
.TP 8
|
||||
.B \-nopn
|
||||
causes the server to exit if it fails to establish all of its well-known
|
||||
sockets (connection points for clients).
|
||||
.TP 8
|
||||
.B \-r
|
||||
turns off auto-repeat.
|
||||
|
@ -243,7 +263,7 @@ This is a no-op for most implementations.
|
|||
.TP 8
|
||||
.B [+-]xinerama
|
||||
enables(+) or disables(-) the XINERAMA extension. The default state is
|
||||
disabled.
|
||||
platform and configuration specific.
|
||||
.SH SERVER DEPENDENT OPTIONS
|
||||
Some X servers accept the following options:
|
||||
.TP 8
|
||||
|
@ -288,6 +308,14 @@ use a gray map of 13 color cells for the X render extension.
|
|||
.I color
|
||||
use a color cube of at most 4*4*4 colors (that is 64 color cells).
|
||||
.RE
|
||||
.TP 8
|
||||
.B \-dumbSched
|
||||
disables smart scheduling on platforms that support the smart scheduler.
|
||||
.TP
|
||||
.B \-schedInterval \fIinterval\fP
|
||||
sets the smart scheduler's scheduling interval to
|
||||
.I interval
|
||||
milliseconds.
|
||||
.SH XDMCP OPTIONS
|
||||
X servers that support XDMCP have the following options.
|
||||
See the \fIX Display Manager Control Protocol\fP specification for more
|
||||
|
@ -300,6 +328,7 @@ enables XDMCP and sends Query packets to the specified
|
|||
.B \-broadcast
|
||||
enable XDMCP and broadcasts BroadcastQuery packets to the network. The
|
||||
first responding display manager will be chosen for the session.
|
||||
.TP 8
|
||||
.B \-multicast [\fIaddress\fP [\fIhop count\fP]]
|
||||
Enable XDMCP and multicast BroadcastQuery packets to the network.
|
||||
The first responding display manager is chosen for the session. If an
|
||||
|
@ -316,8 +345,8 @@ enables XDMCP and send IndirectQuery packets to the specified
|
|||
.TP 8
|
||||
.B \-port \fIport-number\fP
|
||||
uses the specified \fIport-number\fP for XDMCP packets, instead of the
|
||||
default. This option must be specified before any \-query, \-broadcast or
|
||||
\-indirect options.
|
||||
default. This option must be specified before any \-query, \-broadcast,
|
||||
\-multicast, or \-indirect options.
|
||||
.TP 8
|
||||
.B \-from \fIlocal-address\fP
|
||||
specifies the local address to connect from (useful if the connecting host
|
||||
|
@ -344,7 +373,10 @@ Yet another XDMCP specific value, this one allows the display manager to
|
|||
identify each display so that it can locate the shared key.
|
||||
.SH XKEYBOARD OPTIONS
|
||||
X servers that support the XKEYBOARD (a.k.a. \*qXKB\*q) extension accept the
|
||||
following options:
|
||||
following options. All layout files specified on the command line must be
|
||||
located in the XKB base directory or a subdirectory, and specified as the
|
||||
relative path from the XKB base directory. The default XKB base directory is
|
||||
.IR __projectroot__/lib/X11/xkb .
|
||||
.TP 8
|
||||
.B [+-]kb
|
||||
enables(+) or disables(-) the XKEYBOARD extension.
|
||||
|
@ -599,13 +631,14 @@ property Woo-Hoo OhBoy = "*son" ad
|
|||
The X server supports client connections via a platform-dependent subset of
|
||||
the following transport types: TCP\/IP, Unix Domain sockets, DECnet,
|
||||
and several varieties of SVR4 local connections. See the DISPLAY
|
||||
NAMES section of the \fIX(__miscmansuffix__)\fP manual page to learn how to
|
||||
NAMES section of the \fIX\fP(__miscmansuffix__) manual page to learn how to
|
||||
specify which transport type clients should try to use.
|
||||
.SH GRANTING ACCESS
|
||||
The X server implements a platform-dependent subset of the following
|
||||
authorization protocols: MIT-MAGIC-COOKIE-1, XDM-AUTHORIZATION-1,
|
||||
SUN-DES-1, and MIT-KERBEROS-5. See the \fIXsecurity\fP(__miscmansuffix__)
|
||||
manual page for information on the operation of these protocols.
|
||||
XDM-AUTHORIZATION-2, SUN-DES-1, and MIT-KERBEROS-5. See the
|
||||
\fIXsecurity\fP(__miscmansuffix__) manual page for information on the
|
||||
operation of these protocols.
|
||||
.PP
|
||||
Authorization data required by the above protocols is passed to the
|
||||
server in a private file named with the \fB\-auth\fP command line
|
||||
|
@ -626,15 +659,17 @@ this list initially consists of the host on which the server is running as
|
|||
well as any machines listed in the file \fI/etc/X\fBn\fI.hosts\fR, where
|
||||
\fBn\fP is the display number of the server. Each line of the file should
|
||||
contain either an Internet hostname (e.g. expo.lcs.mit.edu) or a DECnet
|
||||
hostname in double colon format (e.g. hydra::). There should be no leading
|
||||
or trailing spaces on any lines. For example:
|
||||
hostname in double colon format (e.g. hydra::) or a complete name in the format
|
||||
\fIfamily\fP:\fIname\fP as described in the \fIxhost\fP(1) manual page.
|
||||
There should be no leading or trailing spaces on any lines. For example:
|
||||
.sp
|
||||
.in +8
|
||||
.nf
|
||||
joesworkstation
|
||||
corporate.company.com
|
||||
star::
|
||||
bigcpu::
|
||||
inet:bigcpu
|
||||
local:
|
||||
.fi
|
||||
.in -8
|
||||
.PP
|
||||
|
@ -691,11 +726,7 @@ the X server uses when trying to open a font is controlled
|
|||
by the \fIfont path\fP.
|
||||
.LP
|
||||
The default font path is
|
||||
__projectroot__/lib/X11/fonts/misc/,
|
||||
__projectroot__/lib/X11/fonts/Speedo/,
|
||||
__projectroot__/lib/X11/fonts/Type1/,
|
||||
__projectroot__/lib/X11/fonts/75dpi/,
|
||||
__projectroot__/lib/X11/fonts/100dpi/" .
|
||||
__default_font_path__ .
|
||||
.LP
|
||||
The font path can be set with the \fB\-fp\fP option or by \fIxset\fP(1)
|
||||
after the server has started.
|
||||
|
@ -707,7 +738,7 @@ Initial access control list for display number \fBn\fP
|
|||
.IR __projectroot__/lib/X11/fonts/misc , __projectroot__/lib/X11/fonts/75dpi , __projectroot__/lib/X11/fonts/100dpi
|
||||
Bitmap font directories
|
||||
.TP 30
|
||||
.IR __projectroot__/lib/X11/fonts/Speedo , __projectroot__/lib/X11/fonts/Type1
|
||||
.IR __projectroot__/lib/X11/fonts/TTF , __projectroot__/lib/X11/fonts/Speedo , __projectroot__/lib/X11/fonts/Type1
|
||||
Outline font directories
|
||||
.TP 30
|
||||
.I __projectroot__/lib/X11/rgb.txt
|
||||
|
@ -720,7 +751,7 @@ Unix domain socket for display number \fBn\fP
|
|||
Kerberos 5 replay cache for display number \fBn\fP
|
||||
.TP 30
|
||||
.I /usr/adm/X\fBn\fPmsgs
|
||||
Error log file for display number \fBn\fP if run from \fIinit\fP(8)
|
||||
Error log file for display number \fBn\fP if run from \fIinit\fP(__adminmansuffix__)
|
||||
.TP 30
|
||||
.I __projectroot__/lib/X11/xdm/xdm-errors
|
||||
Default error log file if the server is run from \fIxdm\fP(1)
|
||||
|
@ -732,15 +763,15 @@ Protocols:
|
|||
.I "The X Font Service Protocol,"
|
||||
.I "X Display Manager Control Protocol"
|
||||
.PP
|
||||
Fonts: \fIbdftopcf\fP(1), \fImkfontdir\fP(1), \fIxfs\fP(1),
|
||||
\fIxlsfonts\fP(1), \fIxfontsel\fP(1), \fIxfd\fP(1),
|
||||
Fonts: \fIbdftopcf\fP(1), \fImkfontdir\fP(1), \fImkfontscale\fP(1),
|
||||
\fIxfs\fP(1), \fIxlsfonts\fP(1), \fIxfontsel\fP(1), \fIxfd\fP(1),
|
||||
.I "X Logical Font Description Conventions"
|
||||
.PP
|
||||
Security: \fIXsecurity\fP(__miscmansuffix__), \fIxauth\fP(1), \fIXau\fP(1),
|
||||
\fIxdm\fP(1), \fIxhost\fP(1), \fIxfwp\fP(1)
|
||||
\fIxdm\fP(1), \fIxhost\fP(1), \fIxfwp\fP(1),
|
||||
.I "Security Extension Specification"
|
||||
.PP
|
||||
Starting the server: \fIxdm(1)\fP, \fIxinit\fP(1)
|
||||
Starting the server: \fIxdm\fP(1), \fIxinit\fP(1)
|
||||
.PP
|
||||
Controlling the server once started: \fIxset\fP(1), \fIxsetroot\fP(1),
|
||||
\fIxhost\fP(1)
|
||||
|
|
54
fb/fbcopy.c
54
fb/fbcopy.c
|
@ -21,7 +21,7 @@
|
|||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/fb/fbcopy.c,v 1.13 2003/11/10 18:21:47 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/fb/fbcopy.c,v 1.14 2003/12/28 17:22:25 alanh Exp $ */
|
||||
|
||||
#include "fb.h"
|
||||
#ifdef IN_MODULE
|
||||
|
@ -398,7 +398,10 @@ fbDoCopy (DrawablePtr pSrcDrawable,
|
|||
int dx;
|
||||
int dy;
|
||||
int numRects;
|
||||
BoxRec box;
|
||||
int box_x1;
|
||||
int box_y1;
|
||||
int box_x2;
|
||||
int box_y2;
|
||||
Bool fastSrc = FALSE; /* for fast clipping with pixmap source */
|
||||
Bool fastDst = FALSE; /* for fast clipping with one rect dest */
|
||||
Bool fastExpose = FALSE; /* for fast exposures with pixmap source */
|
||||
|
@ -466,10 +469,10 @@ fbDoCopy (DrawablePtr pSrcDrawable,
|
|||
xOut += pDstDrawable->x;
|
||||
yOut += pDstDrawable->y;
|
||||
|
||||
box.x1 = xIn;
|
||||
box.y1 = yIn;
|
||||
box.x2 = xIn + widthSrc;
|
||||
box.y2 = yIn + heightSrc;
|
||||
box_x1 = xIn;
|
||||
box_y1 = yIn;
|
||||
box_x2 = xIn + widthSrc;
|
||||
box_y2 = yIn + heightSrc;
|
||||
|
||||
dx = xIn - xOut;
|
||||
dy = yIn - yOut;
|
||||
|
@ -484,32 +487,32 @@ fbDoCopy (DrawablePtr pSrcDrawable,
|
|||
* clip the source; if regions extend beyond the source size,
|
||||
* make sure exposure events get sent
|
||||
*/
|
||||
if (box.x1 < pSrcDrawable->x)
|
||||
if (box_x1 < pSrcDrawable->x)
|
||||
{
|
||||
box.x1 = pSrcDrawable->x;
|
||||
box_x1 = pSrcDrawable->x;
|
||||
fastExpose = FALSE;
|
||||
}
|
||||
if (box.y1 < pSrcDrawable->y)
|
||||
if (box_y1 < pSrcDrawable->y)
|
||||
{
|
||||
box.y1 = pSrcDrawable->y;
|
||||
box_y1 = pSrcDrawable->y;
|
||||
fastExpose = FALSE;
|
||||
}
|
||||
if (box.x2 > pSrcDrawable->x + (int) pSrcDrawable->width)
|
||||
if (box_x2 > pSrcDrawable->x + (int) pSrcDrawable->width)
|
||||
{
|
||||
box.x2 = pSrcDrawable->x + (int) pSrcDrawable->width;
|
||||
box_x2 = pSrcDrawable->x + (int) pSrcDrawable->width;
|
||||
fastExpose = FALSE;
|
||||
}
|
||||
if (box.y2 > pSrcDrawable->y + (int) pSrcDrawable->height)
|
||||
if (box_y2 > pSrcDrawable->y + (int) pSrcDrawable->height)
|
||||
{
|
||||
box.y2 = pSrcDrawable->y + (int) pSrcDrawable->height;
|
||||
box_y2 = pSrcDrawable->y + (int) pSrcDrawable->height;
|
||||
fastExpose = FALSE;
|
||||
}
|
||||
|
||||
/* Translate and clip the dst to the destination composite clip */
|
||||
box.x1 -= dx;
|
||||
box.x2 -= dx;
|
||||
box.y1 -= dy;
|
||||
box.y2 -= dy;
|
||||
box_x1 -= dx;
|
||||
box_x2 -= dx;
|
||||
box_y1 -= dy;
|
||||
box_y2 -= dy;
|
||||
|
||||
/* If the destination composite clip is one rectangle we can
|
||||
do the clip directly. Otherwise we have to create a full
|
||||
|
@ -520,21 +523,26 @@ fbDoCopy (DrawablePtr pSrcDrawable,
|
|||
{
|
||||
BoxPtr pBox = REGION_RECTS(cclip);
|
||||
|
||||
if (box.x1 < pBox->x1) box.x1 = pBox->x1;
|
||||
if (box.x2 > pBox->x2) box.x2 = pBox->x2;
|
||||
if (box.y1 < pBox->y1) box.y1 = pBox->y1;
|
||||
if (box.y2 > pBox->y2) box.y2 = pBox->y2;
|
||||
if (box_x1 < pBox->x1) box_x1 = pBox->x1;
|
||||
if (box_x2 > pBox->x2) box_x2 = pBox->x2;
|
||||
if (box_y1 < pBox->y1) box_y1 = pBox->y1;
|
||||
if (box_y2 > pBox->y2) box_y2 = pBox->y2;
|
||||
fastDst = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* Check to see if the region is empty */
|
||||
if (box.x1 >= box.x2 || box.y1 >= box.y2)
|
||||
if (box_x1 >= box_x2 || box_y1 >= box_y2)
|
||||
{
|
||||
REGION_NULL(pGC->pScreen, &rgnDst);
|
||||
}
|
||||
else
|
||||
{
|
||||
BoxRec box;
|
||||
box.x1 = box_x1;
|
||||
box.y1 = box_y1;
|
||||
box.x2 = box_x2;
|
||||
box.y2 = box_y2;
|
||||
REGION_INIT(pGC->pScreen, &rgnDst, &box, 1);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XdotOrg: xc/programs/Xserver/fb/fbwindow.c,v 1.1.4.3 2004/02/25 21:46:42 kaleb Exp $ */
|
||||
/*
|
||||
* Id: fbwindow.c,v 1.1 1999/11/02 03:54:45 keithp Exp $
|
||||
*
|
||||
|
@ -225,8 +225,8 @@ fbFillRegionSolid (DrawablePtr pDrawable,
|
|||
}
|
||||
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
#endif
|
||||
|
||||
void
|
||||
|
@ -249,13 +249,13 @@ fbFillRegionTiled (DrawablePtr pDrawable,
|
|||
int yRot = pDrawable->y;
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension)
|
||||
if(!noPanoramiXExtension)
|
||||
{
|
||||
int index = pDrawable->pScreen->myNum;
|
||||
if(&WindowTable[index]->drawable == pDrawable)
|
||||
{
|
||||
xRot -= xineramaDataPtr[index].x;
|
||||
yRot -= xineramaDataPtr[index].y;
|
||||
xRot -= panoramiXdataPtr[index].x;
|
||||
yRot -= panoramiXdataPtr[index].y;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
Binary file not shown.
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XdotOrg: xc/programs/Xserver/hw/darwin/quartz/quartzCocoa.m,v 1.1.4.3 2004/02/25 21:46:45 kaleb Exp $ */
|
||||
/**************************************************************
|
||||
*
|
||||
* Quartz-specific support for the Darwin X Server
|
||||
|
@ -49,7 +49,7 @@
|
|||
|
||||
extern void FatalError(const char *, ...);
|
||||
extern char *display;
|
||||
extern int noXineramaExtension;
|
||||
extern int noPanoramiXExtension;
|
||||
|
||||
|
||||
/*
|
||||
|
@ -69,12 +69,12 @@ void QuartzReadPreferences(void)
|
|||
// quartzRootless has already been set
|
||||
if (quartzRootless) {
|
||||
// Use Pseudorama instead of Xinerama
|
||||
noXineramaExtension = TRUE;
|
||||
noPanoramiXExtension = TRUE;
|
||||
noPseudoramaExtension = ![Preferences xinerama];
|
||||
|
||||
quartzUseAGL = [Preferences useAGL];
|
||||
} else {
|
||||
noXineramaExtension = ![Preferences xinerama];
|
||||
noPanoramiXExtension = ![Preferences xinerama];
|
||||
noPseudoramaExtension = TRUE;
|
||||
|
||||
// Full screen can't use AGL for GLX
|
||||
|
|
|
@ -32,9 +32,7 @@
|
|||
promote the sale, use or other dealings in this Software without
|
||||
prior written authorization.
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/quartzKeyboard.c,v 1.1 2003/11/01 08:13:08 torrey Exp $ */
|
||||
|
||||
#ifdef HAS_KL_API
|
||||
/* $XFree86: xc/programs/Xserver/hw/darwin/quartz/quartzKeyboard.c,v 1.2 2004/01/19 01:22:47 torrey Exp $ */
|
||||
|
||||
#include "quartzCommon.h"
|
||||
|
||||
|
@ -45,6 +43,8 @@
|
|||
#include "keysym.h"
|
||||
#include "keysym2ucs.h"
|
||||
|
||||
#ifdef HAS_KL_API
|
||||
|
||||
#define HACK_MISSING 1
|
||||
#define HACK_KEYPAD 1
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/compiler.h,v 1.1.4.3 2003/12/20 00:28:26 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/compiler.h,v 3.105 2003/12/18 21:56:37 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/compiler.h,v 3.106 2004/02/02 03:55:28 dawes Exp $ */
|
||||
/*
|
||||
* Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
|
||||
*
|
||||
|
@ -59,6 +58,10 @@
|
|||
|
||||
# define _COMPILER_H
|
||||
|
||||
#if defined(__SUNPRO_C)
|
||||
# define DO_PROTOTYPES
|
||||
#endif
|
||||
|
||||
/* Allow drivers to use the GCC-supported __inline__ and/or __inline. */
|
||||
# ifndef __inline__
|
||||
# if defined(__GNUC__)
|
||||
|
@ -1301,6 +1304,7 @@ inl(unsigned short port)
|
|||
# define mem_barrier() /* NOP */
|
||||
# define write_mem_barrier() /* NOP */
|
||||
|
||||
# if !defined(__SUNPRO_C)
|
||||
# if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__)
|
||||
# ifdef GCCUSESGAS
|
||||
|
||||
|
@ -1446,6 +1450,7 @@ inl(unsigned short port)
|
|||
}
|
||||
|
||||
# endif /* FAKEIT */
|
||||
# endif /* __SUNPRO_C */
|
||||
|
||||
# endif /* ix86 */
|
||||
|
||||
|
@ -1541,8 +1546,8 @@ extern void outl(unsigned int a, unsigned int l);
|
|||
#if 0
|
||||
# include <sys/types.h>
|
||||
#endif
|
||||
# if !defined(__HIGHC__) && !defined(__SUNPRO_C)
|
||||
# ifndef __USLC__
|
||||
# ifndef __HIGHC__
|
||||
# if !defined(__USLC__) && !defined(__SUNPRO_C)
|
||||
# define __USLC__
|
||||
# endif
|
||||
# endif
|
||||
|
@ -1561,8 +1566,8 @@ extern void outl(unsigned int a, unsigned int l);
|
|||
# include <sys/types.h>
|
||||
# endif /* IN_MODULE */
|
||||
# endif /* USL */
|
||||
# ifndef sgi
|
||||
# include <sys/inline.h>
|
||||
# if !defined(sgi) && !defined(__SUNPRO_C)
|
||||
# include <sys/inline.h>
|
||||
# endif
|
||||
# else
|
||||
# include "scoasm.h"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86.h,v 3.172 2003/09/24 02:43:16 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86.h,v 3.173 2004/01/27 01:31:44 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||
|
@ -57,7 +57,6 @@ extern int xf86PixmapIndex;
|
|||
extern Bool xf86ResAccessEnter;
|
||||
extern ScrnInfoPtr *xf86Screens; /* List of pointers to ScrnInfoRecs */
|
||||
extern const unsigned char byte_reversed[256];
|
||||
extern PropertyPtr *xf86RegisteredPropertiesTable;
|
||||
extern ScrnInfoPtr xf86CurrentScreen;
|
||||
extern Bool pciSlotClaimed;
|
||||
extern Bool isaSlotClaimed;
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Bus.c,v 1.79 2003/11/03 05:11:01 tsi Exp $ */
|
||||
/* $XdotOrg$ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Bus.c,v 1.80 2004/02/05 18:24:59 eich Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||
*
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86Config.c,v 3.277 2003/10/15 22:51:48 dawes Exp $ */
|
||||
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86Config.c,v 1.1.4.4 2004/02/25 21:46:46 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Config.c,v 3.277 2003/10/15 22:51:48 dawes Exp $ */
|
||||
|
||||
|
||||
|
@ -1060,13 +1060,13 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
|
|||
|
||||
#ifdef XINERAMA
|
||||
from = X_DEFAULT;
|
||||
if (!noXineramaExtension)
|
||||
if (!noPanoramiXExtension)
|
||||
from = X_CMDLINE;
|
||||
else if (xf86GetOptValBool(FlagOptions, FLAG_XINERAMA, &value)) {
|
||||
noXineramaExtension = !value;
|
||||
noPanoramiXExtension = !value;
|
||||
from = X_CONFIG;
|
||||
}
|
||||
if (!noXineramaExtension)
|
||||
if (!noPanoramiXExtension)
|
||||
xf86Msg(from, "Xinerama: enabled\n");
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86DGA.c,v 1.47 2003/08/24 17:36:51 dawes Exp $ */
|
||||
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86DGA.c,v 1.1.4.3 2004/02/25 21:46:46 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86DGA.c,v 1.47 2003/08/24 17:36:51 dawes Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1998-2002 by The XFree86 Project, Inc.
|
||||
|
@ -141,7 +141,7 @@ DGAInit(
|
|||
modes[i].num = i + 1;
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension)
|
||||
if(!noPanoramiXExtension)
|
||||
for(i = 0; i < num; i++)
|
||||
modes[i].flags &= ~DGA_PIXMAP_AVAILABLE;
|
||||
#endif
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Globals.c,v 1.41 2003/08/24 17:36:52 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Globals.c,v 1.42 2004/01/27 01:31:44 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||
|
@ -236,7 +236,7 @@ Bool xf86VidModeAllowNonLocal = FALSE;
|
|||
Bool xf86MiscModInDevDisabled = FALSE;
|
||||
Bool xf86MiscModInDevAllowNonLocal = FALSE;
|
||||
#endif
|
||||
PropertyPtr *xf86RegisteredPropertiesTable = NULL;
|
||||
RootWinPropPtr *xf86RegisteredPropertiesTable = NULL;
|
||||
Bool xf86inSuspend = FALSE;
|
||||
|
||||
#ifdef DLOPEN_HACK
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Helper.c,v 1.135 2003/10/08 14:58:27 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Helper.c,v 1.136 2004/01/27 01:31:45 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||
|
@ -2888,11 +2888,12 @@ int
|
|||
xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
|
||||
int format, unsigned long len, pointer value )
|
||||
{
|
||||
PropertyPtr pNewProp, pRegProp;
|
||||
RootWinPropPtr pNewProp = NULL, pRegProp;
|
||||
int i;
|
||||
Bool existing = FALSE;
|
||||
|
||||
#ifdef DEBUG
|
||||
ErrorF("xf86RegisterRootWindowProperty(%d, %d, %d, %d, %d, %p)\n",
|
||||
ErrorF("xf86RegisterRootWindowProperty(%d, %ld, %ld, %d, %ld, %p)\n",
|
||||
ScrnIndex, property, type, format, len, value);
|
||||
#endif
|
||||
|
||||
|
@ -2900,19 +2901,35 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
|
|||
return(BadMatch);
|
||||
}
|
||||
|
||||
if ( (pNewProp = (PropertyPtr)xalloc(sizeof(PropertyRec)))==NULL ) {
|
||||
return(BadAlloc);
|
||||
if (xf86RegisteredPropertiesTable &&
|
||||
xf86RegisteredPropertiesTable[ScrnIndex]) {
|
||||
for (pNewProp = xf86RegisteredPropertiesTable[ScrnIndex];
|
||||
pNewProp; pNewProp = pNewProp->next) {
|
||||
if (strcmp(pNewProp->name, NameForAtom(property)) == 0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
pNewProp->propertyName = property;
|
||||
if (!pNewProp) {
|
||||
if ((pNewProp = (RootWinPropPtr)xalloc(sizeof(RootWinProp))) == NULL) {
|
||||
return(BadAlloc);
|
||||
}
|
||||
/*
|
||||
* We will put this property at the end of the list so that
|
||||
* the changes are made in the order they were requested.
|
||||
*/
|
||||
pNewProp->next = NULL;
|
||||
} else {
|
||||
if (pNewProp->name)
|
||||
xfree(pNewProp->name);
|
||||
existing = TRUE;
|
||||
}
|
||||
|
||||
pNewProp->name = xnfstrdup(NameForAtom(property));
|
||||
pNewProp->type = type;
|
||||
pNewProp->format = format;
|
||||
pNewProp->size = len;
|
||||
pNewProp->data = value;
|
||||
/* We will put this property at the end of the list so that
|
||||
* the changes are made in the order they were requested.
|
||||
*/
|
||||
pNewProp->next = NULL;
|
||||
|
||||
#ifdef DEBUG
|
||||
ErrorF("new property filled\n");
|
||||
|
@ -2923,7 +2940,7 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
|
|||
ErrorF("creating xf86RegisteredPropertiesTable[] size %d\n",
|
||||
xf86NumScreens);
|
||||
#endif
|
||||
if ( NULL==(xf86RegisteredPropertiesTable=(PropertyPtr*)xnfcalloc(sizeof(PropertyPtr),xf86NumScreens) )) {
|
||||
if ( NULL==(xf86RegisteredPropertiesTable=(RootWinPropPtr*)xnfcalloc(sizeof(RootWinProp),xf86NumScreens) )) {
|
||||
return(BadAlloc);
|
||||
}
|
||||
for (i=0; i<xf86NumScreens; i++) {
|
||||
|
@ -2933,22 +2950,24 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type,
|
|||
|
||||
#ifdef DEBUG
|
||||
ErrorF("xf86RegisteredPropertiesTable %p\n",
|
||||
xf86RegisteredPropertiesTable);
|
||||
(void *)xf86RegisteredPropertiesTable);
|
||||
ErrorF("xf86RegisteredPropertiesTable[%d] %p\n",
|
||||
ScrnIndex, xf86RegisteredPropertiesTable[ScrnIndex]);
|
||||
ScrnIndex, (void *)xf86RegisteredPropertiesTable[ScrnIndex]);
|
||||
#endif
|
||||
|
||||
if ( xf86RegisteredPropertiesTable[ScrnIndex] == NULL) {
|
||||
xf86RegisteredPropertiesTable[ScrnIndex] = pNewProp;
|
||||
} else {
|
||||
pRegProp = xf86RegisteredPropertiesTable[ScrnIndex];
|
||||
while (pRegProp->next != NULL) {
|
||||
if (!existing) {
|
||||
if ( xf86RegisteredPropertiesTable[ScrnIndex] == NULL) {
|
||||
xf86RegisteredPropertiesTable[ScrnIndex] = pNewProp;
|
||||
} else {
|
||||
pRegProp = xf86RegisteredPropertiesTable[ScrnIndex];
|
||||
while (pRegProp->next != NULL) {
|
||||
#ifdef DEBUG
|
||||
ErrorF("- next %p\n", pRegProp);
|
||||
ErrorF("- next %p\n", (void *)pRegProp);
|
||||
#endif
|
||||
pRegProp = pRegProp->next;
|
||||
pRegProp = pRegProp->next;
|
||||
}
|
||||
pRegProp->next = pNewProp;
|
||||
}
|
||||
pRegProp->next = pNewProp;
|
||||
}
|
||||
#ifdef DEBUG
|
||||
ErrorF("xf86RegisterRootWindowProperty succeeded\n");
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Init.c,v 3.211 2003/11/01 00:47:01 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Init.c,v 3.212 2004/01/27 01:31:45 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Loosely based on code bearing the following copyright:
|
||||
|
@ -155,7 +155,7 @@ xf86CreateRootWindow(WindowPtr pWin)
|
|||
int ret = TRUE;
|
||||
int err = Success;
|
||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||
PropertyPtr pRegProp, pOldRegProp;
|
||||
RootWinPropPtr pProp;
|
||||
CreateWindowProcPtr CreateWindow =
|
||||
(CreateWindowProcPtr)(pScreen->devPrivates[xf86CreateRootWindowIndex].ptr);
|
||||
|
||||
|
@ -181,25 +181,19 @@ xf86CreateRootWindow(WindowPtr pWin)
|
|||
}
|
||||
|
||||
/* Now do our stuff */
|
||||
|
||||
if (xf86RegisteredPropertiesTable != NULL) {
|
||||
if (pWin->parent == NULL && xf86RegisteredPropertiesTable != NULL) {
|
||||
for (pRegProp = xf86RegisteredPropertiesTable[pScreen->myNum];
|
||||
pRegProp != NULL && err==Success;
|
||||
pRegProp = pRegProp->next )
|
||||
for (pProp = xf86RegisteredPropertiesTable[pScreen->myNum];
|
||||
pProp != NULL && err==Success;
|
||||
pProp = pProp->next )
|
||||
{
|
||||
Atom oldNameAtom = pRegProp->propertyName;
|
||||
char *nameString;
|
||||
/* propertyName was created before the screen existed,
|
||||
* so the atom does not belong to any screen;
|
||||
* we need to create a new atom with the same name.
|
||||
*/
|
||||
nameString = NameForAtom(oldNameAtom);
|
||||
pRegProp->propertyName = MakeAtom(nameString, strlen(nameString), TRUE);
|
||||
Atom prop;
|
||||
|
||||
prop = MakeAtom(pProp->name, strlen(pProp->name), TRUE);
|
||||
err = ChangeWindowProperty(pWin,
|
||||
pRegProp->propertyName, pRegProp->type,
|
||||
pRegProp->format, PropModeReplace,
|
||||
pRegProp->size, pRegProp->data,
|
||||
prop, pProp->type,
|
||||
pProp->format, PropModeReplace,
|
||||
pProp->size, pProp->data,
|
||||
FALSE
|
||||
);
|
||||
}
|
||||
|
@ -207,14 +201,6 @@ xf86CreateRootWindow(WindowPtr pWin)
|
|||
/* Look at err */
|
||||
ret &= (err==Success);
|
||||
|
||||
/* free memory */
|
||||
pOldRegProp = xf86RegisteredPropertiesTable[pScreen->myNum];
|
||||
while (pOldRegProp!=NULL) {
|
||||
pRegProp = pOldRegProp->next;
|
||||
xfree(pOldRegProp);
|
||||
pOldRegProp = pRegProp;
|
||||
}
|
||||
xf86RegisteredPropertiesTable[pScreen->myNum] = NULL;
|
||||
} else {
|
||||
xf86Msg(X_ERROR, "xf86CreateRootWindow unexpectedly called with "
|
||||
"non-root window %p (parent %p)\n",
|
||||
|
@ -303,7 +289,6 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
|
|||
xf86ScreenIndex = AllocateScreenPrivateIndex();
|
||||
xf86CreateRootWindowIndex = AllocateScreenPrivateIndex();
|
||||
xf86PixmapIndex = AllocatePixmapPrivateIndex();
|
||||
xf86RegisteredPropertiesTable=NULL;
|
||||
generation = serverGeneration;
|
||||
}
|
||||
|
||||
|
@ -749,6 +734,32 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv)
|
|||
}
|
||||
formatsDone = TRUE;
|
||||
|
||||
if (xf86Info.vtno >= 0 ) {
|
||||
#define VT_ATOM_NAME "XFree86_VT"
|
||||
Atom VTAtom=-1;
|
||||
CARD32 *VT = NULL;
|
||||
int ret;
|
||||
|
||||
/* This memory needs to stay available until the screen has been
|
||||
initialized, and we can create the property for real.
|
||||
*/
|
||||
if ( (VT = xalloc(sizeof(CARD32)))==NULL ) {
|
||||
FatalError("Unable to make VT property - out of memory. Exiting...\n");
|
||||
}
|
||||
*VT = xf86Info.vtno;
|
||||
|
||||
VTAtom = MakeAtom(VT_ATOM_NAME, sizeof(VT_ATOM_NAME), TRUE);
|
||||
|
||||
for (i = 0, ret = Success; i < xf86NumScreens && ret == Success; i++) {
|
||||
ret = xf86RegisterRootWindowProperty(xf86Screens[i]->scrnIndex,
|
||||
VTAtom, XA_INTEGER, 32,
|
||||
1, VT );
|
||||
if (ret != Success)
|
||||
xf86DrvMsg(xf86Screens[i]->scrnIndex, X_WARNING,
|
||||
"Failed to register VT property\n");
|
||||
}
|
||||
}
|
||||
|
||||
/* If a screen uses depth 24, show what the pixmap format is */
|
||||
for (i = 0; i < xf86NumScreens; i++) {
|
||||
if (xf86Screens[i]->depth == 24) {
|
||||
|
@ -1710,7 +1721,7 @@ xf86PrintBanner()
|
|||
"Select the \"xorg\" product for bugs you find in this release.\n"
|
||||
"Before reporting bugs in pre-release versions please check the\n"
|
||||
"latest version in the X.org Foundation \"monolithic tree\" CVS\n"
|
||||
"repository hosted at http://www.freedesktop.org/Software/xorg/"
|
||||
"repository hosted at http://www.freedesktop.org/Software/xorg/");
|
||||
#endif
|
||||
#if XF86_VERSION_SNAP > 0
|
||||
ErrorF(".%d", XF86_VERSION_SNAP);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86Mode.c,v 1.1.4.3 2004/02/25 21:46:46 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Mode.c,v 1.69 2003/10/08 14:58:28 dawes Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||
|
@ -1683,7 +1683,7 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes,
|
|||
#ifdef RANDR
|
||||
if (!xf86Info.disableRandR
|
||||
#ifdef XINERAMA
|
||||
&& noXineramaExtension
|
||||
&& noPanoramiXExtension
|
||||
#endif
|
||||
)
|
||||
validateAllDefaultModes = TRUE;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Priv.h,v 3.82 2003/09/09 03:20:36 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Priv.h,v 3.83 2004/01/27 01:31:45 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997-2002 by The XFree86 Project, Inc.
|
||||
|
@ -113,6 +113,8 @@ extern int xf86LogVerbose; /* log file verbosity level */
|
|||
extern Bool xf86ProbeOnly;
|
||||
extern Bool xf86DoProbe;
|
||||
|
||||
extern RootWinPropPtr *xf86RegisteredPropertiesTable;
|
||||
|
||||
#ifndef DEFAULT_VERBOSE
|
||||
#define DEFAULT_VERBOSE 0
|
||||
#endif
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Privstr.h,v 1.40 2003/10/17 20:02:12 alanh Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86Privstr.h,v 1.41 2004/01/27 01:31:45 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
|
||||
|
@ -198,6 +198,16 @@ typedef struct {
|
|||
} VidModeRec, *VidModePtr;
|
||||
#endif
|
||||
|
||||
/* Information for root window properties. */
|
||||
typedef struct _RootWinProp {
|
||||
struct _RootWinProp * next;
|
||||
char * name;
|
||||
Atom type;
|
||||
short format;
|
||||
long size;
|
||||
pointer data;
|
||||
} RootWinProp, *RootWinPropPtr;
|
||||
|
||||
/* private resource types */
|
||||
#define ResNoAvoid ResBios
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86RandR.c,v 1.1.4.3 2004/02/25 21:46:46 kaleb Exp $ */
|
||||
/*
|
||||
* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86RandR.c,v 1.8 2003/11/10 16:42:13 tsi Exp $
|
||||
*
|
||||
|
@ -246,7 +246,7 @@ xf86RandRInit (ScreenPtr pScreen)
|
|||
|
||||
#ifdef XINERAMA
|
||||
/* XXX disable RandR when using Xinerama */
|
||||
if (!noXineramaExtension)
|
||||
if (!noPanoramiXExtension)
|
||||
return TRUE;
|
||||
#endif
|
||||
if (xf86RandRGeneration != serverGeneration)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/common/xf86cmap.c,v 1.1.4.2 2004/02/16 20:19:59 alanc Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86cmap.c,v 1.25 2003/10/17 20:02:12 alanh Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1998-2001 by The XFree86 Project, Inc.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XdotOrg: xc/programs/Xserver/Xext/extmod/modinit.h,v 1.1.4.2 2004/02/25 21:46:34 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/Xext/extmod/modinit.h,v 1.2 2003/09/13 21:33:04 dawes Exp $ */
|
||||
|
||||
#ifndef INITARGS
|
||||
|
@ -137,7 +137,7 @@ extern void XpExtensionInit(INITARGS);
|
|||
#endif
|
||||
|
||||
#if 1
|
||||
extern void XineramaExtensionInit(int argc, char *argv[]);
|
||||
extern void PanoramiXExtensionInit(int argc, char *argv[]);
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
|
|
|
@ -987,23 +987,28 @@ earlier in this document.
|
|||
|
||||
The `X-TrueType' backend is a backend based on version 1 of the FreeType
|
||||
library. X-TrueType doesn't use the `fontenc' layer for managing font encod-
|
||||
ings, but instead uses its own database of encodings. Since the functionali-
|
||||
ties for CJKV support introduced by X-TT have been merged into the new
|
||||
FreeType backend, the X-TT backend will be removed from XFree86's tree near
|
||||
the future. Therefore, the use of FreeType backend is preferred over the X-
|
||||
TT backend. General information on X-TrueType may be found at ."
|
||||
ings, but instead uses its own database of encodings.
|
||||
|
||||
Since the functionalities for CJKV support introduced by X-TT have been
|
||||
merged into the new FreeType backend, the X-TT backend will be removed from
|
||||
XFree86's tree near the future. Therefore, the use of FreeType backend is
|
||||
preferred over the X-TT backend.
|
||||
|
||||
General information on X-TrueType may be found at the After X-TT Project page
|
||||
<URL:http://x-tt.sourceforge.jp/>.
|
||||
|
||||
4.2.3 Delayed glyph rasterisation
|
||||
|
||||
When loading a large character set, the old FreeType delayed glyph rasterisa-
|
||||
tion until the time at which the glyph was first used. The new FreeType
|
||||
(libfreetype-xtt2) has an improved `very lazy' metric calculation method to
|
||||
speed up the process when loading TrueType or OpenType fonts. Although the
|
||||
X-TT module also has this method, the "vl=y" TTCap option must be set if you
|
||||
want to use it. This is the default method for FreeType when it loads multi-
|
||||
byte fonts. Even if you use a unicode font which has tens of thousands of
|
||||
glyphs, this delay will not be worrisome as long as you use the new FreeType
|
||||
backend -- its `very lazy' method is super-fast.
|
||||
When loading a proportional fonts which contain a huge number of glyphs, the
|
||||
old FreeType delayed glyph rasterisation until the time at which the glyph
|
||||
was first used. The new FreeType (libfreetype-xtt2) has an improved `very
|
||||
lazy' metric calculation method to speed up the process when loading TrueType
|
||||
or OpenType fonts. Although the X-TT module also has this method, the
|
||||
"vl=y" TTCap option must be set if you want to use it. This is the default
|
||||
method for FreeType when it loads multi-byte fonts. Even if you use a uni-
|
||||
code font which has tens of thousands of glyphs, this delay will not be wor-
|
||||
risome as long as you use the new FreeType backend -- its `very lazy' method
|
||||
is super-fast.
|
||||
|
||||
The maximum error of bitmap position using `very lazy' method is 1 pixel, and
|
||||
is the same as that of a character-cell spacing. When the X-TT backend is
|
||||
|
@ -1176,7 +1181,7 @@ The IANA RFC documents, available from a number of sites throughout the
|
|||
world, often provide interesting information about character set issues; see
|
||||
for example RFC 373.
|
||||
|
||||
Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/fonts.sgml,v 1.23 dawes Exp $
|
||||
Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/fonts.sgml,v 1.24 dawes Exp $
|
||||
|
||||
|
||||
$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.fonts,v 1.27 2003/11/24 01:57:56 dawes Exp $
|
||||
$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.fonts,v 1.28 2003/12/20 19:47:28 dawes Exp $
|
||||
|
|
|
@ -1,4 +1,259 @@
|
|||
XFree86 4.3.99.903 (xx December 2003)
|
||||
XFree86 4.3.99.904 (xx February 2004)
|
||||
|
||||
XFree86 4.3.99.903 (15 February 2004)
|
||||
805. Resync the pci.ids data with pciids.sf.net (2004-02-15 snapshot).
|
||||
804. Improve X server performance on OS/2 when using TCP transport:
|
||||
- Let the server set TCP_NODELAY, et al.
|
||||
- Change the behavior of os2PseudoSelect() on sockets.
|
||||
(Bugzilla #1175, Frank Giessler).
|
||||
803. X server on OS/2 doesn't respect AutoRepeat on/off unless XKB is disabled
|
||||
(Bugzilla #1174, Frank Giessler).
|
||||
802. Licence update.
|
||||
801. Optimise SlowBcopy() for ia64 architecture (Marc La France).
|
||||
800. Simplify vgaHWSaveFonts() and vgaHWRestoreFonts() to fix hangs seen with
|
||||
certain nVidia boards on ZX1-based systems (Marc La France).
|
||||
799. Some more font path checks.
|
||||
798. Don't define X_LOCALE on Panther (Etsushi Kato and Toshimitsu Tanaka).
|
||||
797. Fix GL_VERSION string for indirect rendering (Bugzilla #1147, DRI Project)
|
||||
796. Fix the 1024x576 modes in the via driver (Bugzilla #812, Luc Verhaegen,
|
||||
reported by Julian Cable).
|
||||
795. Add uz_UZ locale (Bugzilla #1151, Mashrab Kuvatov).
|
||||
794. Fix font alias overrun.
|
||||
793. Fix for the way the FreeType backend sets the
|
||||
_ADOBE_POSTSCRIPT_FONTNAME property for Type1 fonts (Bugzilla #1123,
|
||||
David Dawes, based on Roland Mainz, reported by David Capshaw).
|
||||
792. Fix formatting of the XLookupString bytes that xev prints out (Bugzilla
|
||||
#1153, Noah Levitt).
|
||||
791. Likely fix for FreeBSD 5.2 libGL build problem (David Dawes, reported by
|
||||
Terry R. Friedrichsen).
|
||||
790. Fix typo in bsd_mouse.c (Tyler Retzlaff).
|
||||
789. Fix off-by-one errors in the emulation of an ix86's BT, BTS, BTR and BTC
|
||||
instructions (Marc La France).
|
||||
788. Fixing segfaults that may happen in some corner cases on VT switch
|
||||
and int10 initialization (Egbert Eich).
|
||||
787. Increase PCI I/O space size on Linux/PowerPC (Bugzilla #1143,
|
||||
Paul Mackerras).
|
||||
786. Fix DRI cleanup at exit and re-enabling on reset for the via driver
|
||||
(Bugzilla #998, Thomas Hellström).
|
||||
785. Fix Xv error propagation to the client for the via driver (Bugzilla #998,
|
||||
Thomas Hellström).
|
||||
784. Fix a problem when utilizing DrawArrays when indirect rendering
|
||||
(Bugzilla #1142, DRI Project).
|
||||
783. Xterm followup fix for Bugzilla #981 (Thomas Dickey).
|
||||
782. Fix EXT version of vertex arrays (DRI Project).
|
||||
781. Fix long-standing off-by-one bug in calculating dimensions of single
|
||||
(private) back cliprect when the window is partially offscreen in
|
||||
libdri.a (Keith Whitwell)
|
||||
780. Don't do the MGAISBUSY() loop in MGAStormSync() for Mystique cards
|
||||
because this reportedly results in an infinite loop (Bugzila #85,
|
||||
David Dawes, reported by Phil ??? and Stéphane VOLTZ).
|
||||
779. Make sure the r128 driver enables the hsync and vsync signals after
|
||||
programming a video mode (Bugzilla #935, Kevin Martin).
|
||||
778. Fix Multitexture problems with vertex arrays and indirect rendering
|
||||
(Bugzilla #1092, DRI Project).
|
||||
777. Fix SecondaryColor & FogColor when indirect rendering (Bugzilla #1091,
|
||||
DRI Project).
|
||||
776. Fix build failures on Mac OS X 10.1.x (Torrey T. Lyons).
|
||||
775. Fix a timing problem in the nsc driver that prevents the display from
|
||||
working in some cases (Bugzilla #840, Hansruedi Glauser, Alan Hourihane).
|
||||
774. Via driver workaround to handle setting WC for the video memory when
|
||||
initially only part of it has WC set (Bugzilla #1010 Thomas Hellström).
|
||||
773. Fix the XAA clipping flags for the via driver, which fixes a line
|
||||
drawing problem seen with OpenOffice Calc (Bugzilla #1026,
|
||||
Thomas Hellström).
|
||||
772. HKSCS and GB18030 support for luit (Bugzilla #1048, Zarick Lau).
|
||||
771. Fix some remaining memory allocation related problems with the via
|
||||
driver (Bugzilla #998, Thomas Hellström).
|
||||
770. Add a UseRpath build switch to allow the use of -rpath to be enabled
|
||||
or disabled from the host.def file. Implemented for *BSD, Hurd, Linux.
|
||||
The default settings remains as before (David Dawes).
|
||||
769. Add a root window property called XFree86_VT that holds the VT number
|
||||
that the XFree86 server is running on (Andrew Aitcheson, suggested by
|
||||
Samuel Thibault).
|
||||
768. Fix a problem where root window properties registered with
|
||||
xf86RegisterRootWindowProperty() are not re-registered after server
|
||||
regeneration (David Dawes, reported by Samuel Thibault).
|
||||
767. Fix xtest failures for the savage driver's zero width lines by
|
||||
removing the TwoPointLine and using only the Bresenham version
|
||||
(reported by Nicolas Joly).
|
||||
766. Fix refresh rate setting for 845G/856G systems that don't support the
|
||||
Intel-specific refresh rate BIOS calls (Bugzilla #1106, David Dawes,
|
||||
reported by Lucian Precup).
|
||||
765. Fixes/build updates for BSD/OS 5.1 and 4.3.1 (Bugzilla #1111, Kurt Lidl).
|
||||
764. Fix a problem in libXmu's FindChildren() that can cause a crash by
|
||||
copying memory from outside the bounds of an array (Bugzilla #1109,
|
||||
John Tillman).
|
||||
763. Add missing TimerCallback in trident_video.c to shutdown the video.
|
||||
This could account for many peoples lockups with video on Trident chips.
|
||||
Also, add a Wait for vsync when programming video modes to avoid lockups.
|
||||
(Yukun Chen, Alan Hourihane).
|
||||
762. Fix a lockup problem on Trident Blade3D engines by permanently turning
|
||||
on PCI Retry. Also sync the engine on CloseScreen and LeaveVT.
|
||||
(Yukun Chen, Alan Hourihane).
|
||||
761. Fix getaddrinfo() return value check in SmsGenerateClientID() that was
|
||||
causing a crash when the current hostname is unresolved, and returning
|
||||
a NULL id otherwise (Bugzilla #1096, David Dawes).
|
||||
760. Support automatic configuration of the X server on OpenBSD with
|
||||
wsmouse-supported mices. (Matthieu Herrb).
|
||||
759. Updates for XKB keyboard maps:
|
||||
- Add Tibetan/Dzongkha keyboard layout (Bugzilla #1082, Gregory Mokhin).
|
||||
- Add three new Internet/multimedia keyboard descriptions
|
||||
(Bugzilla #1088, Radics Laszlo).
|
||||
758. Add overlooked SecondaryColor entries to AppleDRI indirect dispatch
|
||||
table (Torrey T. Lyons).
|
||||
757. Allocate pBIOSInfo->UserSetting in the via driver, which fixes a crash
|
||||
(James Harris).
|
||||
756. Fix Linux drm kernel modules to handle the nopage() prototype change in
|
||||
Linux 2.6.1 (Michel Dänzer, from DRI CVS).
|
||||
755. Fix use of dynamic xcursors on OS/2 (Bugzilla #1087, Frank Giessler).
|
||||
754. Fix the fbdev driver so that it allows 24-bit pixel size, and disable
|
||||
the RandR extension when rotation is enabled (Jonathan Thambidurai).
|
||||
753. Rendition driver fixes:
|
||||
- Fix the mode size limits so that the set of modes that the driver
|
||||
accepts isn't unnecessarily restricted.
|
||||
- Fix color palette refreshing after VT switching.
|
||||
- Fix a core dump at server exit with the hardware cursor was enabled.
|
||||
- Add checking for supported depths. Without this the server could
|
||||
crash if an unsupported depth was specified.
|
||||
(Eric Wittry)
|
||||
752. Update XKB registry file rules/xfree86.xml (Sergey Oudaltsov).
|
||||
751. Fix some rules in en_US.UTF-8 Compose file (Bugzilla #1071,
|
||||
Matthew Fischer).
|
||||
750. Add some content (supported hardware and driver options) to the tdfx(4)
|
||||
man page (Bugzilla #1068, Nicolas Joly).
|
||||
749. Make '-pn' (partial network) the default for all X servers, and document
|
||||
the '-nopn' option (David Dawes).
|
||||
748. Allow rstartd.real to be installed into a location other than LIBDIR
|
||||
(#6034, Luke Mewburn).
|
||||
747. Allow xdm's chooser to be installed into a directory other than LIBDIR
|
||||
(#6033, Luke Mewburn).
|
||||
746. Add XKB description for the Logitech Access keyboard (#6026,
|
||||
Michael Geddes).
|
||||
745. Fix typo in computing xterm's relative font size (Jess Thrysoee).
|
||||
744. Fix typo in savage man page (Bugzilla #1065, Nicolas Joly).
|
||||
743. Fix for xf86Msg() call with swapped arguments (Bugzilla #1064,
|
||||
Nicolas Joly).
|
||||
742. Set the dependencies correctly for SCO shared libraries, and use gcc
|
||||
for linking instead of ld (Bugzilla #1045, Kean Johnston).
|
||||
741. Some cleanups for the SCO support, and a few changes required for
|
||||
compilation on UnixWare (Bugzilla #1045, Kean Johnston).
|
||||
740. Make the X server lock file code treat the display string in the same
|
||||
way as the local listener code (i.e., convert it to an integer then back
|
||||
to a string). This fixes a problem where an non-numeric display
|
||||
argument could cause a second server to be started on display :0,
|
||||
replacing the local listener nodes for the original server.
|
||||
(Bugzilla #1056, David Dawes, reported by Robin Schoonover).
|
||||
739. Fix xfs and xdm core dumps in BecomeOrphan(), and rework/simplify
|
||||
the BecomeDaemon() code (Bugzilla #1060, #1074, David Dawes,
|
||||
reported by Martin Birgmeier).
|
||||
738. Add a "VBERestore" option for the i830 part of the i810 driver, to
|
||||
allow the VBE restore bug workaround to be disabled. This is needed
|
||||
for correct text mode restoration on some 830M-based machines
|
||||
(David Dawes, reported by Martin van Es).
|
||||
737. Fix memory leak when list of registered renderers are cleared at the
|
||||
start of each new server generation (Kevin Martin and Rik Faith).
|
||||
736. Fix memory double freeing at XIM destroying in imLcIm.c (Ivan Pascal,
|
||||
reported: Bugzilla #1015).
|
||||
735. Add xkb keymap for Microsoft Mutimedia Keyboard keys (Bugzilla #1052,
|
||||
Jacques Legare).
|
||||
734. Update Compose file for en_US.UTF-8 locale (Bugzilla #1053,
|
||||
Matthew Fischer) and fix wrong comment signs there (Ivan Pascal).
|
||||
733. VIA driver fixes:
|
||||
- Restructure the via driver's cache allocation to work with both
|
||||
the VIA and new open DRI module, and remove the now unneeded
|
||||
version check (Thomas Hellström, Alan Cox, bugzilla #998).
|
||||
- Remove special case lindvd hack (Alan Cox)
|
||||
- Add support for Xv when unaccelerated (Thomas Hellström)
|
||||
(Bugzilla #998, #1020, #1021).
|
||||
732. Check for a NULL argument in XSetICFocus() before dereferencing it.
|
||||
This fixes crashes with some XIM software (see
|
||||
http://bugzilla.mozilla.gr.jp/show_bug.cgi?id=2961#c19).
|
||||
731. Improve the i810 bitblt bug workaround, and re-enable the pixmap cache
|
||||
at depth 24 (David Dawes).
|
||||
730. Workaround for lockup at mode switch with an i810 (David Dawes).
|
||||
729. Fix transparent mono 8x8 pattern fills for the i810 (David Dawes).
|
||||
728. Disable XKB by default in XDarwin (Torrey T. Lyons).
|
||||
727. Fix manpage build warnings on Panther (Matthieu Herrb).
|
||||
726. Make sure that the ring buffer is flushed in I810CloseScreen(). This
|
||||
fixes unpredictable behaviour that sometimes shows up after server
|
||||
exit/restart or server reset, including memory corruption, spontaneous
|
||||
reboots, etc, and some odd xtest behaviour (David Dawes).
|
||||
725. Xdmcp fixes for IPv6 and mixed IPv6/IPv4 operation. (Mario Klebsch,
|
||||
Matthieu Herrb).
|
||||
724. Update rman by merging XFree86 changes to rman 3.2 (Thomas Dickey).
|
||||
723. Create fonts.scale and fonts.dir files in the target directories at
|
||||
'make install' time. This fixes several problems where some font
|
||||
entries get left out (David Dawes).
|
||||
722. Add the Bitstream Vera fonts (Bitstream, Inc and The Gnome Project).
|
||||
721. Xterm patches #183, #184 (Thomas Dickey).
|
||||
720. Build fix for the Chips driver on Linux/arm (#6011, Michel Dänzer and
|
||||
Othmar Pasteka).
|
||||
719. Change v4l "norm" names to the bttv versions (#5993,
|
||||
Marco Antonio Alvarez).
|
||||
718. Fix for symbols/hr map (#5991, Vlatko Kosturjak).
|
||||
717. The current VIA DRI driver isn't remotely compatible with the current
|
||||
code, so make sure it isn't loaded by requiring version 2.0.0 or later
|
||||
(Alan Cox).
|
||||
716. Fix VIA KM400 memory detection (Luc Verhaegen, Bugzilla #813).
|
||||
715. Fix a long standing VIA Xv problem with totem/xine and YUV surface
|
||||
types (Uberto Barbini).
|
||||
714. VIA driver updates/fixes:
|
||||
- Remove HARDWARE_NEEDS_PROGRAMMED_ORIGIN (Bugzilla #1011).
|
||||
- Allocate the UserSetting structure and use it. Changed the names so
|
||||
its uses can be tracked through the tree (Bugzilla #1006, #1014).
|
||||
- Remove dead FIFO handling code.
|
||||
- Clean up formatting in via_bios.h, via_driver.h.
|
||||
- via_tuner module (1/2 of Bugzilla #1012, #1013):
|
||||
+ Add via_tuner structures and methods.
|
||||
+ Handle the back end work for boards with Philips SAA71xx
|
||||
devices on the I2C bus providing one or two TV overlays.
|
||||
+ Handle CXA2104S audio decoder if present.
|
||||
+ Handle FI1236 TV tuners if present.
|
||||
- Remove bogus DriverVersion, DriverName stuff.
|
||||
- Xv updates (Bugzilla #1013):
|
||||
+ Remove DDR mode tables and compute supported overlay modes properly.
|
||||
+ Remove various bits of dead code.
|
||||
+ Probe for Tuners in the Xv setup.
|
||||
+ Don't advertise XvImageMask on the tuner overlays - they can't do it.
|
||||
+ Clean up tuner channel computation.
|
||||
+ Make the property setting code use the via_tuner backend.
|
||||
+ Fix formatting of the various YUV copying loops.
|
||||
(Alan Cox).
|
||||
713. Add a missing code for jisx0208.1990-0.enc (Chisato Yamauchi).
|
||||
712. Xtt2 update: Restore the behaviour of "bw" TTCap option for Netscape 4.x.
|
||||
(Chisato Yamauchi).
|
||||
711. Fix neomagic driver default mode selection to match the detected
|
||||
panel size. This allows it to work correctly with automatic
|
||||
configuration (David Dawes).
|
||||
710. Fixes and updates for XKB keyboard maps:
|
||||
- Fix Armenian phonetic keymap (Bugzilla #1016, Ani).
|
||||
- Fix rules for Brasilian ABNT2 keyboard (Ricardo Y. Igarashi).
|
||||
- Add Shift+CapsLock group switcher (Ivan Pascal, see Bugzilla #1025).
|
||||
- Update rules/xfree86.lst with missing descriptions (Ivan Pascal).
|
||||
709. Build fix for Solaris Express (Bugzilla #1032, Alan Coopersmith).
|
||||
708. Fix warning in lib/Xt/Alloc.c (Bugzilla #1035, Nicolas Joly).
|
||||
707. Fix short overflow problem with box clipping in fb/fbcopy.c
|
||||
(Bugzilla #978, Stephen McCamant).
|
||||
706. Fix logic in xterm's get_pty() for platforms where old-style pty's are
|
||||
preferred to /dev/ptmx (Bugzilla #997, Kean Johnston, Thomas Dickey).
|
||||
705. Fix handling of eightBitInput for UTF-8 locales in xterm (Thomas Dickey).
|
||||
704. Merge recent cygwin-related changes from freedesktop.org's config/cf
|
||||
(Thomas Dickey).
|
||||
703. Disable Xv in the via driver when acceleration is disabled (Alan Cox).
|
||||
702. Fix bugs caused by empty PCI buses on ZX1-based systems (Marc La France).
|
||||
701. Fix optional save/restore of BIOS area data in int10 module
|
||||
(Marc La France).
|
||||
700. Update Swedish localization of XDarwin GUI (Patrik Montgomery).
|
||||
699. Fixes to build/run on cygwin (Thomas Dickey). This includes a workaround
|
||||
for _XtInherit by Ralf Habacker, needed to run applications such as xman.
|
||||
698. Warning fixes for gcc 3.3.2 (Marc La France).
|
||||
697. Fix file descriptor leaks in xdm (Marc La France).
|
||||
696. Fix memory leaks in libFS (Marc La France).
|
||||
695. Security fix: change xdm to use mkstemp(), where available, instead of
|
||||
mktemp() (Marc La France).
|
||||
694. Update XKB registry file rules/xfree86.xml (Sergey Oudaltsov).
|
||||
693. Fix for FreeType-related crash when attempting to draw a missing glyph
|
||||
with constant-width fonts (Chisato Yamauchi).
|
||||
|
||||
XFree86 4.3.99.902 (18 December 2003)
|
||||
672. Fixes for xterm (Thomas Dickey):
|
||||
|
@ -18391,7 +18646,7 @@ XFree86 3.0a (28 April 1994)
|
|||
XFree86 3.0 (26 April 1994)
|
||||
|
||||
|
||||
$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.3043 2003/12/19 04:52:08 dawes Exp $
|
||||
$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.3145 2004/02/16 01:01:45 dawes Exp $
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -25,9 +25,9 @@
|
|||
|
||||
<article>
|
||||
|
||||
<title>XFree86 X server ``New Design'' (DRAFT)
|
||||
<title>XFree86 server 4.x Design (DRAFT)
|
||||
<author>The XFree86 Project, Inc
|
||||
<date>Last modified 2003 January 22
|
||||
<date>19 December 2003
|
||||
|
||||
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
|||
|
||||
|
||||
<ident>
|
||||
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml,v 1.53 2003/08/23 14:10:14 dawes Exp $
|
||||
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml,v 1.54 2003/12/19 20:38:57 dawes Exp $
|
||||
</ident>
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/* $XdotOrg: xc/programs/Xserver/GL/dri/dri.c,v 1.39 2003/11/10 18:21:41 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/dri/dri.c,v 1.39 2003/11/10 18:21:41 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/GL/dri/dri.c,v 1.40 2004/01/30 14:31:58 alanh Exp $ */
|
||||
/**************************************************************************
|
||||
|
||||
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
|
||||
|
@ -68,7 +67,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "mipointer.h"
|
||||
|
||||
#if defined(XFree86LOADER) && !defined(XINERAMA)
|
||||
extern Bool noXineramaExtension;
|
||||
extern Bool noPanoramiXExtension;
|
||||
#endif
|
||||
|
||||
static int DRIScreenPrivIndex = -1;
|
||||
|
@ -133,13 +132,13 @@ DRIScreenInit(ScreenPtr pScreen, DRIInfoPtr pDRIInfo, int *pDRMFD)
|
|||
#if defined(XINERAMA) && !defined(XFree86LOADER)
|
||||
xineramaInCore = TRUE;
|
||||
#elif defined(XFree86LOADER)
|
||||
if (xf86LoaderCheckSymbol("noXineramaExtension"))
|
||||
if (xf86LoaderCheckSymbol("noPanoramiXExtension"))
|
||||
xineramaInCore = TRUE;
|
||||
#endif
|
||||
|
||||
#if defined(XINERAMA) || defined(XFree86LOADER)
|
||||
if (xineramaInCore) {
|
||||
if (!noXineramaExtension) {
|
||||
if (!noPanoramiXExtension) {
|
||||
DRIDrvMsg(pScreen->myNum, X_WARNING,
|
||||
"Direct rendering is not supported when Xinerama is enabled\n");
|
||||
return FALSE;
|
||||
|
@ -1192,8 +1191,8 @@ DRIGetDrawableInfo(ScreenPtr pScreen,
|
|||
|
||||
if (x0 < 0) x0 = 0;
|
||||
if (y0 < 0) y0 = 0;
|
||||
if (x1 > pScreen->width-1) x1 = pScreen->width-1;
|
||||
if (y1 > pScreen->height-1) y1 = pScreen->height-1;
|
||||
if (x1 > pScreen->width) x1 = pScreen->width;
|
||||
if (y1 > pScreen->height) y1 = pScreen->height;
|
||||
|
||||
pDRIPriv->private_buffer_rect.x1 = x0;
|
||||
pDRIPriv->private_buffer_rect.y1 = y0;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/int10/helper_exec.c,v 1.26 2003/11/06 18:38:12 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/int10/helper_exec.c,v 1.27 2003/12/23 22:32:38 tsi Exp $ */
|
||||
/*
|
||||
* XFree86 int10 module
|
||||
* execute BIOS int 10h calls in x86 real mode environment
|
||||
|
@ -56,7 +56,7 @@ setup_int(xf86Int10InfoPtr pInt)
|
|||
X86_GS = 0;
|
||||
X86_EFLAGS = X86_IF_MASK | X86_IOPL_MASK;
|
||||
#if defined (_PC)
|
||||
if (pInt->flags & SET_BIOS_SCRATCH)
|
||||
if (pInt->Flags & SET_BIOS_SCRATCH)
|
||||
SetResetBIOSVars(pInt, TRUE);
|
||||
#endif
|
||||
return xf86BlockSIGIO();
|
||||
|
@ -76,7 +76,7 @@ finish_int(xf86Int10InfoPtr pInt, int sig)
|
|||
pInt->bp = (CARD32) X86_EBP;
|
||||
pInt->flags = (CARD32) X86_FLAGS;
|
||||
#if defined (_PC)
|
||||
if (pInt->flags & RESTORE_BIOS_SCRATCH)
|
||||
if (pInt->Flags & RESTORE_BIOS_SCRATCH)
|
||||
SetResetBIOSVars(pInt, FALSE);
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/coffloader.c,v 1.21 2003/10/15 17:40:15 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/coffloader.c,v 1.22 2003/12/22 17:48:11 tsi Exp $ */
|
||||
|
||||
/*
|
||||
*
|
||||
|
@ -133,7 +133,9 @@ static COFFCommonPtr COFFAddCOMMON(SYMENT *, int);
|
|||
static LOOKUP *COFFCreateCOMMON(COFFModulePtr);
|
||||
static COFFRelocPtr COFFDelayRelocation(COFFModulePtr, int, RELOC *);
|
||||
static SYMENT *COFFGetSymbol(COFFModulePtr, int);
|
||||
#if defined(i386) || defined(__powerpc__)
|
||||
static unsigned char *COFFGetSymbolValue(COFFModulePtr, int);
|
||||
#endif
|
||||
static COFFRelocPtr COFF_RelocateEntry(COFFModulePtr, int, RELOC *);
|
||||
static LOOKUP *COFF_GetSymbols(COFFModulePtr);
|
||||
static void COFFCollectSections(COFFModulePtr);
|
||||
|
@ -298,6 +300,7 @@ COFFGetSymbol(COFFModulePtr file, int index)
|
|||
return (SYMENT *) (((unsigned char *)file->symtab) + (index * SYMESZ));
|
||||
}
|
||||
|
||||
#if defined(i386) || defined(__powerpc__)
|
||||
static unsigned char *
|
||||
COFFGetSymbolValue(COFFModulePtr cofffile, int index)
|
||||
{
|
||||
|
@ -323,6 +326,7 @@ COFFGetSymbolValue(COFFModulePtr cofffile, int index)
|
|||
xf86loaderfree(symname);
|
||||
return symval;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(__powerpc__)
|
||||
/*
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/loader/extsym.c,v 1.1.4.3 2004/02/25 21:46:53 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/extsym.c,v 1.9 2003/10/15 16:29:03 dawes Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -29,7 +29,7 @@
|
|||
#include "sym.h"
|
||||
#include "misc.h"
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "panoramiX.h"
|
||||
#endif
|
||||
#include "sleepuntil.h"
|
||||
|
||||
|
@ -40,10 +40,10 @@ extern RESTYPE ShmSegType, ShmPixType;
|
|||
#endif
|
||||
|
||||
#ifdef XINERAMA
|
||||
extern Bool noXineramaExtension;
|
||||
extern int XineramaNumScreens;
|
||||
extern XineramaData *xineramaDataPtr;
|
||||
extern XID *XineramaVisualTable;
|
||||
extern Bool noPanoramiXExtension;
|
||||
extern int PanoramiXNumScreens;
|
||||
extern PanoramiXData *panoramiXdataPtr;
|
||||
extern XID *PanoramiXVisualTable;
|
||||
extern unsigned long XRT_WINDOW;
|
||||
extern unsigned long XRT_PIXMAP;
|
||||
extern unsigned long XRT_GC;
|
||||
|
@ -66,10 +66,10 @@ LOOKUP extLookupTab[] = {
|
|||
#ifdef XINERAMA
|
||||
SYMFUNC(XineramaRegisterConnectionBlockCallback)
|
||||
SYMFUNC(XineramaDeleteResource)
|
||||
SYMVAR(noXineramaExtension)
|
||||
SYMVAR(XineramaNumScreens)
|
||||
SYMVAR(xineramaDataPtr)
|
||||
SYMVAR(XineramaVisualTable)
|
||||
SYMVAR(noPanoramiXExtension)
|
||||
SYMVAR(PanoramiXNumScreens)
|
||||
SYMVAR(panoramiXdataPtr)
|
||||
SYMVAR(PanoramiXVisualTable)
|
||||
SYMVAR(XRT_WINDOW)
|
||||
SYMVAR(XRT_PIXMAP)
|
||||
SYMVAR(XRT_GC)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/fontsym.c,v 1.13 2003/10/15 16:29:04 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/fontsym.c,v 1.14 2003/12/20 20:04:34 dawes Exp $ */
|
||||
/*
|
||||
* Copyright (c) 1998-2002 by The XFree86 Project, Inc.
|
||||
*
|
||||
|
@ -37,8 +37,10 @@
|
|||
#include "fntfil.h"
|
||||
#include "fontutil.h"
|
||||
#include "fontxlfd.h"
|
||||
#ifdef FONTCACHE
|
||||
#define _FONTCACHE_SERVER_
|
||||
#include "fontcache.h"
|
||||
#endif
|
||||
|
||||
LOOKUP fontLookupTab[] = {
|
||||
|
||||
|
@ -89,6 +91,7 @@ LOOKUP fontLookupTab[] = {
|
|||
SYMFUNC(identifyEncodingFile)
|
||||
#endif
|
||||
|
||||
#ifdef FONTCACHE
|
||||
/* fontcache.c */
|
||||
SYMFUNC(FontCacheGetSettings)
|
||||
SYMFUNC(FontCacheGetStatistics)
|
||||
|
@ -99,6 +102,7 @@ LOOKUP fontLookupTab[] = {
|
|||
SYMFUNC(FontCacheGetEntry)
|
||||
SYMFUNC(FontCacheInsertEntry)
|
||||
SYMFUNC(FontCacheGetBitmap)
|
||||
#endif
|
||||
|
||||
{0, 0}
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c,v 1.5 2003/04/03 16:50:04 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/alpha_video.c,v 1.6 2003/12/30 15:18:30 herrb Exp $ */
|
||||
/*
|
||||
* Copyright 1992 by Rich Murphey <Rich@Rice.edu>
|
||||
* Copyright 1993 by David Wexelblat <dwex@goblin.org>
|
||||
|
@ -121,7 +121,7 @@ static struct alpha_bus_window *abw;
|
|||
static int abw_count = -1;
|
||||
|
||||
static void
|
||||
init_abw()
|
||||
init_abw(void)
|
||||
{
|
||||
if (abw_count < 0) {
|
||||
abw_count = alpha_bus_getwindows(ALPHA_BUS_TYPE_PCI_MEM, &abw);
|
||||
|
@ -142,7 +142,7 @@ has_bwx(void)
|
|||
}
|
||||
|
||||
static unsigned long
|
||||
dense_base()
|
||||
dense_base(void)
|
||||
{
|
||||
if (abw_count < 0)
|
||||
init_abw();
|
||||
|
@ -154,7 +154,7 @@ dense_base()
|
|||
}
|
||||
|
||||
static unsigned long
|
||||
memory_base()
|
||||
memory_base(void)
|
||||
{
|
||||
if (abw_count < 0)
|
||||
init_abw();
|
||||
|
@ -284,11 +284,13 @@ xf86OSInitVidMem(VidMemInfoPtr pVidMem)
|
|||
xf86Msg(X_PROBED,"Machine needs sparse mapping\n");
|
||||
pVidMem->mapMem = mapVidMemSparse;
|
||||
pVidMem->unmapMem = unmapVidMemSparse;
|
||||
#ifndef __NetBSD__
|
||||
if (axpSystem == -1)
|
||||
axpSystem = bsdGetAXP();
|
||||
hae_thresh = xf86AXPParams[axpSystem].hae_thresh;
|
||||
hae_mask = xf86AXPParams[axpSystem].hae_mask;
|
||||
sparse_size = xf86AXPParams[axpSystem].size;
|
||||
#endif /* __NetBSD__ */
|
||||
}
|
||||
pVidMem->initialised = TRUE;
|
||||
}
|
||||
|
@ -314,7 +316,7 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
|
|||
MAP_FLAGS, devMemFd, (off_t)Base + BUS_BASE_BWX);
|
||||
if (base == MAP_FAILED)
|
||||
{
|
||||
FatalError("%s: could not mmap %s [s=%x,a=%x] (%s)\n",
|
||||
FatalError("%s: could not mmap %s [s=%lx,a=%lx] (%s)\n",
|
||||
"xf86MapVidMem", DEV_MEM, Size, Base,
|
||||
strerror(errno));
|
||||
}
|
||||
|
@ -324,7 +326,7 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
|
|||
/* else, mmap /dev/vga */
|
||||
if ((unsigned long)Base < 0xA0000 || (unsigned long)Base >= 0xC0000)
|
||||
{
|
||||
FatalError("%s: Address 0x%x outside allowable range\n",
|
||||
FatalError("%s: Address 0x%lx outside allowable range\n",
|
||||
"xf86MapVidMem", Base);
|
||||
}
|
||||
base = mmap(0, Size,
|
||||
|
@ -372,7 +374,7 @@ xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf,
|
|||
if ((long)ptr == -1)
|
||||
{
|
||||
xf86Msg(X_WARNING,
|
||||
"xf86ReadBIOS: %s mmap[s=%x,a=%x,o=%x] failed (%s)\n",
|
||||
"xf86ReadBIOS: %s mmap[s=%x,a=%lx,o=%lx] failed (%s)\n",
|
||||
DEV_MEM, Len, Base, Offset, strerror(errno));
|
||||
return(-1);
|
||||
}
|
||||
|
@ -446,7 +448,9 @@ xf86EnableInterrupts()
|
|||
|
||||
#define vuip volatile unsigned int *
|
||||
|
||||
#ifndef __NetBSD__
|
||||
static unsigned long msb_set = 0;
|
||||
#endif
|
||||
static pointer memSBase = 0;
|
||||
static pointer memBase = 0;
|
||||
|
||||
|
@ -490,6 +494,7 @@ struct parms {
|
|||
u_int64_t hae;
|
||||
};
|
||||
|
||||
#ifndef __NetBSD__
|
||||
static int
|
||||
sethae(u_int64_t hae)
|
||||
{
|
||||
|
@ -505,6 +510,7 @@ sethae(u_int64_t hae)
|
|||
return -1;
|
||||
#endif
|
||||
}
|
||||
#endif /* __NetBSD__ */
|
||||
|
||||
static pointer
|
||||
mapVidMemSparse(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
|
||||
|
@ -552,11 +558,13 @@ static int
|
|||
readSparse8(pointer Base, register unsigned long Offset)
|
||||
{
|
||||
register unsigned long result, shift;
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
|
||||
#endif
|
||||
mem_barrier();
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
shift = (Offset & 0x3) << 3;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask;
|
||||
Offset -= msb;
|
||||
|
@ -565,7 +573,7 @@ readSparse8(pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
result = *(vuip) ((unsigned long)memSBase + (Offset << 5));
|
||||
result >>= shift;
|
||||
return 0xffUL & result;
|
||||
|
@ -575,11 +583,14 @@ static int
|
|||
readSparse16(pointer Base, register unsigned long Offset)
|
||||
{
|
||||
register unsigned long result, shift;
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
#endif
|
||||
|
||||
mem_barrier();
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
shift = (Offset & 0x2) << 3;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask;
|
||||
Offset -= msb;
|
||||
|
@ -588,6 +599,7 @@ readSparse16(pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
result = *(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2)));
|
||||
result >>= shift;
|
||||
return 0xffffUL & result;
|
||||
|
@ -603,11 +615,14 @@ readSparse32(pointer Base, register unsigned long Offset)
|
|||
static void
|
||||
writeSparse8(int Value, pointer Base, register unsigned long Offset)
|
||||
{
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
#endif
|
||||
register unsigned int b = Value & 0xffU;
|
||||
|
||||
write_mem_barrier();
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask;
|
||||
Offset -= msb;
|
||||
|
@ -616,17 +631,21 @@ writeSparse8(int Value, pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
*(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101;
|
||||
}
|
||||
|
||||
static void
|
||||
writeSparse16(int Value, pointer Base, register unsigned long Offset)
|
||||
{
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
#endif
|
||||
register unsigned int w = Value & 0xffffU;
|
||||
|
||||
write_mem_barrier();
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask;
|
||||
Offset -= msb;
|
||||
|
@ -635,6 +654,7 @@ writeSparse16(int Value, pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
*(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) =
|
||||
w * 0x00010001;
|
||||
|
||||
|
@ -651,10 +671,13 @@ writeSparse32(int Value, pointer Base, register unsigned long Offset)
|
|||
static void
|
||||
writeSparseNB8(int Value, pointer Base, register unsigned long Offset)
|
||||
{
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
#endif
|
||||
register unsigned int b = Value & 0xffU;
|
||||
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask;
|
||||
Offset -= msb;
|
||||
|
@ -663,16 +686,20 @@ writeSparseNB8(int Value, pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
*(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101;
|
||||
}
|
||||
|
||||
static void
|
||||
writeSparseNB16(int Value, pointer Base, register unsigned long Offset)
|
||||
{
|
||||
#ifndef __NetBSD__
|
||||
register unsigned long msb;
|
||||
#endif
|
||||
register unsigned int w = Value & 0xffffU;
|
||||
|
||||
Offset += (unsigned long)Base - (unsigned long)memBase;
|
||||
#ifndef __NetBSD__
|
||||
if (Offset >= (hae_thresh)) {
|
||||
msb = Offset & hae_mask ;
|
||||
Offset -= msb;
|
||||
|
@ -681,6 +708,7 @@ writeSparseNB16(int Value, pointer Base, register unsigned long Offset)
|
|||
msb_set = msb;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
*(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) =
|
||||
w * 0x00010001;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_kbd.c,v 1.8 2003/11/04 03:16:58 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_kbd.c,v 1.9 2004/01/07 17:05:28 tsi Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2002 by The XFree86 Project, Inc.
|
||||
|
@ -497,7 +497,7 @@ OpenKeyboard(InputInfoPtr pInfo)
|
|||
#endif
|
||||
default:
|
||||
xf86Msg(X_ERROR, "%s: Unsupported wskbd type \"%d\"",
|
||||
pKbd->wsKbdType, pInfo->name);
|
||||
pInfo->name, pKbd->wsKbdType);
|
||||
close(pInfo->fd);
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c,v 1.26 2003/10/10 20:56:05 herrb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/bsd_mouse.c,v 1.28 2004/02/06 17:15:36 tsi Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1999-2003 by The XFree86 Project, Inc.
|
||||
|
@ -80,6 +80,16 @@ static const char *mouseDevs[] = {
|
|||
DEFAULT_PS2_DEV,
|
||||
NULL
|
||||
};
|
||||
#elif defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
|
||||
/* Only wsmouse mices are autoconfigured for now on OpenBSD */
|
||||
#define DEFAULT_WSMOUSE_DEV "/dev/wsmouse"
|
||||
#define DEFAULT_WSMOUSE0_DEV "/dev/wsmouse0"
|
||||
|
||||
static const char *mouseDevs[] = {
|
||||
DEFAULT_WSMOUSE_DEV,
|
||||
DEFAULT_WSMOUSE0_DEV,
|
||||
NULL
|
||||
};
|
||||
#endif
|
||||
|
||||
static int
|
||||
|
@ -141,6 +151,8 @@ DefaultProtocol(void)
|
|||
{
|
||||
#if defined(__FreeBSD__)
|
||||
return "Auto";
|
||||
#elif defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
|
||||
return "WSMouse";
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
|
@ -195,7 +207,7 @@ SetupAuto(InputInfoPtr pInfo, int *protoPara)
|
|||
protoPara[0] = mode.syncmask[0];
|
||||
protoPara[1] = mode.syncmask[1];
|
||||
}
|
||||
xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: protocol is %s\n",
|
||||
xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: protocol is %s\n",
|
||||
pInfo->name, devproto[i].name);
|
||||
return devproto[i].name;
|
||||
}
|
||||
|
@ -325,7 +337,50 @@ FindDevice(InputInfoPtr pInfo, const char *protocol, int flags)
|
|||
}
|
||||
#endif
|
||||
|
||||
#if defined(WSCONS_SUPPORT)
|
||||
#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
|
||||
|
||||
/* Only support wsmouse configuration for now */
|
||||
static const char *
|
||||
SetupAuto(InputInfoPtr pInfo, int *protoPara)
|
||||
{
|
||||
|
||||
xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: protocol is %s\n",
|
||||
pInfo->name, "wsmouse");
|
||||
return "wsmouse";
|
||||
}
|
||||
|
||||
static void
|
||||
SetMouseRes(InputInfoPtr pInfo, const char *protocol, int rate, int res)
|
||||
{
|
||||
|
||||
xf86MsgVerb(X_INFO, 3, "%s: SetMouseRes: protocol %s rate %d res %d\n",
|
||||
pInfo->name, protocol, rate, res);
|
||||
}
|
||||
|
||||
static const char *
|
||||
FindDevice(InputInfoPtr pInfo, const char *protocol, int flags)
|
||||
{
|
||||
int fd = -1;
|
||||
const char **pdev;
|
||||
|
||||
for (pdev = mouseDevs; *pdev; pdev++) {
|
||||
SYSCALL(fd = open(*pdev, O_RDWR | O_NONBLOCK));
|
||||
if (fd != -1) {
|
||||
/* Set the Device option. */
|
||||
pInfo->conf_idev->commonOptions =
|
||||
xf86AddNewOption(pInfo->conf_idev->commonOptions,
|
||||
"Device", *pdev);
|
||||
xf86Msg(X_INFO, "%s: found Device \"%s\"\n",
|
||||
pInfo->name, *pdev);
|
||||
close(fd);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return *pdev;
|
||||
}
|
||||
#endif /* __OpenBSD__ && WSCONS_SUPPORT */
|
||||
|
||||
#ifdef WSCONS_SUPPORT
|
||||
#define NUMEVENTS 64
|
||||
|
||||
static void
|
||||
|
@ -718,7 +773,11 @@ xf86OSMouseInit(int flags)
|
|||
p->SetBMRes = SetSysMouseRes;
|
||||
p->SetMiscRes = SetSysMouseRes;
|
||||
#endif
|
||||
#if defined(__FreeBSD__)
|
||||
#if defined(__OpenBSD__) && defined(WSCONS_SUPPORT)
|
||||
p->SetupAuto = SetupAuto;
|
||||
p->SetMiscRes = SetMouseRes;
|
||||
#endif
|
||||
#if defined(__FreeBSD__) || defined(__OpenBSD__)
|
||||
p->FindDevice = FindDevice;
|
||||
#endif
|
||||
p->PreInit = bsdMousePreInit;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c,v 1.81 2003/09/24 02:43:34 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c,v 1.82 2004/01/16 15:39:04 tsi Exp $ */
|
||||
/*
|
||||
* Pci.c - New server PCI access functions
|
||||
*
|
||||
|
@ -1016,7 +1016,9 @@ xf86scanpci(int flags)
|
|||
if (!(devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN))
|
||||
break;
|
||||
pciWriteByte(tag, PCI_PCI_BRIDGE_CONTROL_REG,
|
||||
devp->pci_bridge_control & ~PCI_PCI_BRIDGE_MASTER_ABORT_EN);
|
||||
devp->pci_bridge_control &
|
||||
~(PCI_PCI_BRIDGE_MASTER_ABORT_EN |
|
||||
PCI_PCI_BRIDGE_SECONDARY_RESET));
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -1079,7 +1081,7 @@ xf86scanpci(int flags)
|
|||
if (!(devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN))
|
||||
break;
|
||||
pciWriteByte(devp->tag, PCI_PCI_BRIDGE_CONTROL_REG,
|
||||
devp->pci_bridge_control);
|
||||
devp->pci_bridge_control & ~PCI_PCI_BRIDGE_SECONDARY_RESET);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.h,v 1.44 2003/11/07 23:57:47 dawes Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.h,v 1.45 2004/02/02 03:55:31 dawes Exp $ */
|
||||
/*
|
||||
* Copyright 1998 by Concurrent Computer Corporation
|
||||
*
|
||||
|
@ -262,7 +261,7 @@
|
|||
# define INCLUDE_XF86_NO_DOMAIN
|
||||
# endif
|
||||
# define XF86SCANPCI_WRAPPER ia64ScanPCIWrapper
|
||||
#elif defined(__i386__) || defined(__i386)
|
||||
#elif defined(__i386__) || defined(i386)
|
||||
# define ARCH_PCI_INIT ix86PciInit
|
||||
# define INCLUDE_XF86_MAP_PCI_MEM
|
||||
# define INCLUDE_XF86_NO_DOMAIN
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c,v 1.6 2003/12/11 17:11:39 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c,v 1.6 2003/12/11 17:11:39 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c,v 1.8 2004/01/16 15:39:38 tsi Exp $ */
|
||||
/*
|
||||
* Copyright (C) 2002-2003 The XFree86 Project, Inc. All Rights Reserved.
|
||||
*
|
||||
|
@ -98,9 +97,10 @@
|
|||
#define LBA_PORT5_CNTRL 0x1228U
|
||||
#define LBA_PORT6_CNTRL 0x1230U
|
||||
#define LBA_PORT7_CNTRL 0x1238U
|
||||
#define LBA_ROPE_RESET 0x01UL
|
||||
#define LBA_CLEAR_ERROR 0x10UL
|
||||
#define LBA_HARD_FAIL 0x40UL
|
||||
#define LBA_RESET_FUNCTION 0x0000000001UL
|
||||
#define LBA_CLEAR_ERROR 0x0000000010UL
|
||||
#define LBA_HARD_FAIL 0x0000000040UL
|
||||
#define LBA_RESET_COMPLETE 0x0100000000UL
|
||||
|
||||
#define ROPE_PAGE_CONTROL 0x1418U
|
||||
|
||||
|
@ -118,8 +118,11 @@
|
|||
#define IOA_SUBORDINATE_BUS 0x0059U
|
||||
|
||||
#define IOA_CONTROL 0x0108U
|
||||
#define IOA_FORWARD_VGA 0x08UL
|
||||
#define IOA_HARD_FAIL 0x40UL
|
||||
#define IOA_RESET_FUNCTION 0x0000000001UL
|
||||
#define IOA_FORWARD_VGA 0x0000000008UL
|
||||
#define IOA_CLEAR_ERROR 0x0000000010UL
|
||||
#define IOA_HARD_FAIL 0x0000000040UL
|
||||
#define IOA_RESET_COMPLETE 0x0100000000UL
|
||||
|
||||
#define IOA_LMMIO_BASE 0x0200U
|
||||
#define IOA_LMMIO_MASK 0x0208U
|
||||
|
@ -135,12 +138,33 @@
|
|||
#define IOA_ELMMIO_MASK 0x0258U
|
||||
#define IOA_EIOS_BASE 0x0260U
|
||||
#define IOA_EIOS_MASK 0x0268U
|
||||
|
||||
#define IOA_GLOBAL_MASK 0x0270U
|
||||
#define IOA_SLAVE_CONTROL 0x0278U
|
||||
#define IOA_VGA_PEER_ENABLE 0x2000UL
|
||||
#define IOA_MSI_BASE 0x0280U
|
||||
#define IOA_MSI_MASK 0x0288U
|
||||
|
||||
#define IOA_DMA_BASE 0x02B0U
|
||||
#define IOA_DMA_MASK 0x02B8U
|
||||
|
||||
#define IOA_ERROR_CONFIG 0x0680U
|
||||
#define IOA_ERROR_PIOWRITE 0x0001UL
|
||||
#define IOA_ERROR_PIOREAD 0x0002UL
|
||||
#define IOA_ERROR_DMAWRITE 0x0004UL
|
||||
#define IOA_ERROR_DMAREAD 0x0008UL
|
||||
#define IOA_ERROR_CONFIG_MASTER 0x0010UL
|
||||
#define IOA_ERROR_SMART 0x0020UL
|
||||
#define IOA_ERROR_FATAL_SERR 0x0040UL
|
||||
#define IOA_ERROR_ASSERT_SERR 0x0080UL
|
||||
/* ? 0x0100UL */
|
||||
#define IOA_ERROR_LOOPBACK 0x0200UL
|
||||
#define IOA_ERROR_CONFIG_TARGET 0x0400UL
|
||||
#define IOA_ERROR_IO_MASTER 0x0800UL
|
||||
#define IOA_ERROR_IO_TARGET 0x1000UL
|
||||
#define IOA_ERROR_MEM_MASTER 0x2000UL
|
||||
#define IOA_ERROR_MEM_TARGET 0x4000UL
|
||||
#define IOA_ERROR_HF_IO_FATAL 0x8000UL
|
||||
|
||||
#define RANGE_ENABLE 0x01UL /* In various base registers */
|
||||
|
||||
#define IO_MASK ((1UL << 16) - 1UL)
|
||||
|
@ -157,10 +181,15 @@
|
|||
static CARD8 *pZX1mio = NULL,
|
||||
*pZX1ioa = NULL;
|
||||
|
||||
static INT8 zx1_ropemap[8]; /* One for each (potential) rope */
|
||||
static CARD64 zx1_lbacntl[8]; /* " " " " " */
|
||||
/* Per-rope data */
|
||||
static INT8 zx1_ropemap[8];
|
||||
static CARD32 zx1_pciids[8];
|
||||
static CARD64 zx1_lbacntl[8];
|
||||
static int zx1_busno[8], zx1_subno[8];
|
||||
|
||||
/* Array of Booleans for non-empty buses */
|
||||
static INT8 zx1_busnmpt[MAX_PCI_BUSES];
|
||||
|
||||
static pciBusFuncs_t zx1BusFuncs;
|
||||
static int zx1_fakebus = -1;
|
||||
static Bool zx1_hasvga = FALSE;
|
||||
|
@ -293,7 +322,8 @@ ControlZX1Bridge(int bus, CARD16 mask, CARD16 value)
|
|||
* SLAVE_CONTROL register.
|
||||
*/
|
||||
tmp1 = MIO_QUAD(VGA_ROUTE);
|
||||
tmp2 = IOA_QUAD(ropenum, IOA_CONTROL);
|
||||
tmp2 = IOA_QUAD(ropenum, IOA_CONTROL) &
|
||||
~(IOA_RESET_FUNCTION | IOA_CLEAR_ERROR);
|
||||
if ((tmp1 & VGA_ENABLE) && ((tmp1 & 0x07UL) == ropenum)) {
|
||||
current |= PCI_PCI_BRIDGE_VGA_EN;
|
||||
if ((mask & PCI_PCI_BRIDGE_VGA_EN) &&
|
||||
|
@ -316,8 +346,9 @@ ControlZX1Bridge(int bus, CARD16 mask, CARD16 value)
|
|||
MIO_QUAD(VGA_ROUTE) = 0UL;
|
||||
tmp3 = IOA_QUAD(tmp1 & 0x07UL, IOA_CONTROL);
|
||||
if (tmp3 & IOA_FORWARD_VGA)
|
||||
IOA_QUAD(tmp1 & 0x07UL, IOA_CONTROL) =
|
||||
tmp3 & ~IOA_FORWARD_VGA;
|
||||
IOA_QUAD(tmp1 & 0x07UL, IOA_CONTROL) = tmp3 &
|
||||
~(IOA_RESET_FUNCTION | IOA_FORWARD_VGA |
|
||||
IOA_CLEAR_ERROR);
|
||||
}
|
||||
if (!(tmp2 & IOA_FORWARD_VGA)) {
|
||||
tmp2 |= IOA_FORWARD_VGA;
|
||||
|
@ -330,7 +361,7 @@ ControlZX1Bridge(int bus, CARD16 mask, CARD16 value)
|
|||
|
||||
/* Move on to master abort failure enablement */
|
||||
tmp1 = MIO_QUAD((ropenum << 3) + LBA_PORT0_CNTRL) &
|
||||
~(LBA_ROPE_RESET | LBA_CLEAR_ERROR);
|
||||
~(LBA_RESET_FUNCTION | LBA_CLEAR_ERROR);
|
||||
if ((tmp1 & LBA_HARD_FAIL) || (tmp2 & IOA_HARD_FAIL)) {
|
||||
current |= PCI_PCI_BRIDGE_MASTER_ABORT_EN;
|
||||
if ((mask & PCI_PCI_BRIDGE_MASTER_ABORT_EN) &&
|
||||
|
@ -521,14 +552,14 @@ xf86PreScanZX1(void)
|
|||
|
||||
/* Prevent hard-fails */
|
||||
zx1_lbacntl[i] = MIO_QUAD((i << 3) + LBA_PORT0_CNTRL) &
|
||||
~(LBA_ROPE_RESET | LBA_CLEAR_ERROR);
|
||||
~(LBA_RESET_FUNCTION | LBA_CLEAR_ERROR);
|
||||
if (zx1_lbacntl[i] & LBA_HARD_FAIL)
|
||||
MIO_QUAD((i << 3) + LBA_PORT0_CNTRL) =
|
||||
zx1_lbacntl[i] & ~LBA_HARD_FAIL;
|
||||
|
||||
/* Poke for an ioa */
|
||||
tmp = IOA_LONG(i, PCI_ID_REG);
|
||||
switch ((CARD32)tmp) {
|
||||
zx1_pciids[i] = IOA_LONG(i, PCI_ID_REG);
|
||||
switch (zx1_pciids[i]) {
|
||||
case DEVID(VENDOR_HP, CHIP_ELROY):
|
||||
case DEVID(VENDOR_HP, CHIP_ZX1_LBA): /* Mercury */
|
||||
case DEVID(VENDOR_HP, CHIP_ZX1_AGP8): /* QuickSilver */
|
||||
|
@ -540,10 +571,10 @@ xf86PreScanZX1(void)
|
|||
break;
|
||||
|
||||
default:
|
||||
if ((CARD16)(tmp + 1U) > (CARD16)1U)
|
||||
if ((CARD16)(zx1_pciids[i] + 1U) > (CARD16)1U)
|
||||
xf86MsgVerb(X_NOTICE, 0,
|
||||
"HP ZX1: Unexpected vendor/device id 0x%08X"
|
||||
" on rope %d\n", (CARD32)tmp, i);
|
||||
" on rope %d\n", zx1_pciids[i], i);
|
||||
/* Nobody home, or not the "right" kind of rope guest */
|
||||
|
||||
/*
|
||||
|
@ -907,6 +938,9 @@ xf86PostScanZX1(void)
|
|||
if (!pZX1mio)
|
||||
return;
|
||||
|
||||
(void)memset(zx1_busnmpt, FALSE, sizeof(zx1_busnmpt));
|
||||
pBusInfo = pciBusInfo[0];
|
||||
|
||||
/*
|
||||
* Certain 2.4 & 2.5 Linux kernels add fake PCI devices. Remove them to
|
||||
* prevent any possible interference with our PCI validation.
|
||||
|
@ -930,6 +964,8 @@ xf86PostScanZX1(void)
|
|||
*ppPCI++ = pPCI;
|
||||
idx++;
|
||||
|
||||
zx1_busnmpt[pPCI->busnum] = TRUE;
|
||||
|
||||
if (zx1_hasvga)
|
||||
continue;
|
||||
|
||||
|
@ -954,8 +990,8 @@ xf86PostScanZX1(void)
|
|||
}
|
||||
|
||||
/*
|
||||
* Restore hard-fail settings and figure out the actual subordinate bus
|
||||
* numbers.
|
||||
* Restore hard-fail settings and figure out the actual secondary and
|
||||
* subordinate bus numbers.
|
||||
*/
|
||||
for (i = 0; i < 8; i++) {
|
||||
if (zx1_ropemap[i] != i)
|
||||
|
@ -969,6 +1005,14 @@ xf86PostScanZX1(void)
|
|||
|
||||
if (zx1_fakebus <= zx1_subno[i])
|
||||
zx1_fakebus = zx1_subno[i] + 1;
|
||||
|
||||
while (!zx1_busnmpt[zx1_busno[i]]) {
|
||||
if (zx1_busno[i]) /* Info for bus zero is in static storage */
|
||||
xfree(pciBusInfo[zx1_busno[i]]);
|
||||
pciBusInfo[zx1_busno[i]++] = NULL;
|
||||
if (zx1_busno[i] > zx1_subno[i])
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (zx1_fakebus >= pciNumBuses) {
|
||||
|
@ -978,13 +1022,13 @@ xf86PostScanZX1(void)
|
|||
}
|
||||
|
||||
/* Set up our extra bus functions */
|
||||
zx1BusFuncs = *(pciBusInfo[0]->funcs);
|
||||
zx1BusFuncs = *(pBusInfo->funcs);
|
||||
zx1BusFuncs.pciControlBridge = ControlZX1Bridge;
|
||||
zx1BusFuncs.pciGetBridgeResources = GetZX1BridgeResources;
|
||||
|
||||
/* Set up our own fake bus to act as the root segment */
|
||||
zx1FakeBus.configMech = pciBusInfo[0]->configMech;
|
||||
zx1FakeBus.numDevices = pciBusInfo[0]->numDevices;
|
||||
zx1FakeBus.configMech = pBusInfo->configMech;
|
||||
zx1FakeBus.numDevices = pBusInfo->numDevices;
|
||||
zx1FakeBus.primary_bus = zx1_fakebus;
|
||||
pciBusInfo[zx1_fakebus] = &zx1FakeBus;
|
||||
|
||||
|
@ -1019,7 +1063,8 @@ xf86PostScanZX1(void)
|
|||
|
||||
/* Add a fake PCI-to-PCI bridge to represent each active rope */
|
||||
for (i = 0; i < 8; i++) {
|
||||
if ((zx1_ropemap[i] != i) || !(pBusInfo = pciBusInfo[zx1_busno[i]]))
|
||||
if ((zx1_ropemap[i] != i) || (zx1_busno[i] > zx1_subno[i]) ||
|
||||
!(pBusInfo = pciBusInfo[zx1_busno[i]]))
|
||||
continue;
|
||||
|
||||
if (++idx >= MAX_PCI_DEVICES)
|
||||
|
@ -1029,7 +1074,7 @@ xf86PostScanZX1(void)
|
|||
pPCI->devnum = i | 0x10;
|
||||
/* pPCI->funcnum = 0; */
|
||||
pPCI->tag = PCI_MAKE_TAG(zx1_fakebus, pPCI->devnum, 0);
|
||||
pPCI->pci_device_vendor = DEVID(VENDOR_HP, CHIP_ZX1_LBA);
|
||||
pPCI->pci_device_vendor = zx1_pciids[i];
|
||||
pPCI->pci_base_class = PCI_CLASS_BRIDGE;
|
||||
pPCI->pci_sub_class = PCI_SUBCLASS_BRIDGE_PCI;
|
||||
pPCI->pci_header_type = 1;
|
||||
|
@ -1045,6 +1090,9 @@ xf86PostScanZX1(void)
|
|||
/* Plug in chipset routines */
|
||||
pBusInfo->funcs = &zx1BusFuncs;
|
||||
|
||||
/* Set bridge control register for scanpci utility */
|
||||
pPCI->pci_bridge_control = ControlZX1Bridge(zx1_busno[i], 0, 0);
|
||||
|
||||
#ifdef OLD_FORMAT
|
||||
xf86MsgVerb(X_INFO, 2, "PCI: BusID 0x%.2x,0x%02x,0x%1x "
|
||||
"ID 0x%04x,0x%04x Rev 0x%02x Class 0x%02x,0x%02x\n",
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c,v 1.31 2003/09/24 02:43:35 dawes Exp $ */
|
||||
/* $XdotOrg$ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c,v 1.32 2004/02/05 18:24:59 eich Exp $ */
|
||||
/*
|
||||
* linux specific part of the int10 module
|
||||
* Copyright 1999, 2000, 2001, 2002, 2003, 2004 Egbert Eich
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/lnxResource.c,v 3.18 2002/01/25 21:56:19 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/lnxResource.c,v 3.19 2004/02/04 16:30:50 tsi Exp $ */
|
||||
|
||||
/* Resource information code */
|
||||
|
||||
|
@ -190,7 +190,8 @@ xf86AccResFromOS(resPtr ret)
|
|||
defined(__s390__) || \
|
||||
defined(__hppa__)
|
||||
|
||||
/* XXX this isn't exactly correct but it will get the server working
|
||||
/*
|
||||
* XXX this isn't exactly correct but it will get the server working
|
||||
* for now until we get something better.
|
||||
*/
|
||||
|
||||
|
@ -203,7 +204,7 @@ xf86BusAccWindowsFromOS(void)
|
|||
RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock);
|
||||
ret = xf86AddResToList(ret, &range, -1);
|
||||
|
||||
#ifdef __sparc__
|
||||
#if defined(__sparc__) || defined(__powerpc__)
|
||||
RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock);
|
||||
#else
|
||||
RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock);
|
||||
|
@ -221,7 +222,7 @@ xf86PciBusAccWindowsFromOS(void)
|
|||
RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock);
|
||||
ret = xf86AddResToList(ret, &range, -1);
|
||||
|
||||
#ifdef __sparc__
|
||||
#if defined(__sparc__) || defined(__powerpc__)
|
||||
RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock);
|
||||
#else
|
||||
RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock);
|
||||
|
@ -230,7 +231,7 @@ xf86PciBusAccWindowsFromOS(void)
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef INCLUDE_UNUSED */
|
||||
#ifdef INCLUDE_UNUSED
|
||||
|
||||
resPtr
|
||||
xf86IsaBusAccWindowsFromOS(void)
|
||||
|
@ -241,7 +242,7 @@ xf86IsaBusAccWindowsFromOS(void)
|
|||
RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock);
|
||||
ret = xf86AddResToList(ret, &range, -1);
|
||||
|
||||
#ifdef __sparc__
|
||||
#if defined(__sparc__) || defined(__powerpc__)
|
||||
RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock);
|
||||
#else
|
||||
RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock);
|
||||
|
@ -267,7 +268,7 @@ xf86AccResFromOS(resPtr ret)
|
|||
ret = xf86AddResToList(ret, &range, -1);
|
||||
RANGE(range, 0x00000000, 0x00000000, ResExcIoBlock);
|
||||
ret = xf86AddResToList(ret, &range, -1);
|
||||
#ifdef __sparc__
|
||||
#if defined(__sparc__) || defined(__powerpc__)
|
||||
RANGE(range, 0x00ffffff, 0x00ffffff, ResExcIoBlock);
|
||||
#else
|
||||
RANGE(range, 0x0000ffff, 0x0000ffff, ResExcIoBlock);
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/misc/PortIO.S,v 1.1 2004/02/02 03:55:32 dawes Exp $ */
|
||||
|
||||
/* Port I/O functions for platforms with no inlining. */
|
||||
|
||||
#include "assyntax.h"
|
||||
|
||||
FILE("PortIO.s")
|
||||
|
||||
AS_BEGIN
|
||||
|
||||
GLOBL GLNAME(outb)
|
||||
GLOBL GLNAME(outw)
|
||||
GLOBL GLNAME(outl)
|
||||
GLOBL GLNAME(inb)
|
||||
GLOBL GLNAME(inw)
|
||||
GLOBL GLNAME(inl)
|
||||
|
||||
SEG_TEXT
|
||||
ALIGNTEXT4
|
||||
GLNAME(outb):
|
||||
MOV_L (REGOFF(4,ESP), EDX)
|
||||
MOV_L (REGOFF(8,ESP), EAX)
|
||||
OUT_B
|
||||
RET
|
||||
|
||||
ALIGNTEXT4
|
||||
GLNAME(outw):
|
||||
MOV_L (REGOFF(4,ESP), EDX)
|
||||
MOV_L (REGOFF(8,ESP), EAX)
|
||||
OUT_W
|
||||
RET
|
||||
|
||||
ALIGNTEXT4
|
||||
GLNAME(outl):
|
||||
MOV_L (REGOFF(4,ESP), EDX)
|
||||
MOV_L (REGOFF(8,ESP), EAX)
|
||||
OUT_L
|
||||
RET
|
||||
|
||||
ALIGNTEXT4
|
||||
GLNAME(inb):
|
||||
MOV_L (REGOFF(4,ESP), EDX)
|
||||
IN_B
|
||||
RET
|
||||
|
||||
ALIGNTEXT4
|
||||
GLNAME(inw):
|
||||
MOV_L (REGOFF(4,ESP), EDX)
|
||||
IN_L
|
||||
RET
|
||||
|
||||
ALIGNTEXT4
|
||||
GLNAME(inl):
|
||||
MOV_L (REGOFF(4,ESP), EDX)
|
||||
IN_L
|
||||
RET
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
for Alpha Linux
|
||||
*******************************************************************************/
|
||||
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/misc/SlowBcopy.c,v 1.6 2003/04/07 16:23:39 eich Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/misc/SlowBcopy.c,v 1.7 2004/02/11 22:06:21 tsi Exp $ */
|
||||
|
||||
/*
|
||||
* Create a dependency that should be immune from the effect of register
|
||||
|
@ -26,13 +26,13 @@
|
|||
void
|
||||
xf86SlowBcopy(unsigned char *src, unsigned char *dst, int len)
|
||||
{
|
||||
#if defined(__ia64__)
|
||||
outb(0x80, 0x00);
|
||||
#endif
|
||||
while(len--)
|
||||
{
|
||||
*dst++ = *src++;
|
||||
#if !defined(__sparc__) && !defined(__powerpc__) && !defined(__mips__)
|
||||
#if !defined(__sparc__) && \
|
||||
!defined(__powerpc__) && \
|
||||
!defined(__mips__) && \
|
||||
!defined(__ia64__)
|
||||
outb(0x80, 0x00);
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
# so if you have anything to contribute, please visit the home page or
|
||||
# send a diff -u against the most recent pci.ids to pci-ids@ucw.cz.
|
||||
#
|
||||
# Daily snapshot on Thu 2003-12-18 11:00:05
|
||||
# Daily snapshot on Sun 2004-02-15 11:00:07
|
||||
#
|
||||
|
||||
# Vendors, devices and subsystems. Please keep sorted.
|
||||
|
@ -24,6 +24,12 @@
|
|||
# Real TJN ID is e159, but they got it wrong several times --mj
|
||||
0059 Tiger Jet Network Inc. (Wrong ID)
|
||||
0070 Hauppauge computer works Inc.
|
||||
# WinTV Personal Video Recorder 350 (video capture card)
|
||||
4000 WinTV PVR-350
|
||||
# WinTV Personal Video Recorder 250 (video capture card) - original release
|
||||
4001 WinTV PVR-250 (v1)
|
||||
# WinTV Personal Video Recorder 250 (video capture card)
|
||||
4009 WinTV PVR-250
|
||||
0100 Ncipher Corp Ltd
|
||||
0675 Dynalink
|
||||
1700 IS64PH ISDN Adapter
|
||||
|
@ -168,11 +174,36 @@
|
|||
1002 ATI Technologies Inc
|
||||
4136 Radeon IGP 320 M
|
||||
4144 Radeon R300 AD [Radeon 9500 Pro]
|
||||
4145 Radeon R300 AE [Radeon 9500 Pro]
|
||||
4146 Radeon R300 AF [Radeon 9500 Pro]
|
||||
# New PCI ID provided by ATI developer relations (correction to above)
|
||||
4145 R300 AE [Radeon 9700 Pro]
|
||||
# New PCI ID provided by ATI developer relations (oops, correction to above)
|
||||
4146 R300 AF [Radeon 9700 Pro]
|
||||
4147 Radeon R300 AG [FireGL Z1/X1]
|
||||
# Updated 2 letter ASIC code I initially missed in above entry submission
|
||||
4148 Radeon R350 AH [Radeon 9800]
|
||||
# New PCI ID provided by ATI developer relations
|
||||
4149 Radeon R350 AI [Radeon 9800]
|
||||
# New PCI ID provided by ATI developer relations
|
||||
4150 RV350 AP [Radeon 9600]
|
||||
# New PCI ID provided by ATI developer relations
|
||||
4151 RV350 AQ [Radeon 9600]
|
||||
# New PCI ID provided by ATI developer relations
|
||||
4152 RV350 AR [Radeon 9600]
|
||||
4158 68800AX [Mach32]
|
||||
4164 Radeon R300 Secondary (DVI) output
|
||||
# The PCI ID is unrelated to any DVI output.
|
||||
4164 R300 AD [Radeon 9500 Pro] (Secondary)
|
||||
# New PCI ID info provided by ATI developer relations
|
||||
4165 R300 AE [Radeon 9700 Pro] (Secondary)
|
||||
# New PCI ID info provided by ATI developer relations
|
||||
4166 R300 AF [Radeon 9700 Pro] (Secondary)
|
||||
# New PCI ID provided by ATI developer relations
|
||||
4168 Radeon R350 [Radeon 9800] (Secondary)
|
||||
# New PCI ID provided by ATI developer relations (correction to above)
|
||||
4170 RV350 AP [Radeon 9600] (Secondary)
|
||||
# New PCI ID provided by ATI developer relations (correction to above)
|
||||
4171 RV350 AQ [Radeon 9600] (Secondary)
|
||||
# New PCI ID provided by ATI developer relations (correction to above)
|
||||
4172 RV350 AR [Radeon 9600] (Secondary)
|
||||
4242 Radeon R200 BB [Radeon All in Wonder 8500DV]
|
||||
1002 02aa Radeon 8500 AIW DV Edition
|
||||
4336 Radeon Mobility U1
|
||||
|
@ -246,20 +277,20 @@
|
|||
475a 3D Rage IIC AGP
|
||||
1002 0087 Rage 3D IIC
|
||||
1002 475a Rage IIC AGP
|
||||
4964 Radeon R250 Id [Radeon 9000]
|
||||
4965 Radeon R250 Ie [Radeon 9000]
|
||||
4966 Radeon R250 If [Radeon 9000]
|
||||
10f1 0002 R250 If [Tachyon G9000 PRO]
|
||||
148c 2039 R250 If [Radeon 9000 Pro "Evil Commando"]
|
||||
1509 9a00 R250 If [Radeon 9000 "AT009"]
|
||||
# New subdevice - 3D Prophet 9000 PCI by Hercules. AGP version probably would have same ID, so not specified.
|
||||
1681 0040 R250 If [3D prophet 9000]
|
||||
174b 7176 R250 If [Sapphire Radeon 9000 Pro]
|
||||
174b 7192 R250 If [Radeon 9000 "Atlantis"]
|
||||
17af 2005 R250 If [Excalibur Radeon 9000 Pro]
|
||||
17af 2006 R250 If [Excalibur Radeon 9000]
|
||||
4967 Radeon R250 Ig [Radeon 9000]
|
||||
496e Radeon R250 [Radeon 9000] (Secondary)
|
||||
4964 Radeon RV250 Id [Radeon 9000]
|
||||
4965 Radeon RV250 Ie [Radeon 9000]
|
||||
4966 Radeon RV250 If [Radeon 9000]
|
||||
10f1 0002 RV250 If [Tachyon G9000 PRO]
|
||||
148c 2039 RV250 If [Radeon 9000 Pro "Evil Commando"]
|
||||
1509 9a00 RV250 If [Radeon 9000 "AT009"]
|
||||
# New subdevice - 3D Prophet 9000 PCI by Hercules. AGP version probably would have same ID, so not specified.
|
||||
1681 0040 RV250 If [3D prophet 9000]
|
||||
174b 7176 RV250 If [Sapphire Radeon 9000 Pro]
|
||||
174b 7192 RV250 If [Radeon 9000 "Atlantis"]
|
||||
17af 2005 RV250 If [Excalibur Radeon 9000 Pro]
|
||||
17af 2006 RV250 If [Excalibur Radeon 9000]
|
||||
4967 Radeon RV250 Ig [Radeon 9000]
|
||||
496e Radeon RV250 [Radeon 9000] (Secondary)
|
||||
4c42 3D Rage LT Pro AGP-133
|
||||
0e11 b0e8 Rage 3D LT Pro
|
||||
0e11 b10e 3D Rage LT Pro (Compaq Armada 1750)
|
||||
|
@ -312,15 +343,25 @@
|
|||
4e44 Radeon R300 ND [Radeon 9700 Pro]
|
||||
4e45 Radeon R300 NE [Radeon 9500 Pro]
|
||||
1002 0002 Radeon R300 NE [Radeon 9500 Pro]
|
||||
4e46 Radeon R300 NF [Radeon 9700]
|
||||
# New PCI ID provided by ATI developer relations (correction to above)
|
||||
4e46 RV350 NF [Radeon 9600]
|
||||
4e47 Radeon R300 NG [FireGL X1]
|
||||
4e48 Radeon R350 [Radeon 9800]
|
||||
# New PCI ID provided by ATI developer relations
|
||||
4e49 Radeon R350 [Radeon 9800]
|
||||
# New PCI ID provided by ATI developer relations
|
||||
4e50 RV350 [Mobility Radeon 9600 M10]
|
||||
# New PCI ID provided by ATI developer relations
|
||||
4e52 RV350 [Mobility Radeon 9600 M10]
|
||||
4e64 Radeon R300 [Radeon 9700 Pro] (Secondary)
|
||||
4e65 Radeon R300 [Radeon 9500 Pro] (Secondary)
|
||||
1002 0003 Radeon R300 NE [Radeon 9500 Pro]
|
||||
4e66 Radeon R300 [Radeon 9700] (Secondary)
|
||||
# New PCI ID provided by ATI developer relations (correction to above)
|
||||
4e66 RV350 NF [Radeon 9600] (Secondary)
|
||||
4e67 Radeon R300 [FireGL X1] (Secondary)
|
||||
4e68 Radeon R350 [Radeon 9800] (Secondary)
|
||||
# New PCI ID provided by ATI developer relations
|
||||
4e69 Radeon R350 [Radeon 9800] (Secondary)
|
||||
5041 Rage 128 PA/PRO
|
||||
5042 Rage 128 PB/PRO AGP 2x
|
||||
5043 Rage 128 PC/PRO AGP 4x
|
||||
|
@ -3413,7 +3454,8 @@
|
|||
11bd 0006 DV500 Overlay
|
||||
11bd 000a DV500 Overlay
|
||||
1132 Mitel Corp.
|
||||
1133 Eicon Technology Corporation
|
||||
# This is the new official company name. See disclaimer on www.eicon.com for details!
|
||||
1133 Eicon Networks Corporation
|
||||
7901 EiconCard S90
|
||||
7902 EiconCard S90
|
||||
7911 EiconCard S91
|
||||
|
@ -6238,9 +6280,14 @@
|
|||
16be Creatix Polymedia GmbH
|
||||
16ca CENATEK Inc
|
||||
0001 Rocket Drive DL
|
||||
16cd Densitron Technologies
|
||||
# www.pikatechnologies.com
|
||||
16df PIKA Technologies Inc.
|
||||
16ec U.S. Robotics
|
||||
3685 Wireless Access PCI Adapter Model 022415
|
||||
16f6 VideoTele.com, Inc.
|
||||
# www.internetmachines.com
|
||||
1702 Internet Machines Corporation (IMC)
|
||||
1705 Digital First, Inc.
|
||||
170b NetOctave Inc
|
||||
170c YottaYotta Inc.
|
||||
|
@ -6279,6 +6326,9 @@
|
|||
0601 VSM2 dual PMC carrier
|
||||
0710 VS14x series PowerPC PCI board
|
||||
0720 VS24x series PowerPC PCI board
|
||||
# found e.g. on KNC DVB-S card
|
||||
1894 KNC One
|
||||
18fb Resilience Corporation
|
||||
1a08 Sierra semiconductor
|
||||
0000 SC15064
|
||||
1b13 Jaton Corp
|
||||
|
@ -6372,6 +6422,7 @@
|
|||
4033 Addtron Technology Co, Inc.
|
||||
1360 RTL8139 Ethernet
|
||||
4143 Digital Equipment Corp
|
||||
4144 Alpha Data
|
||||
416c Aladdin Knowledge Systems
|
||||
0100 AladdinCARD
|
||||
0200 CPC
|
||||
|
@ -6569,6 +6620,7 @@
|
|||
0003 TURBOstor HFP-832 [HiPPI NIC]
|
||||
5654 VoiceTronix Pty Ltd
|
||||
5700 Netpower
|
||||
5851 Exacq Technologies
|
||||
6356 UltraStor
|
||||
6374 c't Magazin fĂĽr Computertechnik
|
||||
6773 GPPCI
|
||||
|
@ -6587,6 +6639,10 @@
|
|||
0008 Extended Express System Support Controller
|
||||
0039 21145
|
||||
0122 82437FX
|
||||
0326 PCI Bridge Hub I/OxAPIC Interrupt Controller A
|
||||
0327 PCI Bridge Hub I/OxAPIC Interrupt Controller B
|
||||
0329 PCI Bridge Hub A
|
||||
032a PCI Bridge Hub B
|
||||
0482 82375EB
|
||||
0483 82424ZX [Saturn]
|
||||
0484 82378IB [SIO ISA Bridge]
|
||||
|
@ -6639,7 +6695,18 @@
|
|||
8086 1002 PRO/1000 MF Server Adapter
|
||||
1012 82546EB Gigabit Ethernet Controller (Fiber)
|
||||
8086 1012 PRO/1000 MF Dual Port Server Adapter
|
||||
1013 82541EI Gigabit Ethernet Controller (Copper)
|
||||
1014 82541ER Gigabit Ethernet Controller
|
||||
1015 82540EM Gigabit Ethernet Controller (LOM)
|
||||
1016 82540EP Gigabit Ethernet Controller (LOM)
|
||||
1017 82540EP Gigabit Ethernet Controller (LOM)
|
||||
# Update controller name from 82541EP to 82541EI
|
||||
1018 82541EI Gigabit Ethernet Controller
|
||||
1019 82547EI Gigabit Ethernet Controller (LOM)
|
||||
101e 82540EP Gigabit Ethernet Controller (Mobile)
|
||||
1026 82545GM Gigabit Ethernet Controller
|
||||
1027 82545GM Gigabit Ethernet Controller
|
||||
1028 82545GM Gigabit Ethernet Controller
|
||||
1029 82559 Ethernet Controller
|
||||
1030 82559 InBusiness 10/100
|
||||
1031 82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller
|
||||
|
@ -6667,7 +6734,21 @@
|
|||
1040 536EP Data Fax Modem
|
||||
16be 1040 V.9X DSP Data Fax Modem
|
||||
1043 PRO/Wireless LAN 2100 3B Mini PCI Adapter
|
||||
1048 Intel(R) PRO/10GbE LR Server Adapter
|
||||
1059 82551QM Ethernet Controller
|
||||
# Updated controller name from 82547EI to 82547GI
|
||||
1075 82547GI Gigabit Ethernet Controller
|
||||
# Updated controller name from 82541EI to 82541GI
|
||||
1076 82541GI Gigabit Ethernet Controller
|
||||
# Update controller name from 82541EI to 82541GI
|
||||
1077 82541GI Gigabit Ethernet Controller
|
||||
1078 82541EI Gigabit Ethernet Controller
|
||||
# Update from mistaken ID of 82546EB
|
||||
1079 82546GB Gigabit Ethernet Controller
|
||||
# Update from mistaken ID of 82546EB
|
||||
107a 82546GB Gigabit Ethernet Controller
|
||||
# Update from mistaken ID of 82546EB
|
||||
107b 82546GB Gigabit Ethernet Controller
|
||||
1130 82815 815 Chipset Host Bridge and Memory Controller Hub
|
||||
1025 1016 Travelmate 612 TX
|
||||
1043 8027 TUSL2-C Mainboard
|
||||
|
@ -7069,6 +7150,7 @@
|
|||
24dc 82801EB LPC Interface Controller
|
||||
24dd 82801EB USB2
|
||||
24de 82801EB USB
|
||||
24df 82801EB (ICH5R) SATA (cc=RAID)
|
||||
2500 82820 820 (Camino) Chipset Host Bridge (MCH)
|
||||
1028 0095 Precision Workstation 220 Chipset
|
||||
1043 801c P3C-2000 system chipset
|
||||
|
@ -7109,12 +7191,26 @@
|
|||
2571 82865G/PE/P Processor to AGP Controller
|
||||
2572 82865G Integrated Graphics Device
|
||||
2573 82865G/PE/P Processor to PCI to CSA Bridge
|
||||
2576 82864G/PE/P Processor to I/O Memory Interface
|
||||
2576 82865G/PE/P Processor to I/O Memory Interface
|
||||
2578 82875P Memory Controller Hub
|
||||
2579 82875P Processor to AGP Controller
|
||||
257b 82875P Processor to PCI to CSA Bridge
|
||||
257e 82875P Processor to I/O Memory Interface
|
||||
25a1 Enterprise Southbridge ISA Bridge
|
||||
25a2 Enterprise Southbridge PATA
|
||||
25a3 Enterprise Southbridge SATA cc=IDE
|
||||
25a4 Enterprise Southbridge SMBUS
|
||||
25a6 Enterprise Southbridge AC'97 Audio
|
||||
25a7 Enterprise Southbridge AC'97 Modem
|
||||
25a9 Enterprise Southbridge USB 1.1 UHCI
|
||||
25aa Enterprise Southbridge USB 1.1 UHCI
|
||||
25ab Enterprise Southbridge Watchdog Timer
|
||||
25ac Enterprise Southbridge IOxAPIC
|
||||
25ad Enterprise Southbridge USB 2.0 EHCI
|
||||
25ae Enterprise Southbridge Hublink PCI-X Bridge
|
||||
25b0 Enterprise Southbridge SATA cc=RAID
|
||||
3092 Integrated RAID
|
||||
3200 GD31244 PCI-X SATA HBA
|
||||
3340 82855PM Processor to I/O Controller
|
||||
3341 82855PM Processor to AGP Controller
|
||||
3575 82830 830 Chipset Host Bridge
|
||||
|
@ -7126,6 +7222,18 @@
|
|||
3578 82830 830 Chipset Host Bridge
|
||||
3580 82852/855GM Host Bridge
|
||||
3582 82852/855GM Integrated Graphics Device
|
||||
3590 Server Memory Controller Hub
|
||||
3591 Memory Controller Hub Error Reporting Register
|
||||
3592 Server Memory Controller Hub
|
||||
3594 Memory Controller Hub DMA Controller
|
||||
3595 Memory Controller Hub PCI Express Port A0
|
||||
3596 Memory Controller Hub PCI Express Port A1
|
||||
3597 Memory Controller Hub PCI Express Port B0
|
||||
3598 Memory Controller Hub PCI Express Port B1
|
||||
3599 Memory Controller Hub PCI Express Port C0
|
||||
359a Memory Controller Hub PCI Express Port C1
|
||||
359b Memory Controller Hub Extended Configuration Registers
|
||||
359e Workstation Memory Controller Hub
|
||||
5200 EtherExpress PRO/100 Intelligent Server
|
||||
5201 EtherExpress PRO/100 Intelligent Server
|
||||
8086 0001 EtherExpress PRO/100 Server Ethernet Adapter
|
||||
|
@ -7431,12 +7539,15 @@ d84d Exsys
|
|||
dead Indigita Corporation
|
||||
e000 Winbond
|
||||
e000 W89C940
|
||||
e159 Tiger Jet Network Inc.
|
||||
# see : http://www.schoenfeld.de/inside/Inside_CWMK3.txt
|
||||
e159 Individual Computers - Jens Schoenfeld
|
||||
0001 Intel 537
|
||||
0059 0001 128k ISDN-S/T Adapter
|
||||
0059 0003 128k ISDN-U Adapter
|
||||
0002 Tiger100APC ISDN chipset
|
||||
e4bf EKF Elektronik GmbH
|
||||
# Innovative and scalable network IC vendor
|
||||
e55e Essence Technology, Inc.
|
||||
ea01 Eagle Technology
|
||||
# The main chip of all these devices is by Xilinx -> It could also be a Xilinx ID.
|
||||
ea60 RME
|
||||
|
@ -7481,6 +7592,8 @@ febd Ultraview Corp.
|
|||
feda Broadcom Inc (nee Epigram)
|
||||
a0fa BCM4210 iLine10 HomePNA 2.0
|
||||
a10e BCM4230 iLine10 HomePNA 2.0
|
||||
# IT & Telecom company, develops PCI Trunk cards <www.fedetec.es>
|
||||
fede Fedetec Inc.
|
||||
fffe VMWare Inc
|
||||
0710 Virtual SVGA
|
||||
ffff Illegal Vendor ID
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/ioport.c,v 1.4 2003/01/01 19:16:41 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/ioport.c,v 1.5 2004/01/05 16:42:10 tsi Exp $ */
|
||||
/*
|
||||
* Copyright 2002 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
* Copyright 2002 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
|
|
|
@ -26,8 +26,7 @@
|
|||
*
|
||||
* Author: Paulo CĂ©sar Pereira de Andrade <pcpa@conectiva.com.br>
|
||||
*
|
||||
* $XdotOrg: xc/programs/Xserver/hw/xfree86/xf86cfg/config.h,v 1.18 2003/12/19 02:05:38 dawes Exp $
|
||||
* $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/config.h,v 1.18 2003/12/19 02:05:38 dawes Exp $
|
||||
* $XFree86: xc/programs/Xserver/hw/xfree86/xf86cfg/config.h,v 1.22 2004/02/14 17:53:49 dawes Exp $
|
||||
*/
|
||||
|
||||
#include <X11/IntrinsicP.h>
|
||||
|
@ -38,10 +37,12 @@
|
|||
#include <stdlib.h>
|
||||
#include <dirent.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#if defined(sun) && defined(SVR4)
|
||||
#ifdef sun
|
||||
#undef index
|
||||
#undef rindex
|
||||
#include <strings.h>
|
||||
#endif
|
||||
#include <unistd.h>
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/vbe/vbe.h,v 1.3 2003/11/14 14:58:45 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/vbe/vbe.h,v 1.5 2004/02/02 03:55:32 dawes Exp $ */
|
||||
|
||||
/*
|
||||
* XFree86 vbe module
|
||||
|
@ -61,7 +60,8 @@ typedef struct vbeControllerInfoBlock {
|
|||
CARD8 OemData[256];
|
||||
} vbeControllerInfoRec, *vbeControllerInfoPtr;
|
||||
|
||||
#if defined(__GNUC__) || defined(__SUNPRO_C)
|
||||
#if defined(__GNUC__) || defined(SCO) || defined(__USLC__) || \
|
||||
defined(__SUNPRO_C)
|
||||
#pragma pack() /* All GCC versions recognise this syntax */
|
||||
#else
|
||||
#pragma pack(0)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XFree86: xc/programs/Xserver/hw/xfree86/vgahw/vgaHW.c,v 1.58 2003/11/03 05:11:53 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/vgahw/vgaHW.c,v 1.59 2004/02/11 22:06:22 tsi Exp $ */
|
||||
|
||||
/*
|
||||
*
|
||||
|
@ -764,6 +764,11 @@ vgaHWRestoreFonts(ScrnInfoPtr scrninfp, vgaRegPtr restore)
|
|||
#if 0
|
||||
hwp->writeAttr(hwp, 0x10, 0x01); /* graphics mode */
|
||||
#endif
|
||||
|
||||
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
|
||||
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
|
||||
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
|
||||
|
||||
if (scrninfp->depth == 4) {
|
||||
/* GJA */
|
||||
hwp->writeGr(hwp, 0x03, 0x00); /* don't rotate, write unmodified */
|
||||
|
@ -774,10 +779,7 @@ vgaHWRestoreFonts(ScrnInfoPtr scrninfp, vgaRegPtr restore)
|
|||
#ifdef SAVE_FONT1
|
||||
if (hwp->FontInfo1) {
|
||||
hwp->writeSeq(hwp, 0x02, 0x04); /* write to plane 2 */
|
||||
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
|
||||
hwp->writeGr(hwp, 0x04, 0x02); /* read plane 2 */
|
||||
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
|
||||
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
|
||||
slowbcopy_tobus(hwp->FontInfo1, hwp->Base, FONT_AMOUNT);
|
||||
}
|
||||
#endif
|
||||
|
@ -785,10 +787,7 @@ vgaHWRestoreFonts(ScrnInfoPtr scrninfp, vgaRegPtr restore)
|
|||
#ifdef SAVE_FONT2
|
||||
if (hwp->FontInfo2) {
|
||||
hwp->writeSeq(hwp, 0x02, 0x08); /* write to plane 3 */
|
||||
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
|
||||
hwp->writeGr(hwp, 0x04, 0x03); /* read plane 3 */
|
||||
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
|
||||
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
|
||||
slowbcopy_tobus(hwp->FontInfo2, hwp->Base, FONT_AMOUNT);
|
||||
}
|
||||
#endif
|
||||
|
@ -796,16 +795,10 @@ vgaHWRestoreFonts(ScrnInfoPtr scrninfp, vgaRegPtr restore)
|
|||
#ifdef SAVE_TEXT
|
||||
if (hwp->TextInfo) {
|
||||
hwp->writeSeq(hwp, 0x02, 0x01); /* write to plane 0 */
|
||||
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
|
||||
hwp->writeGr(hwp, 0x04, 0x00); /* read plane 0 */
|
||||
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
|
||||
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
|
||||
slowbcopy_tobus(hwp->TextInfo, hwp->Base, TEXT_AMOUNT);
|
||||
hwp->writeSeq(hwp, 0x02, 0x02); /* write to plane 1 */
|
||||
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
|
||||
hwp->writeGr(hwp, 0x04, 0x01); /* read plane 1 */
|
||||
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
|
||||
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
|
||||
slowbcopy_tobus((unsigned char *)hwp->TextInfo + TEXT_AMOUNT,
|
||||
hwp->Base, TEXT_AMOUNT);
|
||||
}
|
||||
|
@ -849,8 +842,7 @@ vgaHWRestoreMode(ScrnInfoPtr scrninfp, vgaRegPtr restore)
|
|||
for (i = 1; i < restore->numSequencer; i++)
|
||||
hwp->writeSeq(hwp, i, restore->Sequencer[i]);
|
||||
|
||||
/* Ensure CRTC registers 0-7 are unlocked by clearing bit 7 or CRTC[17] */
|
||||
|
||||
/* Ensure CRTC registers 0-7 are unlocked by clearing bit 7 of CRTC[17] */
|
||||
hwp->writeCrtc(hwp, 17, restore->CRTC[17] & ~0x80);
|
||||
|
||||
for (i = 0; i < restore->numCRTC; i++)
|
||||
|
@ -958,39 +950,32 @@ vgaHWSaveFonts(ScrnInfoPtr scrninfp, vgaRegPtr save)
|
|||
#if 0
|
||||
hwp->writeAttr(hwp, 0x10, 0x01); /* graphics mode */
|
||||
#endif
|
||||
|
||||
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
|
||||
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
|
||||
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
|
||||
|
||||
#ifdef SAVE_FONT1
|
||||
if (hwp->FontInfo1 || (hwp->FontInfo1 = xalloc(FONT_AMOUNT))) {
|
||||
hwp->writeSeq(hwp, 0x02, 0x04); /* write to plane 2 */
|
||||
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
|
||||
hwp->writeGr(hwp, 0x04, 0x02); /* read plane 2 */
|
||||
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
|
||||
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
|
||||
slowbcopy_frombus(hwp->Base, hwp->FontInfo1, FONT_AMOUNT);
|
||||
}
|
||||
#endif /* SAVE_FONT1 */
|
||||
#ifdef SAVE_FONT2
|
||||
if (hwp->FontInfo2 || (hwp->FontInfo2 = xalloc(FONT_AMOUNT))) {
|
||||
hwp->writeSeq(hwp, 0x02, 0x08); /* write to plane 3 */
|
||||
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
|
||||
hwp->writeGr(hwp, 0x04, 0x03); /* read plane 3 */
|
||||
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
|
||||
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
|
||||
slowbcopy_frombus(hwp->Base, hwp->FontInfo2, FONT_AMOUNT);
|
||||
}
|
||||
#endif /* SAVE_FONT2 */
|
||||
#ifdef SAVE_TEXT
|
||||
if (hwp->TextInfo || (hwp->TextInfo = xalloc(2 * TEXT_AMOUNT))) {
|
||||
hwp->writeSeq(hwp, 0x02, 0x01); /* write to plane 0 */
|
||||
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
|
||||
hwp->writeGr(hwp, 0x04, 0x00); /* read plane 0 */
|
||||
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
|
||||
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
|
||||
slowbcopy_frombus(hwp->Base, hwp->TextInfo, TEXT_AMOUNT);
|
||||
hwp->writeSeq(hwp, 0x02, 0x02); /* write to plane 1 */
|
||||
hwp->writeSeq(hwp, 0x04, 0x06); /* enable plane graphics */
|
||||
hwp->writeGr(hwp, 0x04, 0x01); /* read plane 1 */
|
||||
hwp->writeGr(hwp, 0x05, 0x00); /* write mode 0, read mode 0 */
|
||||
hwp->writeGr(hwp, 0x06, 0x05); /* set graphics */
|
||||
slowbcopy_frombus(hwp->Base,
|
||||
(unsigned char *)hwp->TextInfo + TEXT_AMOUNT, TEXT_AMOUNT);
|
||||
}
|
||||
|
@ -1476,7 +1461,7 @@ vgaHWVBlankKGA(DisplayModePtr mode, vgaRegPtr regp, int nBits,
|
|||
regp->CRTC[22] = i & 0xFF;
|
||||
ExtBits = i & 0xFF00;
|
||||
}
|
||||
return ExtBits >> 8;
|
||||
return ExtBits >> 8;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
* instructions.
|
||||
*
|
||||
****************************************************************************/
|
||||
/* $XFree86: xc/extras/x86emu/src/x86emu/ops2.c,v 1.6 2003/10/22 20:03:06 tsi Exp $ */
|
||||
/* $XFree86: xc/extras/x86emu/src/x86emu/ops2.c,v 1.7 2004/02/06 17:15:28 tsi Exp $ */
|
||||
|
||||
#include "x86emu/x86emui.h"
|
||||
|
||||
|
@ -1746,16 +1746,16 @@ static void x86emuOp2_btX_I(u8 X86EMU_UNUSED(op2))
|
|||
START_OF_INSTR();
|
||||
FETCH_DECODE_MODRM(mod, rh, rl);
|
||||
switch (rh) {
|
||||
case 3:
|
||||
case 4:
|
||||
DECODE_PRINTF("BT\t");
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
DECODE_PRINTF("BTS\t");
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
DECODE_PRINTF("BTR\t");
|
||||
break;
|
||||
case 6:
|
||||
case 7:
|
||||
DECODE_PRINTF("BTC\t");
|
||||
break;
|
||||
default:
|
||||
|
@ -1780,13 +1780,13 @@ static void x86emuOp2_btX_I(u8 X86EMU_UNUSED(op2))
|
|||
mask = (0x1 << bit);
|
||||
CONDITIONAL_SET_FLAG(srcval & mask,F_CF);
|
||||
switch (rh) {
|
||||
case 4:
|
||||
case 5:
|
||||
store_data_long(srcoffset, srcval | mask);
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
store_data_long(srcoffset, srcval & ~mask);
|
||||
break;
|
||||
case 6:
|
||||
case 7:
|
||||
store_data_long(srcoffset, srcval ^ mask);
|
||||
break;
|
||||
default:
|
||||
|
@ -1805,13 +1805,13 @@ static void x86emuOp2_btX_I(u8 X86EMU_UNUSED(op2))
|
|||
mask = (0x1 << bit);
|
||||
CONDITIONAL_SET_FLAG(srcval & mask,F_CF);
|
||||
switch (rh) {
|
||||
case 4:
|
||||
case 5:
|
||||
store_data_word(srcoffset, srcval | mask);
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
store_data_word(srcoffset, srcval & ~mask);
|
||||
break;
|
||||
case 6:
|
||||
case 7:
|
||||
store_data_word(srcoffset, srcval ^ mask);
|
||||
break;
|
||||
default:
|
||||
|
@ -1833,13 +1833,13 @@ static void x86emuOp2_btX_I(u8 X86EMU_UNUSED(op2))
|
|||
mask = (0x1 << bit);
|
||||
CONDITIONAL_SET_FLAG(srcval & mask,F_CF);
|
||||
switch (rh) {
|
||||
case 4:
|
||||
case 5:
|
||||
store_data_long(srcoffset, srcval | mask);
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
store_data_long(srcoffset, srcval & ~mask);
|
||||
break;
|
||||
case 6:
|
||||
case 7:
|
||||
store_data_long(srcoffset, srcval ^ mask);
|
||||
break;
|
||||
default:
|
||||
|
@ -1858,13 +1858,13 @@ static void x86emuOp2_btX_I(u8 X86EMU_UNUSED(op2))
|
|||
mask = (0x1 << bit);
|
||||
CONDITIONAL_SET_FLAG(srcval & mask,F_CF);
|
||||
switch (rh) {
|
||||
case 4:
|
||||
case 5:
|
||||
store_data_word(srcoffset, srcval | mask);
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
store_data_word(srcoffset, srcval & ~mask);
|
||||
break;
|
||||
case 6:
|
||||
case 7:
|
||||
store_data_word(srcoffset, srcval ^ mask);
|
||||
break;
|
||||
default:
|
||||
|
@ -1886,13 +1886,13 @@ static void x86emuOp2_btX_I(u8 X86EMU_UNUSED(op2))
|
|||
mask = (0x1 << bit);
|
||||
CONDITIONAL_SET_FLAG(srcval & mask,F_CF);
|
||||
switch (rh) {
|
||||
case 4:
|
||||
case 5:
|
||||
store_data_long(srcoffset, srcval | mask);
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
store_data_long(srcoffset, srcval & ~mask);
|
||||
break;
|
||||
case 6:
|
||||
case 7:
|
||||
store_data_long(srcoffset, srcval ^ mask);
|
||||
break;
|
||||
default:
|
||||
|
@ -1911,13 +1911,13 @@ static void x86emuOp2_btX_I(u8 X86EMU_UNUSED(op2))
|
|||
mask = (0x1 << bit);
|
||||
CONDITIONAL_SET_FLAG(srcval & mask,F_CF);
|
||||
switch (rh) {
|
||||
case 4:
|
||||
case 5:
|
||||
store_data_word(srcoffset, srcval | mask);
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
store_data_word(srcoffset, srcval & ~mask);
|
||||
break;
|
||||
case 6:
|
||||
case 7:
|
||||
store_data_word(srcoffset, srcval ^ mask);
|
||||
break;
|
||||
default:
|
||||
|
@ -1939,13 +1939,13 @@ static void x86emuOp2_btX_I(u8 X86EMU_UNUSED(op2))
|
|||
mask = (0x1 << bit);
|
||||
CONDITIONAL_SET_FLAG(*srcreg & mask,F_CF);
|
||||
switch (rh) {
|
||||
case 4:
|
||||
case 5:
|
||||
*srcreg |= mask;
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
*srcreg &= ~mask;
|
||||
break;
|
||||
case 6:
|
||||
case 7:
|
||||
*srcreg ^= mask;
|
||||
break;
|
||||
default:
|
||||
|
@ -1964,13 +1964,13 @@ static void x86emuOp2_btX_I(u8 X86EMU_UNUSED(op2))
|
|||
mask = (0x1 << bit);
|
||||
CONDITIONAL_SET_FLAG(*srcreg & mask,F_CF);
|
||||
switch (rh) {
|
||||
case 4:
|
||||
case 5:
|
||||
*srcreg |= mask;
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
*srcreg &= ~mask;
|
||||
break;
|
||||
case 6:
|
||||
case 7:
|
||||
*srcreg ^= mask;
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/xaa/xaaOverlay.c,v 1.1.4.3 2004/02/25 21:46:55 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaOverlay.c,v 1.15 2003/11/10 18:22:41 tsi Exp $ */
|
||||
|
||||
#include "misc.h"
|
||||
|
@ -18,8 +18,8 @@
|
|||
#include "mioverlay.h"
|
||||
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
#endif
|
||||
|
||||
static void
|
||||
|
@ -168,11 +168,11 @@ XAAPaintWindow8_32(
|
|||
yorg = pBgWin->drawable.y;
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension) {
|
||||
if(!noPanoramiXExtension) {
|
||||
int index = pScreen->myNum;
|
||||
if(WindowTable[index] == pBgWin) {
|
||||
xorg -= xineramaDataPtr[index].x;
|
||||
yorg -= xineramaDataPtr[index].y;
|
||||
xorg -= panoramiXdataPtr[index].x;
|
||||
yorg -= panoramiXdataPtr[index].y;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/xaa/xaaPaintWin.c,v 1.1.4.2 2004/02/25 21:46:56 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaPaintWin.c,v 1.11 2003/02/17 16:08:29 dawes Exp $ */
|
||||
|
||||
#include "misc.h"
|
||||
|
@ -17,8 +17,8 @@
|
|||
#include "xaawrap.h"
|
||||
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
#endif
|
||||
|
||||
void
|
||||
|
@ -93,11 +93,11 @@ XAAPaintWindow(
|
|||
yorg = pBgWin->drawable.y;
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension) {
|
||||
if(!noPanoramiXExtension) {
|
||||
int index = pScreen->myNum;
|
||||
if(WindowTable[index] == pBgWin) {
|
||||
xorg -= xineramaDataPtr[index].x;
|
||||
yorg -= xineramaDataPtr[index].y;
|
||||
xorg -= panoramiXdataPtr[index].x;
|
||||
yorg -= panoramiXdataPtr[index].y;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaPict.c,v 1.18 2003/04/23 18:35:34 eich Exp $
|
||||
* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaPict.c,v 1.19 2004/01/26 18:54:55 mvojkovi Exp $
|
||||
*
|
||||
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
|
||||
*
|
||||
|
@ -219,6 +219,9 @@ XAADoComposite (
|
|||
ySrc += pSrc->pDrawable->y;
|
||||
|
||||
if(pMask) {
|
||||
if(pMask->componentAlpha)
|
||||
return FALSE;
|
||||
|
||||
/* for now we only do it if there is a 1x1 (solid) source */
|
||||
|
||||
if((pSrc->pDrawable->width == 1) && (pSrc->pDrawable->height == 1)) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XdotOrg: xc/programs/Xserver/hw/xfree86/xf8_32bpp/cfbpntwin.c,v 1.1.4.2 2004/02/25 21:46:57 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xfree86/xf8_32bpp/cfbpntwin.c,v 1.5 2001/10/01 13:44:15 eich Exp $ */
|
||||
|
||||
#include "X.h"
|
||||
|
@ -16,8 +16,8 @@
|
|||
#include "mi.h"
|
||||
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
#endif
|
||||
|
||||
void
|
||||
|
@ -45,11 +45,11 @@ cfb8_32PaintWindow(
|
|||
xorg = pWin->drawable.x;
|
||||
yorg = pWin->drawable.y;
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension) {
|
||||
if(!noPanoramiXExtension) {
|
||||
int index = pWin->drawable.pScreen->myNum;
|
||||
if(WindowTable[index] == pWin) {
|
||||
xorg -= xineramaDataPtr[index].x;
|
||||
yorg -= xineramaDataPtr[index].y;
|
||||
xorg -= panoramiXdataPtr[index].x;
|
||||
yorg -= panoramiXdataPtr[index].y;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -93,11 +93,11 @@ cfb8_32PaintWindow(
|
|||
yorg = pBgWin->drawable.y;
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension) {
|
||||
if(!noPanoramiXExtension) {
|
||||
int index = pWin->drawable.pScreen->myNum;
|
||||
if(WindowTable[index] == pBgWin) {
|
||||
xorg -= xineramaDataPtr[index].x;
|
||||
yorg -= xineramaDataPtr[index].y;
|
||||
xorg -= panoramiXdataPtr[index].x;
|
||||
yorg -= panoramiXdataPtr[index].y;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
* Authors: Kensuke Matsuzaki
|
||||
* Harold L Hunt II
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/hw/xwin/winmultiwindowshape.c,v 1.2 2003/11/10 18:22:44 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xwin/winmultiwindowshape.c,v 1.3 2003/12/22 01:34:20 dickey Exp $ */
|
||||
|
||||
#ifdef SHAPE
|
||||
|
||||
|
@ -117,9 +117,9 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
if (!wBoundingShape (pWin))
|
||||
return;
|
||||
|
||||
REGION_NULL(pScreen, &rrNewShape);
|
||||
REGION_COPY(pScreen, &rrNewShape, wBoundingShape(pWin));
|
||||
REGION_TRANSLATE(pScreen,
|
||||
REGION_NULL(pWin->drawable.pScreen, &rrNewShape);
|
||||
REGION_COPY(pWin->drawable.pScreen, &rrNewShape, wBoundingShape(pWin));
|
||||
REGION_TRANSLATE(pWin->drawable.pScreen,
|
||||
&rrNewShape,
|
||||
pWin->borderWidth,
|
||||
pWin->borderWidth);
|
||||
|
@ -138,7 +138,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
if (!GetClientRect (pWinPriv->hWnd, &rcClient))
|
||||
{
|
||||
ErrorF ("winReshape - GetClientRect failed, bailing: %d\n",
|
||||
GetLastError ());
|
||||
(int) GetLastError ());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -150,7 +150,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
if (!GetWindowRect (pWinPriv->hWnd, &rcWindow))
|
||||
{
|
||||
ErrorF ("winReshape - GetWindowRect failed, bailing: %d\n",
|
||||
GetLastError ());
|
||||
(int) GetLastError ());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -165,7 +165,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
{
|
||||
ErrorF ("winReshape - Initial CreateRectRgn (%d, %d, %d, %d) "
|
||||
"failed: %d\n",
|
||||
0, 0, rcWindow.right, iOffsetY, GetLastError ());
|
||||
0, 0, (int) rcWindow.right, iOffsetY, (int) GetLastError ());
|
||||
}
|
||||
|
||||
/* Loop through all rectangles in the X region */
|
||||
|
@ -185,7 +185,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
pRects->y1 + iOffsetY - 1,
|
||||
pRects->x2 + iOffsetX - 1,
|
||||
pRects->y2 + iOffsetY - 1,
|
||||
GetLastError (),
|
||||
(int) GetLastError (),
|
||||
pRects->x1, pRects->x2, iOffsetX,
|
||||
pRects->y1, pRects->y2, iOffsetY);
|
||||
}
|
||||
|
@ -194,7 +194,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
if (CombineRgn (hRgn, hRgn, hRgnRect, RGN_OR) == ERROR)
|
||||
{
|
||||
ErrorF ("winReshape - CombineRgn () failed: %d\n",
|
||||
GetLastError ());
|
||||
(int) GetLastError ());
|
||||
}
|
||||
|
||||
/* Delete the temporary Windows region */
|
||||
|
@ -205,7 +205,7 @@ winReshapeMultiWindow (WindowPtr pWin)
|
|||
pWinPriv->hRgn = hRgn;
|
||||
}
|
||||
|
||||
REGION_UNINIT(pScreen, &rrNewShape);
|
||||
REGION_UNINIT(pWin->drawable.pScreen, &rrNewShape);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
* Authors: Harold L Hunt II
|
||||
* Kensuke Matsuzaki
|
||||
*/
|
||||
/* $XFree86: xc/programs/Xserver/hw/xwin/winwindow.c,v 1.9 2003/11/10 18:22:44 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/hw/xwin/winwindow.c,v 1.10 2003/12/22 01:34:20 dickey Exp $ */
|
||||
|
||||
#include "win.h"
|
||||
|
||||
|
@ -98,7 +98,7 @@ winCopyWindowNativeGDI (WindowPtr pWin,
|
|||
int dx, dy;
|
||||
int i, nbox;
|
||||
WindowPtr pwinRoot;
|
||||
BoxPtr pBoxDst, pBoxSrc;
|
||||
BoxPtr pBoxDst;
|
||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||
winScreenPriv(pScreen);
|
||||
|
||||
|
@ -465,9 +465,7 @@ void
|
|||
winReshapePRootless (WindowPtr pWin)
|
||||
{
|
||||
int nRects;
|
||||
#if 0
|
||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
||||
#endif
|
||||
RegionRec rrNewShape;
|
||||
BoxPtr pShape, pRects, pEnd;
|
||||
HRGN hRgn, hRgnRect;
|
||||
|
|
|
@ -83,4 +83,13 @@ typedef struct _CursorMetric {
|
|||
unsigned short width, height, xhot, yhot;
|
||||
} CursorMetricRec;
|
||||
|
||||
typedef struct {
|
||||
int x, y;
|
||||
ScreenPtr pScreen;
|
||||
} HotSpot;
|
||||
|
||||
#ifdef XEVIE
|
||||
extern HotSpot xeviehot;
|
||||
#endif
|
||||
|
||||
#endif /* CURSORSTRUCT_H */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg: xc/programs/Xserver/include/globals.h,v 1.4 2000/06/28 18:21:22 tsi Exp $ */
|
||||
/* $XdotOrg: xc/programs/Xserver/include/globals.h,v 1.1.4.2 2004/02/25 21:47:00 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/include/globals.h,v 1.4 2000/06/28 18:21:22 tsi Exp $ */
|
||||
|
||||
#ifndef _XSERV_GLOBAL_H_
|
||||
|
@ -42,11 +42,11 @@ extern Bool DPMSCapableFlag;
|
|||
#endif
|
||||
|
||||
#ifdef XINERAMA
|
||||
extern Bool noXineramaExtension;
|
||||
extern Bool XineramaMapped;
|
||||
extern Bool XineramaVisibilityNotifySent;
|
||||
extern Bool XineramaWindowExposureSent;
|
||||
extern Bool XineramaOneExposeRequest;
|
||||
extern Bool noPanoramiXExtension;
|
||||
extern Bool PanoramiXMapped;
|
||||
extern Bool PanoramiXVisibilityNotifySent;
|
||||
extern Bool PanoramiXWindowExposureSent;
|
||||
extern Bool PanoramiXOneExposeRequest;
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -92,6 +92,17 @@ typedef void (*ProcessInputProc)(
|
|||
DeviceIntPtr /*device*/,
|
||||
int /*count*/);
|
||||
|
||||
typedef Bool (*DeviceHandleProc)(
|
||||
DeviceIntPtr /*device*/,
|
||||
void* /*data*/
|
||||
);
|
||||
|
||||
typedef void (*DeviceUnwrapProc)(
|
||||
DeviceIntPtr /*device*/,
|
||||
DeviceHandleProc /*proc*/,
|
||||
void* /*data*/
|
||||
);
|
||||
|
||||
typedef struct _DeviceRec {
|
||||
pointer devicePrivate;
|
||||
ProcessInputProc processInputProc; /* current */
|
||||
|
@ -145,6 +156,10 @@ typedef struct {
|
|||
unsigned char id;
|
||||
} LedCtrl;
|
||||
|
||||
extern int AllocateDevicePrivateIndex(void);
|
||||
extern Bool AllocateDevicePrivate(DeviceIntPtr device, int index);
|
||||
extern void ResetDevicePrivateIndex(void);
|
||||
|
||||
extern KeybdCtrl defaultKeyboardControl;
|
||||
extern PtrCtrl defaultPointerControl;
|
||||
|
||||
|
|
|
@ -285,6 +285,9 @@ typedef struct _DeviceIntRec {
|
|||
#ifdef XKB
|
||||
struct _XkbInterest * xkb_interest;
|
||||
#endif
|
||||
DevUnion *devPrivates;
|
||||
int nPrivates;
|
||||
DeviceUnwrapProc unwrapProc;
|
||||
} DeviceIntRec;
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -222,4 +222,8 @@ extern ScreenSaverStuffRec savedScreenInfo[MAXSCREENS];
|
|||
extern int numSaveUndersViewable;
|
||||
extern int deltaSaveUndersViewable;
|
||||
|
||||
#ifdef XEVIE
|
||||
extern WindowPtr xeviewin;
|
||||
#endif
|
||||
|
||||
#endif /* WINDOWSTRUCT_H */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg: xc/programs/Xserver/mi/miarc.c,v 1.1.4.3 2003/12/20 00:28:31 kaleb Exp $ */
|
||||
/* $XdotOrg: xc/programs/Xserver/mi/miarc.c,v 1.1.4.4 2004/02/16 20:19:58 alanc Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/mi/miarc.c,v 3.15 2003/12/06 18:46:28 dawes Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 1997 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
* Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
|
@ -44,7 +44,7 @@
|
|||
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $XFree86: xc/programs/Xserver/mi/mibank.c,v 1.15 2003/11/10 18:39:16 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/mi/mibank.c,v 1.16 2004/01/05 16:42:10 tsi Exp $ */
|
||||
|
||||
/*
|
||||
* This thing originated from an idea of Edwin Goei and his bank switching
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 1997 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
* Copyright 1997 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
|
||||
*
|
||||
* Permission to use, copy, modify, distribute, and sell this software and its
|
||||
* documentation for any purpose is hereby granted without fee, provided that
|
||||
|
@ -20,7 +20,7 @@
|
|||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $XFree86: xc/programs/Xserver/mi/mibank.h,v 1.10 2003/01/01 19:16:42 tsi Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/mi/mibank.h,v 1.11 2004/01/05 16:42:10 tsi Exp $ */
|
||||
|
||||
#ifndef __MIBANK_H__
|
||||
#define __MIBANK_H__ 1
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $XdotOrg$ */
|
||||
/* $XdotOrg: xc/programs/Xserver/mi/miexpose.c,v 1.1.4.4 2004/02/25 21:47:02 kaleb Exp $ */
|
||||
/* $XFree86: xc/programs/Xserver/mi/miexpose.c,v 3.10 2003/11/10 18:22:49 tsi Exp $ */
|
||||
/***********************************************************
|
||||
|
||||
|
@ -69,8 +69,8 @@ SOFTWARE.
|
|||
#include "globals.h"
|
||||
|
||||
#ifdef XINERAMA
|
||||
#include "xinerama.h"
|
||||
#include "xineramaSrv.h"
|
||||
#include "panoramiX.h"
|
||||
#include "panoramiXsrv.h"
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
@ -427,19 +427,19 @@ miSendExposures(pWin, pRgn, dx, dy)
|
|||
}
|
||||
|
||||
#ifdef XINERAMA
|
||||
if(!noXineramaExtension) {
|
||||
if(!noPanoramiXExtension) {
|
||||
int scrnum = pWin->drawable.pScreen->myNum;
|
||||
int x = 0, y = 0;
|
||||
XID realWin = 0;
|
||||
|
||||
if(!pWin->parent) {
|
||||
x = xineramaDataPtr[scrnum].x;
|
||||
y = xineramaDataPtr[scrnum].y;
|
||||
x = panoramiXdataPtr[scrnum].x;
|
||||
y = panoramiXdataPtr[scrnum].y;
|
||||
pWin = WindowTable[0];
|
||||
realWin = pWin->drawable.id;
|
||||
} else if (scrnum) {
|
||||
XineramaRes *win;
|
||||
win = XineramaFindIDByScrnum(XRT_WINDOW,
|
||||
PanoramiXRes *win;
|
||||
win = PanoramiXFindIDByScrnum(XRT_WINDOW,
|
||||
pWin->drawable.id, scrnum);
|
||||
if(!win) {
|
||||
DEALLOCATE_LOCAL(pEvent);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue