Merge branch 'origin'

This commit is contained in:
Eric Anholt 2007-03-30 13:18:27 -07:00
commit 57dadf71ca
7 changed files with 27 additions and 47 deletions

View file

@ -41,6 +41,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "scrnintstr.h"
#include "pixmapstr.h"
#include "gcstruct.h"
typedef struct _XMesaImageRec XMesaImage;

View file

@ -910,6 +910,7 @@ void mgaGetLock( mgaContextPtr mmesa, GLuint flags )
drmGetLock(mmesa->driFd, mmesa->hHWContext, flags);
DRI_VALIDATE_DRAWABLE_INFO( mmesa->driScreen, dPriv );
if (*(dPriv->pStamp) != mmesa->lastStamp) {
mmesa->lastStamp = *(dPriv->pStamp);
mmesa->SetupNewInputs |= VERT_BIT_POS;
@ -920,7 +921,7 @@ void mgaGetLock( mgaContextPtr mmesa, GLuint flags )
mmesa->dirty |= MGA_UPLOAD_CONTEXT | MGA_UPLOAD_CLIPRECTS;
mmesa->sarea->dirty |= MGA_UPLOAD_CONTEXT;
mmesa->sarea->dirty |= MGA_UPLOAD_CONTEXT;
if (sarea->ctxOwner != me) {
mmesa->dirty |= (MGA_UPLOAD_CONTEXT | MGA_UPLOAD_TEX0 |

View file

@ -36,7 +36,6 @@
# include "resource.h"
# include "windowstr.h"
# include "gcstruct.h"
# include "xf86glx_util.h"
#else

View file

@ -80,10 +80,6 @@
#include "tnl/t_pipeline.h"
#include "drivers/common/driverfuncs.h"
#ifdef XFree86Server
#include <GL/glxtokens.h>
#endif
/**
* Global X driver lock
*/
@ -179,9 +175,7 @@ static int host_byte_order( void )
*/
static int check_for_xshm( XMesaDisplay *display )
{
#if defined(XFree86Server)
return 0;
#elif defined(USE_XSHM)
#if defined(USE_XSHM) && !defined(XFree86Server)
int major, minor, ignore;
Bool pixmaps;
@ -1359,11 +1353,6 @@ XMesaVisual XMesaCreateVisual( XMesaDisplay *display,
return NULL;
}
/*
* In the X server, NULL is passed in for the display. It will have
* to be set before using this visual. See XMesaSetVisualDisplay()
* below.
*/
v->display = display;
/* Save a copy of the XVisualInfo struct because the user may X_mesa_free()
@ -1469,12 +1458,6 @@ XMesaVisual XMesaCreateVisual( XMesaDisplay *display,
}
void XMesaSetVisualDisplay( XMesaDisplay *dpy, XMesaVisual v )
{
v->display = dpy;
}
void XMesaDestroyVisual( XMesaVisual v )
{
#ifndef XFree86Server
@ -1986,6 +1969,10 @@ XMesaBuffer XMesaGetCurrentReadBuffer( void )
GLboolean XMesaForceCurrent(XMesaContext c)
{
if (c) {
#ifdef XGLServer
_glapi_set_dispatch(c->mesa.CurrentDispatch);
#endif
if (&(c->mesa) != _mesa_get_current_context()) {
_mesa_make_current(&c->mesa, c->mesa.DrawBuffer, c->mesa.ReadBuffer);
}
@ -2005,6 +1992,13 @@ GLboolean XMesaLoseCurrent(XMesaContext c)
}
GLboolean XMesaCopyContext( XMesaContext xm_src, XMesaContext xm_dst, GLuint mask )
{
_mesa_copy_context(&xm_src->mesa, &xm_dst->mesa, mask);
return GL_TRUE;
}
/*
* Switch 3Dfx support hack between window and full-screen mode.
*/
@ -2426,15 +2420,6 @@ void XMesaGarbageCollect( void )
}
void XMesaReset( void )
{
while (XMesaBufferList)
XMesaDestroyBuffer(XMesaBufferList);
XMesaBufferList = NULL;
}
unsigned long XMesaDitherColor( XMesaContext xmesa, GLint x, GLint y,
GLfloat red, GLfloat green,
GLfloat blue, GLfloat alpha )

View file

@ -37,7 +37,7 @@
#include "renderbuffer.h"
#ifndef XFree86Server
#if defined(USE_XSHM) && !defined(XFree86Server)
static volatile int mesaXErrorFlag = 0;
/**
@ -51,18 +51,14 @@ mesaHandleXError(XMesaDisplay *dpy, XErrorEvent *event)
mesaXErrorFlag = 1;
return 0;
}
#endif
/**
* Allocate a shared memory XImage back buffer for the given XMesaBuffer.
* Return: GL_TRUE if success, GL_FALSE if error
*/
#ifndef XFree86Server
static GLboolean
alloc_back_shm_ximage(XMesaBuffer b, GLuint width, GLuint height)
{
#ifdef USE_XSHM
/*
* We have to do a _lot_ of error checking here to be sure we can
* really use the XSHM extension. It seems different servers trigger
@ -152,10 +148,13 @@ alloc_back_shm_ximage(XMesaBuffer b, GLuint width, GLuint height)
}
return GL_TRUE;
}
#else
static GLboolean
alloc_back_shm_ximage(XMesaBuffer b, GLuint width, GLuint height)
{
/* Can't compile XSHM support */
return GL_FALSE;
#endif
}
#endif
@ -187,14 +186,12 @@ alloc_back_buffer(XMesaBuffer b, GLuint width, GLuint height)
return;
/* Allocate new back buffer */
#ifdef XFree86Server
/* Allocate a regular XImage for the back buffer. */
b->backxrb->ximage = XMesaCreateImage(b->xm_visual->BitsPerPixel,
width, height, NULL);
{
#else
if (b->shm == 0 || !alloc_back_shm_ximage(b, width, height)) {
/* Allocate a regular XImage for the back buffer. */
#ifdef XFree86Server
b->backxrb->ximage = XMesaCreateImage(b->xm_visual->BitsPerPixel,
width, height, NULL);
#else
b->backxrb->ximage = XCreateImage(b->xm_visual->display,
b->xm_visual->visinfo->visual,
GET_VISUAL_DEPTH(b->xm_visual),

View file

@ -53,10 +53,6 @@
#include "tnl/tnl.h"
#include "tnl/t_context.h"
#ifdef XFree86Server
#include <GL/glxtokens.h>
#endif
/*

View file

@ -579,10 +579,11 @@ extern XMesaBuffer XMesaCreateWindowBuffer2( XMesaVisual v,
* These are the extra routines required for integration with XFree86.
* None of these routines should be user visible. -KEM
*/
extern void XMesaSetVisualDisplay( XMesaDisplay *dpy, XMesaVisual v );
extern GLboolean XMesaForceCurrent(XMesaContext c);
extern GLboolean XMesaLoseCurrent(XMesaContext c);
extern void XMesaReset( void );
extern GLboolean XMesaCopyContext( XMesaContext src,
XMesaContext dst,
GLuint mask );
#define ENABLE_EXT_texure_compression_s3tc 0 /* SW texture compression */