xserver/GL/mesa/X xf86glx.c,1.2,1.3
David Reveman <xserver-commit-u7BhqnqprCWvj1b/[email protected]> Tue, 7 Jun 2005 08:36:14 -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-serv27147/GL/mesa/X
Modified Files:
xf86glx.c
Log Message:
Build with Mesa CVS, Track changes to GLX code and support for ARGB visuals
Index: xf86glx.c
===================================================================
RCS file: /cvs/xserver/xserver/GL/mesa/X/xf86glx.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- xf86glx.c 9 Dec 2003 15:33:42 -0000 1.2
+++ xf86glx.c 7 Jun 2005 15:36:12 -0000 1.3
@@ -33,6 +33,7 @@
*
*/
+#define GL_GLEXT_PROTOTYPES
#include <regionstr.h>
#include <resource.h>
#include <GL/gl.h>
@@ -65,6 +66,377 @@
#include <GL/internal/glcore.h>
#endif
+__glProcTable __glMesaRenderTable = {
+ glNewList,
+ glEndList,
+ glCallList,
+ glCallLists,
+ glDeleteLists,
+ glGenLists,
+ glListBase,
+ glBegin,
+ glBitmap,
+ glColor3bv,
+ glColor3dv,
+ glColor3fv,
+ glColor3iv,
+ glColor3sv,
+ glColor3ubv,
+ glColor3uiv,
+ glColor3usv,
+ glColor4bv,
+ glColor4dv,
+ glColor4fv,
+ glColor4iv,
+ glColor4sv,
+ glColor4ubv,
+ glColor4uiv,
+ glColor4usv,
+ glEdgeFlagv,
+ glEnd,
+ glIndexdv,
+ glIndexfv,
+ glIndexiv,
+ glIndexsv,
+ glNormal3bv,
+ glNormal3dv,
+ glNormal3fv,
+ glNormal3iv,
+ glNormal3sv,
+ glRasterPos2dv,
+ glRasterPos2fv,
+ glRasterPos2iv,
+ glRasterPos2sv,
+ glRasterPos3dv,
+ glRasterPos3fv,
+ glRasterPos3iv,
+ glRasterPos3sv,
+ glRasterPos4dv,
+ glRasterPos4fv,
+ glRasterPos4iv,
+ glRasterPos4sv,
+ glRectdv,
+ glRectfv,
+ glRectiv,
+ glRectsv,
+ glTexCoord1dv,
+ glTexCoord1fv,
+ glTexCoord1iv,
+ glTexCoord1sv,
+ glTexCoord2dv,
+ glTexCoord2fv,
+ glTexCoord2iv,
+ glTexCoord2sv,
+ glTexCoord3dv,
+ glTexCoord3fv,
+ glTexCoord3iv,
+ glTexCoord3sv,
+ glTexCoord4dv,
+ glTexCoord4fv,
+ glTexCoord4iv,
+ glTexCoord4sv,
+ glVertex2dv,
+ glVertex2fv,
+ glVertex2iv,
+ glVertex2sv,
+ glVertex3dv,
+ glVertex3fv,
+ glVertex3iv,
+ glVertex3sv,
+ glVertex4dv,
+ glVertex4fv,
+ glVertex4iv,
+ glVertex4sv,
+ glClipPlane,
+ glColorMaterial,
+ glCullFace,
+ glFogf,
+ glFogfv,
+ glFogi,
+ glFogiv,
+ glFrontFace,
+ glHint,
+ glLightf,
+ glLightfv,
+ glLighti,
+ glLightiv,
+ glLightModelf,
+ glLightModelfv,
+ glLightModeli,
+ glLightModeliv,
+ glLineStipple,
+ glLineWidth,
+ glMaterialf,
+ glMaterialfv,
+ glMateriali,
+ glMaterialiv,
+ glPointSize,
+ glPolygonMode,
+ glPolygonStipple,
+ glScissor,
+ glShadeModel,
+ glTexParameterf,
+ glTexParameterfv,
+ glTexParameteri,
+ glTexParameteriv,
+ glTexImage1D,
+ glTexImage2D,
+ glTexEnvf,
+ glTexEnvfv,
+ glTexEnvi,
+ glTexEnviv,
+ glTexGend,
+ glTexGendv,
+ glTexGenf,
+ glTexGenfv,
+ glTexGeni,
+ glTexGeniv,
+ glFeedbackBuffer,
+ glSelectBuffer,
+ glRenderMode,
+ glInitNames,
+ glLoadName,
+ glPassThrough,
+ glPopName,
+ glPushName,
+ glDrawBuffer,
+ glClear,
+ glClearAccum,
+ glClearIndex,
+ glClearColor,
+ glClearStencil,
+ glClearDepth,
+ glStencilMask,
+ glColorMask,
+ glDepthMask,
+ glIndexMask,
+ glAccum,
+ glDisable,
+ glEnable,
+ glFinish,
+ glFlush,
+ glPopAttrib,
+ glPushAttrib,
+ glMap1d,
+ glMap1f,
+ glMap2d,
+ glMap2f,
+ glMapGrid1d,
+ glMapGrid1f,
+ glMapGrid2d,
+ glMapGrid2f,
+ glEvalCoord1dv,
+ glEvalCoord1fv,
+ glEvalCoord2dv,
+ glEvalCoord2fv,
+ glEvalMesh1,
+ glEvalPoint1,
+ glEvalMesh2,
+ glEvalPoint2,
+ glAlphaFunc,
+ glBlendFunc,
+ glLogicOp,
+ glStencilFunc,
+ glStencilOp,
+ glDepthFunc,
+ glPixelZoom,
+ glPixelTransferf,
+ glPixelTransferi,
+ glPixelStoref,
+ glPixelStorei,
+ glPixelMapfv,
+ glPixelMapuiv,
+ glPixelMapusv,
+ glReadBuffer,
+ glCopyPixels,
+ glReadPixels,
+ glDrawPixels,
+ glGetBooleanv,
+ glGetClipPlane,
+ glGetDoublev,
+ glGetError,
+ glGetFloatv,
+ glGetIntegerv,
+ glGetLightfv,
+ glGetLightiv,
+ glGetMapdv,
+ glGetMapfv,
+ glGetMapiv,
+ glGetMaterialfv,
+ glGetMaterialiv,
+ glGetPixelMapfv,
+ glGetPixelMapuiv,
+ glGetPixelMapusv,
+ glGetPolygonStipple,
+ glGetString,
+ glGetTexEnvfv,
+ glGetTexEnviv,
+ glGetTexGendv,
+ glGetTexGenfv,
+ glGetTexGeniv,
+ glGetTexImage,
+ glGetTexParameterfv,
+ glGetTexParameteriv,
+ glGetTexLevelParameterfv,
+ glGetTexLevelParameteriv,
+ glIsEnabled,
+ glIsList,
+ glDepthRange,
+ glFrustum,
+ glLoadIdentity,
+ glLoadMatrixf,
+ glLoadMatrixd,
+ glMatrixMode,
+ glMultMatrixf,
+ glMultMatrixd,
+ glOrtho,
+ glPopMatrix,
+ glPushMatrix,
+ glRotated,
+ glRotatef,
+ glScaled,
+ glScalef,
+ glTranslated,
+ glTranslatef,
+ glViewport,
+ glArrayElement,
+ glBindTexture,
+ glColorPointer,
+ glDisableClientState,
+ glDrawArrays,
+ glDrawElements,
+ glEdgeFlagPointer,
+ glEnableClientState,
+ glIndexPointer,
+ glIndexubv,
+ glInterleavedArrays,
+ glNormalPointer,
+ glPolygonOffset,
+ glTexCoordPointer,
+ glVertexPointer,
+ glAreTexturesResident,
+ glCopyTexImage1D,
+ glCopyTexImage2D,
+ glCopyTexSubImage1D,
+ glCopyTexSubImage2D,
+ glDeleteTextures,
+ glGenTextures,
+ glGetPointerv,
+ glIsTexture,
+ glPrioritizeTextures,
+ glTexSubImage1D,
+ glTexSubImage2D,
+ glPopClientAttrib,
+ glPushClientAttrib,
+ glBlendColor,
+ glBlendEquation,
+ glColorTable,
+ glColorTableParameterfv,
+ glColorTableParameteriv,
+ glCopyColorTable,
+ glGetColorTable,
+ glGetColorTableParameterfv,
+ glGetColorTableParameteriv,
+ glColorSubTable,
+ glCopyColorSubTable,
+ glConvolutionFilter1D,
+ glConvolutionFilter2D,
+ glConvolutionParameterf,
+ glConvolutionParameterfv,
+ glConvolutionParameteri,
+ glConvolutionParameteriv,
+ glCopyConvolutionFilter1D,
+ glCopyConvolutionFilter2D,
+ glGetConvolutionFilter,
+ glGetConvolutionParameterfv,
+ glGetConvolutionParameteriv,
+ glGetSeparableFilter,
+ glSeparableFilter2D,
+ glGetHistogram,
+ glGetHistogramParameterfv,
+ glGetHistogramParameteriv,
+ glGetMinmax,
+ glGetMinmaxParameterfv,
+ glGetMinmaxParameteriv,
+ glHistogram,
+ glMinmax,
+ glResetHistogram,
+ glResetMinmax,
+ glTexImage3D,
+ glTexSubImage3D,
+ 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,
+ glMultiTexCoord1dvARB,
+ glMultiTexCoord1fvARB,
+ glMultiTexCoord1ivARB,
+ glMultiTexCoord1svARB,
+ glMultiTexCoord2dvARB,
+ glMultiTexCoord2fvARB,
+ glMultiTexCoord2ivARB,
+ glMultiTexCoord2svARB,
+ glMultiTexCoord3dvARB,
+ glMultiTexCoord3fvARB,
+ glMultiTexCoord3ivARB,
+ glMultiTexCoord3svARB,
+ glMultiTexCoord4dvARB,
+ glMultiTexCoord4fvARB,
+ glMultiTexCoord4ivARB,
+ glMultiTexCoord4svARB,
+ glSampleCoverageARB,
+ glAreTexturesResidentEXT,
+ glGenTexturesEXT,
+ glIsTextureEXT,
+ glSampleMaskSGIS,
+ glSamplePatternSGIS,
+ glPointParameterfEXT,
+ glPointParameterfvEXT,
+ glWindowPos3fMESA,
+ glBlendFuncSeparateEXT,
+ glFogCoordfvEXT,
+ glFogCoorddvEXT,
+ glFogCoordPointerEXT,
+ glSecondaryColor3bvEXT,
+ glSecondaryColor3dvEXT,
+ glSecondaryColor3fvEXT,
+ glSecondaryColor3ivEXT,
+ glSecondaryColor3svEXT,
+ glSecondaryColor3ubvEXT,
+ glSecondaryColor3uivEXT,
+ glSecondaryColor3usvEXT,
+ glSecondaryColorPointerEXT,
+ glPointParameteriNV,
+ glPointParameterivNV,
+ glActiveStencilFaceEXT,
+ mglXBindTexImageMESA,
+ mglXReleaseTexImageMESA,
+ mglXQueryDrawableMESA
+};
/*
* This structure is statically allocated in the __glXScreens[]
@@ -478,8 +850,6 @@
void __MESA_setVisualConfigs(int nconfigs, __GLXvisualConfig *configs,
void **privates)
{
- (void)kernel8;
- (void)DitherValues;
numConfigs = nconfigs;
visualConfigs = configs;
visualPrivates = privates;
@@ -511,7 +881,11 @@
/* Find a visual that matches the GLX visual's class and size */
for (j = 0; j < pScreen->numVisuals; j++, pVis++) {
if (pVis->class == pGLXVis->class &&
- pVis->nplanes == (pGLXVis->bufferSize - pGLXVis->alphaSize)) {
+ (pVis->nplanes == (pGLXVis->bufferSize - pGLXVis->alphaSize)
+#ifdef COMPOSITE
+ || (pVis->nplanes == pGLXVis->bufferSize)
+#endif
+ )) {
/* Fixup the masks */
pGLXVis->redMask = pVis->redMask;
@@ -551,8 +925,11 @@
for (j = 0; j < pScreen->numVisuals; j++, pVis++) {
if (pVis->class == pGLXVis->class &&
- pVis->nplanes == (pGLXVis->bufferSize - pGLXVis->alphaSize) &&
- !used[j]) {
+ (pVis->nplanes == (pGLXVis->bufferSize - pGLXVis->alphaSize)
+#ifdef COMPOSITE
+ || (pVis->nplanes == pGLXVis->bufferSize)
+#endif
+ ) && !used[j]) {
if (pVis->redMask == pGLXVis->redMask &&
pVis->greenMask == pGLXVis->greenMask &&
@@ -620,6 +997,9 @@
*/
init_screen_visuals(screen);
+ __glRenderTable = &__glMesaRenderTable;
+ __glRenderTableEXT = &__glMesaRenderTableEXT;
+
return TRUE;
}