xserver/GL/mesa/X xf86glx.c,1.3,1.4 xf86glxint.h,1.2,1.3
David Reveman <xserver-commit-u7BhqnqprCWvj1b/[email protected]> Fri, 10 Jun 2005 05:30:41 -0700 (PDT)
| Newsgroups | gmane.comp.freedesktop.xserver.cvs |
|---|---|
| Message-ID | <[email protected]> |
Committed by: davidr
Update of /cvs/xserver/xserver/GL/mesa/X
In directory gabe:/tmp/cvs-serv14008/GL/mesa/X
Modified Files:
xf86glx.c xf86glxint.h
Log Message:
New implementation of GLX_MESA_render_texture
Index: xf86glx.c
===================================================================
RCS file: /cvs/xserver/xserver/GL/mesa/X/xf86glx.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- xf86glx.c 7 Jun 2005 15:36:12 -0000 1.3
+++ xf86glx.c 10 Jun 2005 12:30:39 -0000 1.4
@@ -367,28 +367,6 @@
glCopyTexSubImage3D
};
-static int
-mglXBindTexImageMESA (DrawablePtr pDrawable,
- int buffer)
-{
- return FALSE;
-}
-
-static int
-mglXReleaseTexImageMESA (DrawablePtr pDrawable,
- int buffer)
-{
- return FALSE;
-}
-
-static int
-mglXQueryDrawableMESA (DrawablePtr pDrawable,
- int attribute,
- unsigned int *value)
-{
- return FALSE;
-}
-
__glProcTableEXT __glMesaRenderTableEXT = {
glActiveTextureARB,
glClientActiveTextureARB,
@@ -432,10 +410,7 @@
glSecondaryColorPointerEXT,
glPointParameteriNV,
glPointParameterivNV,
- glActiveStencilFaceEXT,
- mglXBindTexImageMESA,
- mglXReleaseTexImageMESA,
- mglXQueryDrawableMESA
+ glActiveStencilFaceEXT
};
/*
@@ -1055,6 +1030,15 @@
buf->fbswap = glxPriv->swapBuffers;
glxPriv->swapBuffers = __MESA_swapBuffers;
+ /* Wrap the render texture routines */
+ buf->fbbind = glxPriv->bindBuffers;
+ glxPriv->bindBuffers = __MESA_bindBuffers;
+ buf->fbrelease = glxPriv->releaseBuffers;
+ glxPriv->releaseBuffers = __MESA_releaseBuffers;
+
+ /* Mesa doesn't support render texture on its own */
+ glxPriv->texTarget = GLX_NO_TEXTURE_EXT;
+
/* Save Mesa's private buffer structure */
glPriv->private = (void *)buf;
glPriv->freePrivate = __MESA_destroyBuffer;
@@ -1087,6 +1071,18 @@
return GL_TRUE;
}
+int __MESA_bindBuffers(__GLXdrawablePrivate *glxPriv,
+ int buffer)
+{
+ return FALSE;
+}
+
+int __MESA_releaseBuffers(__GLXdrawablePrivate *glxPriv,
+ int buffer)
+{
+ return FALSE;
+}
+
void __MESA_destroyBuffer(__GLdrawablePrivate *glPriv)
{
__MESA_buffer buf = (__MESA_buffer)glPriv->private;
Index: xf86glxint.h
===================================================================
RCS file: /cvs/xserver/xserver/GL/mesa/X/xf86glxint.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- xf86glxint.h 9 Dec 2003 15:33:42 -0000 1.2
+++ xf86glxint.h 10 Jun 2005 12:30:39 -0000 1.3
@@ -59,6 +59,10 @@
GLint x, GLint y, GLuint width, GLuint height,
__GLdrawablePrivate *glPriv, GLuint bufferMask);
GLboolean (*fbswap)(__GLXdrawablePrivate *glxPriv);
+ int (*fbbind)(__GLXdrawablePrivate *glxPriv, int buffer);
+ int (*fbrelease)(__GLXdrawablePrivate *glxPriv, int buffer);
+ int (*fbquery)(__GLXdrawablePrivate *glxPriv, int attribute,
+ unsigned int *value);
};
extern void __MESA_setVisualConfigs(int nconfigs, __GLXvisualConfig *configs,
@@ -78,6 +82,10 @@
__GLdrawablePrivate *glPriv,
GLuint bufferMask);
extern GLboolean __MESA_swapBuffers(__GLXdrawablePrivate *glxPriv);
+extern int __MESA_bindBuffers(__GLXdrawablePrivate *glxPriv, int buffer);
+extern int __MESA_releaseBuffers(__GLXdrawablePrivate *glxPriv, int buffer);
+extern int __MESA_queryBuffers(__GLXdrawablePrivate *glxPriv, int attribute,
+ unsigned int *value);
extern void __MESA_destroyBuffer(__GLdrawablePrivate *glPriv);
extern __GLinterface *__MESA_createContext(__GLimports *imports,