Allow *_dri.so to build in Mesa tree with the 'linux-dri' target.
authorKeith Whitwell <keith@tungstengraphics.com>
Thu, 29 Apr 2004 12:23:39 +0000 (12:23 +0000)
committerKeith Whitwell <keith@tungstengraphics.com>
Thu, 29 Apr 2004 12:23:39 +0000 (12:23 +0000)
39 files changed:
configs/linux-dri
include/GL/internal/dri_interface.h
src/mesa/drivers/dri/Makefile
src/mesa/drivers/dri/Makefile.template
src/mesa/drivers/dri/dri_client/Makefile
src/mesa/drivers/dri/dri_client/XF86dri.c
src/mesa/drivers/dri/dri_client/dri_util.c
src/mesa/drivers/dri/dri_client/dri_util.h
src/mesa/drivers/dri/dri_client/imports/glxclient.h
src/mesa/drivers/dri/ffb/Makefile
src/mesa/drivers/dri/ffb/ffb_xmesa.c
src/mesa/drivers/dri/gamma/Makefile
src/mesa/drivers/dri/i810/Makefile
src/mesa/drivers/dri/i810/i810ioctl.c
src/mesa/drivers/dri/i810/i810screen.c
src/mesa/drivers/dri/i810/server/i810_dri.h
src/mesa/drivers/dri/i830/Makefile
src/mesa/drivers/dri/mach64/Makefile
src/mesa/drivers/dri/mach64/mach64_context.h
src/mesa/drivers/dri/mach64/mach64_screen.c
src/mesa/drivers/dri/mga/Makefile
src/mesa/drivers/dri/mga/mga_xmesa.c
src/mesa/drivers/dri/r128/Makefile
src/mesa/drivers/dri/r128/r128_ioctl.c
src/mesa/drivers/dri/r128/r128_screen.c
src/mesa/drivers/dri/r200/Makefile
src/mesa/drivers/dri/r200/r200_context.c
src/mesa/drivers/dri/r200/r200_screen.c
src/mesa/drivers/dri/radeon/Makefile
src/mesa/drivers/dri/radeon/radeon_screen.c
src/mesa/drivers/dri/radeon/radeon_screen.h
src/mesa/drivers/dri/sis/Makefile
src/mesa/drivers/dri/tdfx/Makefile
src/mesa/drivers/dri/unichrome/Makefile
src/mesa/drivers/dri/unichrome/via_context.c
src/mesa/drivers/dri/unichrome/via_context.h
src/mesa/drivers/dri/unichrome/via_dri.h
src/mesa/drivers/dri/unichrome/via_screen.c
src/mesa/drivers/dri/unichrome/via_screen.h

index 1fa60eb09331b77a145075d81fc95076ad4426af..70c71e58126ed573bbdf03d64aad0e429cfa3684 100644 (file)
@@ -30,5 +30,11 @@ DRIVER_DIRS = dri
 PROGRAM_DIRS = 
 WINDOW_SYSTEM=dri
 
-#DRI_DIRS = dri_client gamma i810 i830 mach64 mga r128 r200 radeon sis tdfx
-DRI_DIRS = dri_client  i830
+# This kindof sucks - we only need the header files from here:
+# 
+DRM_SOURCE_PATH=/home/progs/drm
+
+# Only savage missing:
+#
+DRI_DIRS = dri_client ffb gamma i810 i830 mach64 mga r128 r200 radeon sis tdfx unichrome
+
index 109b4ee84522c9559864a9387620f611a6faec48..14b3751484e1a8221a7479b1f03995c653c83aed 100644 (file)
@@ -35,6 +35,9 @@
  * \author Ian Romanick <idr@us.ibm.com>
  */
 
+#ifndef DRI_INTERFACE_H
+#define DRI_INTERFACE_H
+
 /* FIXME: With a small amount of work, these two includes can be removed. */
 #include <X11/Xlib.h>
 #include <GL/glx.h>
@@ -497,3 +500,5 @@ struct __DRIdrawableRec {
      */
     unsigned swap_interval;
 };
+
+#endif
index 43731c005038988c28047659b749df66b44a3561..4d7b08ec0d454edc36e8d8d50b4a444d30546fe2 100644 (file)
@@ -14,7 +14,9 @@ $(LIB_DIR):
 
 
 subdirs:
+       echo $(DRI_DIRS)
        @for dir in $(DRI_DIRS) ; do \
+               echo $$dir ; \
                (cd $$dir ; make) || exit 1; \
        done
 
index 33bd22e6e578f1f1f895a3148033938d4bcd56a2..250259785b31b5fec4cdbf801ab1f7eb6f4aa48b 100644 (file)
@@ -21,7 +21,6 @@ else
 WINOBJ=
 WINLIB=-L$(MESA)/src/glx/mini
 MINIGLX_INCLUDES = -I$(TOP)/src/glx/mini
-MINIGLX_SOURCES = 
 INCLUDES = $(MINIGLX_INCLUDES) \
           -I$(DRM_SOURCE_PATH)/shared \
           $(SHARED_INCLUDES)
@@ -32,12 +31,17 @@ OBJECTS = $(C_SOURCES:.c=.o) \
 endif
 
 
+
+
+
 ### Include directories
 SHARED_INCLUDES = \
        -I. \
        -I../common \
        -Iserver \
+       -I$(DRM_SOURCE_PATH)/shared \
        -I$(TOP)/include \
+       -I$(TOP)/include/GL/internal \
        -I$(TOP)/src/mesa \
        -I$(TOP)/src/mesa/main \
        -I$(TOP)/src/mesa/glapi \
@@ -59,7 +63,7 @@ SHARED_INCLUDES = \
 
 ##### TARGETS #####
 
-default: depend $(LIB_DIR)/$(LIBNAME)
+default: depend symlinks $(LIB_DIR)/$(LIBNAME)
 
 
 #$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
@@ -74,7 +78,6 @@ $(LIB_DIR)/$(LIBNAME):  $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile ../Makefil
 
 
 
-
 # Run 'make depend' to update the dependencies if you change
 # what's included by any source file.
 depend: $(C_SOURCES) $(ASM_SOURCES)
@@ -90,6 +93,6 @@ tags:
 
 # Remove .o and backup files
 clean:
-       -rm -f *.o */*.o *~ *.o *~ *.so server/*.o
+       -rm -f *.o */*.o *~ *.o *~ *.so server/*.o $(SYMLINKS)
 
 include depend
index 14ba1948b280fb29b1bd18d862cca6b3e2eae595..930e50504ff8fa3dadd640d7ffca1f14b2e80819 100644 (file)
@@ -23,6 +23,7 @@ OBJECTS = $(C_SOURCES:.c=.o)
 
 INCLUDES = \
        -I$(TOP)/include \
+       -I$(TOP)/include/GL/internal \
        -I$(TOP)/src/mesa \
        -I$(TOP)/src/mesa/main \
        -I$(TOP)/src/mesa/glapi \
index ea14b7a070330a434e4a45237942ef0d60803ab5..82ffb30355086f2a74b68769bc64c80b031a7b2e 100644 (file)
@@ -607,7 +607,6 @@ Bool XF86DRIGetDeviceInfo(dpy, screen, hFrameBuffer,
     return True;
 }
 
-#if 0
 Bool XF86DRIOpenFullScreen(dpy, screen, drawable)
     Display* dpy;
     int screen;
@@ -633,4 +632,3 @@ Bool XF86DRICloseFullScreen(dpy, screen, drawable)
     (void) drawable;
     return True;
 }
-#endif
index 428472873e442e688a4a2d7bf144b83f5ccb7672..08f3fee181901abb6509f393733193c38b38f12d 100644 (file)
@@ -312,9 +312,9 @@ static void __driGarbageCollectDrawables(void *drawHash)
  * While casting the opaque private pointers associated with the parameters
  * into their respective real types it also assures they are not \c NULL. 
  */
-static Bool driUnbindContext2(Display *dpy, int scrn,
+static Bool driUnbindContext3(Display *dpy, int scrn,
                              GLXDrawable draw, GLXDrawable read,
-                             GLXContext gc)
+                             __DRIcontext *ctx)
 {
     __DRIscreen *pDRIScreen;
     __DRIdrawable *pdraw;
@@ -326,10 +326,10 @@ static Bool driUnbindContext2(Display *dpy, int scrn,
 
     /*
     ** Assume error checking is done properly in glXMakeCurrent before
-    ** calling driUnbindContext2.
+    ** calling driUnbindContext3.
     */
 
-    if (gc == NULL || draw == None || read == None) {
+    if (ctx == NULL || draw == None || read == None) {
        /* ERROR!!! */
        return GL_FALSE;
     }
@@ -341,7 +341,7 @@ static Bool driUnbindContext2(Display *dpy, int scrn,
     }
 
     psp = (__DRIscreenPrivate *)pDRIScreen->private;
-    pcp = (__DRIcontextPrivate *)gc->driContext.private;
+    pcp = (__DRIcontextPrivate *)ctx->private;
 
     pdraw = __driFindDrawable(psp->drawHash, draw);
     if (!pdraw) {
@@ -403,59 +403,19 @@ static Bool driUnbindContext2(Display *dpy, int scrn,
  *      be needed in those places when support for pbuffers and / or pixmaps
  *      is added.  Is it safe to assume that the drawable is a window?
  */
-static Bool driBindContext2(Display *dpy, int scrn,
-                            GLXDrawable draw, GLXDrawable read,
-                            GLXContext gc)
+static Bool DoBindContext(Display *dpy,
+                         GLXDrawable draw, GLXDrawable read,
+                         __DRIcontext *ctx, const __GLcontextModes * modes,
+                         __DRIscreenPrivate *psp)
 {
-    __DRIscreen *pDRIScreen;
     __DRIdrawable *pdraw;
     __DRIdrawablePrivate *pdp;
     __DRIdrawable *pread;
     __DRIdrawablePrivate *prp;
-    __DRIscreenPrivate *psp;
-    __DRIcontextPrivate *pcp;
-    const __GLcontextModes *modes;
-
-    /*
-    ** Assume error checking is done properly in glXMakeCurrent before
-    ** calling driBindContext.
-    */
-
-    if (gc == NULL || draw == None || read == None) {
-       /* ERROR!!! */
-       return GL_FALSE;
-    }
-
-    pDRIScreen = __glXFindDRIScreen(dpy, scrn);
-#ifdef DRI_NEW_INTERFACE_ONLY
-    if ( (pDRIScreen == NULL) || (pDRIScreen->private == NULL) ) {
-       /* ERROR!!! */
-       return GL_FALSE;
-    }
-#else
-    if ( driCompareGLXAPIVersion( 20031201 ) >= 0 ) {
-#endif /* DRI_NEW_INTERFACE_ONLY */
-       modes = gc->mode;
-#ifndef DRI_NEW_INTERFACE_ONLY
-    }
-    else {
-       modes = findConfigMode( dpy, scrn, gc->vid, pDRIScreen );
-       if ( modes == NULL ) {
-           /* ERROR!!! */
-           return GL_FALSE;
-       }
-    }
-
-
-    /* findConfigMode will return NULL if the DRI screen or screen private
-     * are NULL.
-     */
-    assert( (pDRIScreen != NULL) && (pDRIScreen->private != NULL) );
-#endif /* DRI_NEW_INTERFACE_ONLY */
+    __DRIcontextPrivate * const pcp = ctx->private;
 
 
     /* Find the _DRIdrawable which corresponds to the writing GLXDrawable */
-    psp = (__DRIscreenPrivate *)pDRIScreen->private;
     pdraw = __driFindDrawable(psp->drawHash, draw);
     if (!pdraw) {
        /* Allocate a new drawable */
@@ -505,7 +465,6 @@ static Bool driBindContext2(Display *dpy, int scrn,
     }
 
     /* Bind the drawable to the context */
-    pcp = (__DRIcontextPrivate *)gc->driContext.private;
     pcp->driDrawablePriv = pdp;
     pdp->driContextPriv = pcp;
     pdp->refcount++;
@@ -530,6 +489,87 @@ static Bool driBindContext2(Display *dpy, int scrn,
 }
 
 
+/**
+ * This function takes both a read buffer and a draw buffer.  This is needed
+ * for \c glXMakeCurrentReadSGI or GLX 1.3's \c glXMakeContextCurrent
+ * function.
+ */
+static Bool driBindContext3(Display *dpy, int scrn,
+                            GLXDrawable draw, GLXDrawable read,
+                            __DRIcontext * ctx)
+{
+    __DRIscreen *pDRIScreen;
+
+    /*
+    ** Assume error checking is done properly in glXMakeCurrent before
+    ** calling driBindContext.
+    */
+
+    if (ctx == NULL || draw == None || read == None) {
+       /* ERROR!!! */
+       return GL_FALSE;
+    }
+
+    pDRIScreen = __glXFindDRIScreen(dpy, scrn);
+    if ( (pDRIScreen == NULL) || (pDRIScreen->private == NULL) ) {
+       /* ERROR!!! */
+       return GL_FALSE;
+    }
+
+    return DoBindContext( dpy, draw, read, ctx, ctx->mode,
+                         (__DRIscreenPrivate *)pDRIScreen->private );
+}
+
+
+#ifndef DRI_NEW_INTERFACE_ONLY
+/**
+ * This function takes both a read buffer and a draw buffer.  This is needed
+ * for \c glXMakeCurrentReadSGI or GLX 1.3's \c glXMakeContextCurrent
+ * function.
+ */
+static Bool driBindContext2(Display *dpy, int scrn,
+                            GLXDrawable draw, GLXDrawable read,
+                            GLXContext gc)
+{
+    __DRIscreen *pDRIScreen;
+    const __GLcontextModes *modes;
+
+    /*
+    ** Assume error checking is done properly in glXMakeCurrent before
+    ** calling driBindContext.
+    */
+
+    if (gc == NULL || draw == None || read == None) {
+       /* ERROR!!! */
+       return GL_FALSE;
+    }
+
+    pDRIScreen = __glXFindDRIScreen(dpy, scrn);
+    modes = (driCompareGLXAPIVersion( 20040317 ) >= 0)
+       ? gc->driContext.mode
+       : findConfigMode( dpy, scrn, gc->vid, pDRIScreen );
+
+    if ( modes == NULL ) {
+       /* ERROR!!! */
+       return GL_FALSE;
+    }
+
+    /* findConfigMode will return NULL if the DRI screen or screen private
+     * are NULL.
+     */
+    assert( (pDRIScreen != NULL) && (pDRIScreen->private != NULL) );
+
+    return DoBindContext( dpy, draw, read, & gc->driContext, modes,
+                         (__DRIscreenPrivate *)pDRIScreen->private );
+}
+
+static Bool driUnbindContext2(Display *dpy, int scrn,
+                             GLXDrawable draw, GLXDrawable read,
+                             GLXContext gc)
+{
+    return driUnbindContext3(dpy, scrn, draw, read, & gc->driContext);
+}
+
 /*
  * Simply call bind with the same GLXDrawable for the read and draw buffers.
  */
@@ -550,6 +590,7 @@ static Bool driUnbindContext(Display *dpy, int scrn,
    (void) will_rebind;
    return driUnbindContext2( dpy, scrn, draw, draw, gc );
 }
+#endif /* DRI_NEW_INTERFACE_ONLY */
 
 /*@}*/
 
@@ -957,6 +998,14 @@ driCreateNewContext(Display *dpy, const __GLcontextModes *modes,
     }
 
     pctx->destroyContext = driDestroyContext;
+#ifdef DRI_NEW_INTERFACE_ONLY
+    pctx->bindContext    = NULL;
+    pctx->unbindContext  = NULL;
+    pctx->bindContext2   = NULL;
+    pctx->unbindContext2 = NULL;
+    pctx->bindContex3    = driBindContext3;
+    pctx->unbindContext3 = driUnbindContext3;
+#else
     pctx->bindContext    = driBindContext;
     pctx->unbindContext  = driUnbindContext;
     if ( driCompareGLXAPIVersion( 20030606 ) >= 0 ) {
@@ -964,6 +1013,12 @@ driCreateNewContext(Display *dpy, const __GLcontextModes *modes,
         pctx->unbindContext2 = driUnbindContext2;
     }
 
+    if ( driCompareGLXAPIVersion( 20040415 ) >= 0 ) {
+        pctx->bindContext3   = driBindContext3;
+        pctx->unbindContext3 = driUnbindContext3;
+    }
+#endif
+
     if ( !(*psp->DriverAPI.CreateContext)(modes, pcp, shareCtx) ) {
         (void)XF86DRIDestroyContext(dpy, modes->screen, pcp->contextID);
         Xfree(pcp);
@@ -1108,6 +1163,22 @@ __driUtilCreateNewScreen(Display *dpy, int scrn, __DRIscreen *psc,
     __DRIscreenPrivate *psp;
 
 
+#ifdef DRI_NEW_INTERFACE_ONLY
+    if ( internal_api_version < 20040415 ) {
+       fprintf( stderr, "libGL error: libGL.so version (%08u) is too old.  "
+                "20040415 or later is required.\n", internal_api_version );
+       return NULL;
+    }
+#else
+    if ( internal_api_version == 20031201 ) {
+       fprintf( stderr, "libGL error: libGL version 20031201 has critical "
+                "binary compatilibity bugs.\nlibGL error: You must upgrade "
+                "to use direct-rendering!\n" );
+       return NULL;
+    }
+#endif /* DRI_NEW_INTERFACE_ONLY */
+
+
     window_exists = (PFNGLXWINDOWEXISTSPROC)
        glXGetProcAddress( (const GLubyte *) "__glXWindowExists" );
 
@@ -1200,6 +1271,10 @@ __driUtilCreateNewScreen(Display *dpy, int scrn, __DRIscreen *psc,
 #endif
     psc->createNewDrawable = driCreateNewDrawable;
     psc->getDrawable       = driGetDrawable;
+#ifdef DRI_NEW_INTERFACE_ONLY
+    psc->getMSC            = driGetMSC;
+    psc->createNewContext  = driCreateNewContext;
+#else
     if ( driCompareGLXAPIVersion( 20030317 ) >= 0 ) {
         psc->getMSC        = driGetMSC;
 
@@ -1207,6 +1282,7 @@ __driUtilCreateNewScreen(Display *dpy, int scrn, __DRIscreen *psc,
            psc->createNewContext = driCreateNewContext;
        }
     }
+#endif
 
     if ( (psp->DriverAPI.InitDriver != NULL)
         && !(*psp->DriverAPI.InitDriver)(psp) ) {
index f189b5a967744f97e9943642796f577671e02939..4764bbbc665ae394cbb9764e662ecfa7e5f08651 100644 (file)
@@ -575,25 +575,6 @@ __driUtilCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
                       int numConfigs, __GLXvisualConfig *config,
                       const struct __DriverAPIRec *driverAPI);
 
-/** This must be implemented in each driver
- * \deprecated
- */
-extern void *
-__driCreateScreen(Display *dpy, int scrn, __DRIscreen *psc,
-                  int numConfigs, __GLXvisualConfig *config);
-
-/** This must be implemented in each driver */
-extern void * __driCreateNewScreen( Display *dpy, int scrn, __DRIscreen *psc,
-    const __GLcontextModes * modes,
-    const __DRIversion * ddx_version, const __DRIversion * dri_version,
-    const __DRIversion * drm_version, const __DRIframebuffer * frame_buffer,
-    drmAddress pSAREA, int fd, int internal_api_version,
-     __GLcontextModes ** driver_modes );
-
-/** This is optionally implemented in each driver */
-extern void
-__driRegisterExtensions( void );
-
 /* Test the version of the internal GLX API.  Returns a value like strcmp. */
 extern int
 driCompareGLXAPIVersion( GLuint required_version );
index 317ea0111695f470e0f3910505b81a63f45536eb..74dfe69c956dc04706931d710a8b46c3ad5eb522 100644 (file)
@@ -78,65 +78,7 @@ typedef struct _glapi_table __GLapi;
 
 #ifdef GLX_DIRECT_RENDERING
 
-/**
- * \name DRI interface structures
- *
- * The following structures define the interface between the GLX client
- * side library and the DRI (direct rendering infrastructure).
- */
-/*@{*/
-typedef struct __DRIdisplayRec  __DRIdisplay;
-typedef struct __DRIscreenRec   __DRIscreen;
-typedef struct __DRIcontextRec  __DRIcontext;
-typedef struct __DRIdrawableRec __DRIdrawable;
-typedef struct __DRIdriverRec   __DRIdriver;
-typedef struct __DRIframebufferRec __DRIframebuffer;
-typedef struct __DRIversionRec     __DRIversion;
-/*@}*/
-
-extern __DRIscreen *__glXFindDRIScreen(Display *dpy, int scrn);
-
-/**
- * Stored version of some component (i.e., server-side DRI module, kernel-side
- * DRM, etc.).
- * 
- * \todo There are several data structures that explicitly store a major
- *       version, minor version, and patch level.  These structures should
- *       be modified to have a \c __DRIversionRec instead.
- */
-struct __DRIversionRec {
-    int    major;        /**< Major version number. */
-    int    minor;        /**< Minor version number. */
-    int    patch;        /**< Patch-level. */
-};
-
-/**
- * Framebuffer information record.  Used by libGL to communicate information
- * about the framebuffer to the driver's \c __DRIdisplayRec::createNewScreen
- * function.
- * 
- * In XFree86, most of this information is derrived from data returned by
- * calling \c XF86DRIGetDeviceInfo.
- *
- * \sa XF86DRIGetDeviceInfo __DRIdisplayRec::createNewScreen
- *     __driUtilCreateNewScreen CallCreateNewScreen
- *
- * \bug This structure could be better named.
- */
-struct __DRIframebufferRec {
-    unsigned char *base;    /**< Framebuffer base address in the CPU's
-                            * address space.  This value is calculated by
-                            * calling \c drmMap on the framebuffer handle
-                            * returned by \c XF86DRIGetDeviceInfo (or a
-                            * similar function).
-                            */
-    int size;               /**< Framebuffer size, in bytes. */
-    int stride;             /**< Number of bytes from one line to the next. */
-    int width;              /**< Pixel width of the framebuffer. */
-    int height;             /**< Pixel height of the framebuffer. */
-    int dev_priv_size;      /**< Size of the driver's dev-priv structure. */
-    void *dev_priv;         /**< Pointer to the driver's dev-priv structure. */
-};
+#include <GL/internal/dri_interface.h>
 
 typedef void *(*CreateScreenFunc)(Display *dpy, int scrn, __DRIscreen *psc,
                                   int numConfigs, __GLXvisualConfig *config);
@@ -147,6 +89,7 @@ typedef void *(*CreateNewScreenFunc)(Display *dpy, int scrn, __DRIscreen *psc,
     const __DRIframebuffer * frame_buffer, void * pSAREA,
     int fd, int internal_api_version, __GLcontextModes ** driver_modes);
 
+
 /**
  * Display dependent methods.  This structure is initialized during the
  * \c driCreateDisplay call.
@@ -183,231 +126,6 @@ struct __DRIdisplayRec {
     CreateNewScreenFunc * createNewScreen;
 };
 
-/**
- * Screen dependent methods.  This structure is initialized during the
- * \c __DRIdisplayRec::createScreen call.
- */
-struct __DRIscreenRec {
-    /**
-     * Method to destroy the private DRI screen data.
-     */
-    void (*destroyScreen)(Display *dpy, int scrn, void *screenPrivate);
-
-    /**
-     * Method to create the private DRI context data and initialize the
-     * context dependent methods.
-     *
-     * \sa __DRIscreenRec::createNewContext driCreateContext 
-     *     driCreateNewContext
-     * \deprecated  This function has been replaced by
-     *              __DRIscreenRec::createNewContext.  New drivers will
-     *              continue to export this method, but it will eventually
-     *              (in the next XFree86 major relearse) go away.
-     */
-    void *(*createContext)(Display *dpy, XVisualInfo *vis, void *sharedPrivate,
-                          __DRIcontext *pctx);
-
-    /**
-     * Method to create the private DRI drawable data and initialize the
-     * drawable dependent methods.
-     */
-    void *(*createNewDrawable)(Display *dpy, const __GLcontextModes *modes,
-                              GLXDrawable draw, __DRIdrawable *pdraw,
-                              int renderType, const int *attrs);
-
-    /**
-     * Method to return a pointer to the DRI drawable data.
-     */
-    __DRIdrawable *(*getDrawable)(Display *dpy, GLXDrawable draw,
-                                 void *drawablePrivate);
-
-    /**
-     * Opaque pointer to private per screen direct rendering data.  \c NULL
-     * if direct rendering is not supported on this screen.  Never
-     * dereferenced in libGL.
-     */
-    void *private;
-
-    /**
-     * Get the number of vertical refreshes since some point in time before
-     * this function was first called (i.e., system start up).
-     * 
-     * \since Internal API version 20030317.
-     */
-    int (*getMSC)( void *screenPrivate, int64_t *msc );
-
-    /**
-     * Opaque pointer that points back to the containing 
-     * \c __GLXscreenConfigs.  This data structure is shared with DRI drivers
-     * but \c __GLXscreenConfigs is not. However, they are needed by some GLX
-     * functions called by DRI drivers.
-     *
-     * \since Internal API version 20030813.
-     */
-    void *screenConfigs;
-
-    /**
-     * Functions associated with MESA_allocate_memory.
-     *
-     * \since Internal API version 20030815.
-     */
-    /*@{*/
-    void *(*allocateMemory)(Display *dpy, int scrn, GLsizei size,
-                           GLfloat readfreq, GLfloat writefreq,
-                           GLfloat priority);
-   
-    void (*freeMemory)(Display *dpy, int scrn, GLvoid *pointer);
-   
-    GLuint (*memoryOffset)(Display *dpy, int scrn, const GLvoid *pointer);
-    /*@}*/
-
-    /**
-     * Method to create the private DRI context data and initialize the
-     * context dependent methods.
-     *
-     * \since Internal API version 20031201.
-     */
-    void * (*createNewContext)(Display *dpy, const __GLcontextModes *modes,
-                              int render_type,
-                              void *sharedPrivate, __DRIcontext *pctx);
-};
-
-/**
- * Context dependent methods.  This structure is initialized during the
- * \c __DRIscreenRec::createContext call.
- */
-struct __DRIcontextRec {
-    /**
-     * Method to destroy the private DRI context data.
-     */
-    void (*destroyContext)(Display *dpy, int scrn, void *contextPrivate);
-
-    /**
-     * Method to bind a DRI drawable to a DRI graphics context.
-     */
-    Bool (*bindContext)(Display *dpy, int scrn, GLXDrawable draw,
-                       GLXContext gc);
-
-    /**
-     * Method to unbind a DRI drawable to a DRI graphics context.
-     */
-    Bool (*unbindContext)(Display *dpy, int scrn, GLXDrawable draw,
-                         GLXContext gc, int will_rebind);
-
-    /**
-     * Opaque pointer to private per context direct rendering data.
-     * \c NULL if direct rendering is not supported on the display or
-     * screen used to create this context.  Never dereferenced in libGL.
-     */
-    void *private;
-
-    /**
-     * Method to bind a DRI drawable to a DRI graphics context.
-     *
-     * \since Internal API version 20030606.
-     */
-    Bool (*bindContext2)(Display *dpy, int scrn, GLXDrawable draw,
-                        GLXDrawable read, GLXContext gc);
-
-    /**
-     * Method to unbind a DRI drawable to a DRI graphics context.
-     *
-     * \since Internal API version 20030606.
-     */
-    Bool (*unbindContext2)(Display *dpy, int scrn, GLXDrawable draw,
-                          GLXDrawable read, GLXContext gc);
-};
-
-/**
- * Drawable dependent methods.  This structure is initialized during the
- * \c __DRIscreenRec::createDrawable call.  \c createDrawable is not called
- * by libGL at this time.  It's currently used via the dri_util.c utility code
- * instead.
- */
-struct __DRIdrawableRec {
-    /**
-     * Method to destroy the private DRI drawable data.
-     */
-    void (*destroyDrawable)(Display *dpy, void *drawablePrivate);
-
-    /**
-     * Method to swap the front and back buffers.
-     */
-    void (*swapBuffers)(Display *dpy, void *drawablePrivate);
-
-    /**
-     * Opaque pointer to private per drawable direct rendering data.
-     * \c NULL if direct rendering is not supported on the display or
-     * screen used to create this drawable.  Never dereferenced in libGL.
-     */
-    void *private;
-
-    /**
-     * Get the number of completed swap buffers for this drawable.
-     *
-     * \since Internal API version 20030317.
-     */
-    int (*getSBC)(Display *dpy, void *drawablePrivate, int64_t *sbc );
-
-    /**
-     * Wait for the SBC to be greater than or equal target_sbc.
-     *
-     * \since Internal API version 20030317.
-     */
-    int (*waitForSBC)( Display * dpy, void *drawablePriv,
-                      int64_t target_sbc,
-                      int64_t * msc, int64_t * sbc );
-
-    /**
-     * Wait for the MSC to equal target_msc, or, if that has already passed,
-     * the next time (MSC % divisor) is equal to remainder.  If divisor is
-     * zero, the function will return as soon as MSC is greater than or equal
-     * to target_msc.
-     * 
-     * \since Internal API version 20030317.
-     */
-    int (*waitForMSC)( Display * dpy, void *drawablePriv,
-                      int64_t target_msc, int64_t divisor, int64_t remainder,
-                      int64_t * msc, int64_t * sbc );
-
-    /**
-     * Like \c swapBuffers, but does NOT have an implicit \c glFlush.  Once
-     * rendering is complete, waits until MSC is equal to target_msc, or
-     * if that has already passed, waits until (MSC % divisor) is equal
-     * to remainder.  If divisor is zero, the swap will happen as soon as
-     * MSC is greater than or equal to target_msc.
-     * 
-     * \since Internal API version 20030317.
-     */
-    int64_t (*swapBuffersMSC)(Display *dpy, void *drawablePrivate,
-                             int64_t target_msc,
-                             int64_t divisor, int64_t remainder);
-
-    /**
-     * Enable or disable frame usage tracking.
-     * 
-     * \since Internal API version 20030317.
-     */
-    int (*frameTracking)(Display *dpy, void *drawablePrivate, Bool enable);
-
-    /**
-     * Retrieve frame usage information.
-     * 
-     * \since Internal API version 20030317.
-     */
-    int (*queryFrameTracking)(Display *dpy, void *drawablePrivate,
-                             int64_t * sbc, int64_t * missedFrames,
-                             float * lastMissedUsage, float * usage );
-
-    /**
-     * Used by drivers that implement the GLX_SGI_swap_control or
-     * GLX_MESA_swap_control extension.
-     *
-     * \since Internal API version 20030317.
-     */
-    unsigned swap_interval;
-};
-
 
 /*
 ** We keep a linked list of these structures, one per DRI device driver.
@@ -810,16 +528,6 @@ struct __GLXcontextRec {
     * drivers should NEVER use this data or even care that it exists.
     */
    void * client_state_private;
-
-#ifdef GLX_DIRECT_RENDERING
-    /**
-     * Pointer to the mode used to create this context.  This field replaces
-     * the \c vid and \c fbconfigID fields.
-     * 
-     * \since Internal API version 20031201.
-     */
-    const __GLcontextModes * mode;
-#endif /* GLX_DIRECT_RENDERING */
 };
 
 #define __glXSetError(gc,code) \
@@ -1103,41 +811,7 @@ extern char *__glXCombineExtensionStrings( const char *cext_string,
 /* Determine the internal API version */
 extern int __glXGetInternalVersion(void);
 
-/**
- * Type of a pointer to \c __glXGetInternalVersion, as returned by
- * \c glXGetProcAddress.
- *
- * \sa __glXGetInternalVersion, glXGetProcAddress
- */
-typedef int (* PFNGLXGETINTERNALVERSIONPROC) ( void );
-
-/**
- * Type of a pointer to \c __glXWindowExists, as returned by
- * \c glXGetProcAddress.
- *
- * \sa __glXWindowExists, glXGetProcAddress
- */
-typedef Bool (* PFNGLXWINDOWEXISTSPROC) (Display *dpy, GLXDrawable draw);
-
 /* Get the unadjusted system time */
 extern int __glXGetUST( int64_t * ust );
 
-/**
- * Type of a pointer to \c __glXGetUST, as returned by \c glXGetProcAddress.
- * 
- * \sa __glXGetUST, glXGetProcAddress
- */
-typedef int (* PFNGLXGETUSTPROC) ( int64_t * ust );
-
-
-/**
- * Type of pointer to \c __glXCreateContextModes, as returned by
- * \c glXGetProcAddress.
- * 
- * \sa _gl_context_modes_create, glXGetProcAddress
- */
-
-typedef __GLcontextModes * (* PFNGLXCREATECONTEXTMODES) ( unsigned count,
-    size_t minimum_bytes_per_struct );
-
 #endif /* !__GLX_client_h__ */
index 42ed196256d796f2ae41934e243c33b781fc86b8..05972ca70f662e1576f2ab436f9eb93574d03da2 100644 (file)
@@ -5,16 +5,6 @@ include $(TOP)/configs/current
 
 LIBNAME = ffb_dri.so
 
-DEFINES += \
-       -D_HAVE_SWRAST=1 \
-       -D_HAVE_SWTNL=1 \
-       -D_HAVE_SANITY=1 \
-       -D_HAVE_CODEGEN=1 \
-       -D_HAVE_LIGHTING=1 \
-       -D_HAVE_TEXGEN=1 \
-       -D_HAVE_USERCLIP=1 \
-       -DGLX_DIRECT_RENDERING
-
 # not yet
 # MINIGLX_SOURCES = server/ffb_dri.c 
 
@@ -40,90 +30,15 @@ DRIVER_SOURCES = \
        ffb_tex.c \
        ffb_tris.c \
        ffb_vb.c \
-       ffb_vtxfmt.c \
        ffb_xmesa.c
 
 C_SOURCES = \
        $(COMMON_SOURCES) \
-       $(MINIGLX_SOURCES) \
        $(DRIVER_SOURCES)
 
-# Include directories
-INCLUDE_DIRS = \
-       -I. \
-       -I../common \
-       -Iserver \
-       -I$(TOP)/src/glx/mini \
-       -I$(TOP)/include \
-       -I$(TOP)/src/mesa/drivers/dri/drm/shared \
-       -I$(TOP)/src/mesa \
-       -I$(TOP)/src/mesa/main \
-       -I$(TOP)/src/mesa/glapi \
-       -I$(TOP)/src/mesa/math \
-       -I$(TOP)/src/mesa/transform \
-       -I$(TOP)/src/mesa/shader \
-       -I$(TOP)/src/mesa/swrast \
-       -I$(TOP)/src/mesa/swrast_setup
-
-# Core Mesa objects
-MESA_MODULES = $(TOP)/src/mesa/mesa.a
-
-# Libraries that the driver shared lib depends on
-LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -lexpat -ldl -lc
-
-
-ifeq ($(WINDOW_SYSTEM),dri)
-WINOBJ=$(MESABUILDDIR)/dri/dri.a
-WINLIB=
-else
-WINOBJ=
-WINLIB=-L$(MESA)/src/glx/mini
-endif
 
 ASM_SOURCES = 
 
-OBJECTS = $(C_SOURCES:.c=.o) \
-         $(ASM_SOURCES:.S=.o) 
-
-
-##### RULES #####
-
-.c.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES)  $< -o $@
-
-
-##### TARGETS #####
-
-default: depend $(LIB_DIR)/$(LIBNAME)
-
-
-$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
-       $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(LIB_DIR) \
-               $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) $(OBJECTS)
-
-
-$(SYMLINKS):
-       mkdir -p server
-       cd server
-       rm -f $@ && ln -s ../../radeon/$@ $@
-
-
-depend: $(C_SOURCES) $(ASM_SOURCES)
-       touch depend
-       $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDE_DIRS) $(C_SOURCES) $(ASM_SOURCES) \
-               >& /dev/null
-
-
-# Emacs tags
-tags:
-       etags `find . -name \*.[ch]` `find ../include`
-
-
-clean:
-       -rm -f *.o server/*.o
-
+include ../Makefile.template
 
-include depend
+symlinks:
index ae31bfeb03476568b8d1ce7b093d940107b03736..0fa8675e023c750751094455ecf68afe4a24ece4 100644 (file)
@@ -56,6 +56,8 @@
 #include "ffb_vtxfmt.h"
 #include "ffb_bitmap.h"
 
+#include "drm_sarea.h"
+
 static GLboolean
 ffbInitDriver(__DRIscreenPrivate *sPriv)
 {
@@ -66,7 +68,7 @@ ffbInitDriver(__DRIscreenPrivate *sPriv)
                return GL_FALSE;
 
        /* Allocate the private area. */
-       ffbScreen = (ffbScreenPrivate *) Xmalloc(sizeof(ffbScreenPrivate));
+       ffbScreen = (ffbScreenPrivate *) MALLOC(sizeof(ffbScreenPrivate));
        if (!ffbScreen)
                return GL_FALSE;
 
@@ -75,7 +77,7 @@ ffbInitDriver(__DRIscreenPrivate *sPriv)
                   gDRIPriv->hFbcRegs,
                   gDRIPriv->sFbcRegs,
                   &gDRIPriv->mFbcRegs)) {
-               Xfree(ffbScreen);
+               FREE(ffbScreen);
                return GL_FALSE;
        }
        ffbScreen->regs = (ffb_fbcPtr) gDRIPriv->mFbcRegs;
@@ -86,7 +88,7 @@ ffbInitDriver(__DRIscreenPrivate *sPriv)
                   gDRIPriv->sDacRegs,
                   &gDRIPriv->mDacRegs)) {
                drmUnmap(gDRIPriv->mFbcRegs, gDRIPriv->sFbcRegs);
-               Xfree(ffbScreen);
+               FREE(ffbScreen);
                return GL_FALSE;
        }
        ffbScreen->dac = (ffb_dacPtr) gDRIPriv->mDacRegs;
@@ -98,7 +100,7 @@ ffbInitDriver(__DRIscreenPrivate *sPriv)
                   &gDRIPriv->mSfb8r)) {
                drmUnmap(gDRIPriv->mFbcRegs, gDRIPriv->sFbcRegs);
                drmUnmap(gDRIPriv->mDacRegs, gDRIPriv->sDacRegs);
-               Xfree(ffbScreen);
+               FREE(ffbScreen);
                return GL_FALSE;
        }
        ffbScreen->sfb8r = (volatile char *) gDRIPriv->mSfb8r;
@@ -110,7 +112,7 @@ ffbInitDriver(__DRIscreenPrivate *sPriv)
                drmUnmap(gDRIPriv->mFbcRegs, gDRIPriv->sFbcRegs);
                drmUnmap(gDRIPriv->mDacRegs, gDRIPriv->sDacRegs);
                drmUnmap(gDRIPriv->mSfb8r, gDRIPriv->sSfb8r);
-               Xfree(ffbScreen);
+               FREE(ffbScreen);
                return GL_FALSE;
        }
        ffbScreen->sfb32 = (volatile char *) gDRIPriv->mSfb32;
@@ -123,7 +125,7 @@ ffbInitDriver(__DRIscreenPrivate *sPriv)
                drmUnmap(gDRIPriv->mDacRegs, gDRIPriv->sDacRegs);
                drmUnmap(gDRIPriv->mSfb8r, gDRIPriv->sSfb8r);
                drmUnmap(gDRIPriv->mSfb32, gDRIPriv->sSfb32);
-               Xfree(ffbScreen);
+               FREE(ffbScreen);
                return GL_FALSE;
        }
        ffbScreen->sfb64 = (volatile char *) gDRIPriv->mSfb64;
@@ -153,7 +155,7 @@ ffbDestroyScreen(__DRIscreenPrivate *sPriv)
        drmUnmap(gDRIPriv->mSfb32, gDRIPriv->sSfb32);
        drmUnmap(gDRIPriv->mSfb64, gDRIPriv->sSfb64);
 
-       Xfree(ffbScreen);
+       FREE(ffbScreen);
 }
 
 static const struct tnl_pipeline_stage *ffb_pipeline[] = {
@@ -284,7 +286,9 @@ ffbCreateContext(const __GLcontextModes *mesaVis,
        ffbDDInitBitmapFuncs(ctx);
        ffbInitVB(ctx);
 
+#if 0
        ffbInitTnlModule(ctx);
+#endif
 
        _tnl_destroy_pipeline(ctx);
        _tnl_install_pipeline(ctx, ffb_pipeline);
index 1dcd922a43b67e6dbe29ac812260d980a75dd1aa..e72246100c333c6b5e5f2057e45983e64a9d0bf0 100644 (file)
@@ -5,16 +5,6 @@ include $(TOP)/configs/current
 
 LIBNAME = gamma_dri.so
 
-DEFINES += \
-       -D_HAVE_SWRAST=1 \
-       -D_HAVE_SWTNL=1 \
-       -D_HAVE_SANITY=1 \
-       -D_HAVE_CODEGEN=1 \
-       -D_HAVE_LIGHTING=1 \
-       -D_HAVE_TEXGEN=1 \
-       -D_HAVE_USERCLIP=1 \
-       -DGLX_DIRECT_RENDERING
-
 # Not yet
 # MINIGLX_SOURCES = server/gamma_dri.c 
 
@@ -43,79 +33,10 @@ DRIVER_SOURCES = \
 
 C_SOURCES = \
        $(COMMON_SOURCES) \
-       $(MINIGLX_SOURCES) \
        $(DRIVER_SOURCES)
 
-# Include directories
-INCLUDE_DIRS = \
-       -I. \
-       -I../common \
-       -Iserver \
-       -I$(TOP)/src/glx/mini \
-       -I$(TOP)/include \
-       -I$(DRM_SOURCE_PATH)/shared \
-       -I$(TOP)/src/mesa \
-       -I$(TOP)/src/mesa/main \
-       -I$(TOP)/src/mesa/glapi \
-       -I$(TOP)/src/mesa/math \
-       -I$(TOP)/src/mesa/transform \
-       -I$(TOP)/src/mesa/shader \
-       -I$(TOP)/src/mesa/swrast \
-       -I$(TOP)/src/mesa/swrast_setup
-
-# Core Mesa objects
-MESA_MODULES = $(TOP)/src/mesa/mesa.a
-
-# Libraries that the driver shared lib depends on
-LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -lexpat -ldl -lc
-
-
-ifeq ($(WINDOW_SYSTEM),dri)
-WINOBJ=$(MESABUILDDIR)/dri/dri.a
-WINLIB=
-else
-WINOBJ=
-WINLIB=-L$(MESA)/src/glx/mini
-endif
-
 ASM_SOURCES = 
 
-OBJECTS = $(C_SOURCES:.c=.o) \
-         $(ASM_SOURCES:.S=.o) 
-
-
-##### RULES #####
-
-.c.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES)  $< -o $@
-
-
-##### TARGETS #####
-
-default: depend $(LIB_DIR)/$(LIBNAME)
-
-
-$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
-       $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(LIB_DIR) \
-               $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) $(OBJECTS)
-
-
-depend: $(C_SOURCES) $(ASM_SOURCES)
-       touch depend
-       $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDE_DIRS) $(C_SOURCES) $(ASM_SOURCES) \
-               >& /dev/null
-
-
-# Emacs tags
-tags:
-       etags `find . -name \*.[ch]` `find ../include`
-
-
-clean:
-       -rm -f *.o server/*.o
-
+include ../Makefile.template
 
-include depend
+symlinks:
index ab7873a2bc3ecad439b63876c522415d22204b56..4f36a33762f217e4a0112d6279f44eb524eb773c 100644 (file)
@@ -5,16 +5,6 @@ include $(TOP)/configs/current
 
 LIBNAME = i810_dri.so
 
-DEFINES += \
-       -D_HAVE_SWRAST=1 \
-       -D_HAVE_SWTNL=1 \
-       -D_HAVE_SANITY=1 \
-       -D_HAVE_CODEGEN=1 \
-       -D_HAVE_LIGHTING=1 \
-       -D_HAVE_TEXGEN=1 \
-       -D_HAVE_USERCLIP=1 \
-       -DGLX_DIRECT_RENDERING
-
 # Not yet
 # MINIGLX_SOURCES = server/i810_dri.c 
 
@@ -40,79 +30,10 @@ DRIVER_SOURCES = \
 
 C_SOURCES = \
        $(COMMON_SOURCES) \
-       $(MINIGLX_SOURCES) \
        $(DRIVER_SOURCES)
 
-# Include directories
-INCLUDE_DIRS = \
-       -I. \
-       -I../common \
-       -Iserver \
-       -I$(TOP)/src/glx/mini \
-       -I$(TOP)/include \
-       -I$(DRM_SOURCE_PATH)/shared \
-       -I$(TOP)/src/mesa \
-       -I$(TOP)/src/mesa/main \
-       -I$(TOP)/src/mesa/glapi \
-       -I$(TOP)/src/mesa/math \
-       -I$(TOP)/src/mesa/transform \
-       -I$(TOP)/src/mesa/shader \
-       -I$(TOP)/src/mesa/swrast \
-       -I$(TOP)/src/mesa/swrast_setup
-
-# Core Mesa objects
-MESA_MODULES = $(TOP)/src/mesa/mesa.a
-
-# Libraries that the driver shared lib depends on
-LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -lexpat -ldl -lc
-
-
-ifeq ($(WINDOW_SYSTEM),dri)
-WINOBJ=$(MESABUILDDIR)/dri/dri.a
-WINLIB=
-else
-WINOBJ=
-WINLIB=-L$(MESA)/src/glx/mini
-endif
-
 ASM_SOURCES = 
 
-OBJECTS = $(C_SOURCES:.c=.o) \
-         $(ASM_SOURCES:.S=.o) 
-
-
-##### RULES #####
-
-.c.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES)  $< -o $@
-
-
-##### TARGETS #####
-
-default: depend $(LIB_DIR)/$(LIBNAME)
-
-
-$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
-       $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(LIB_DIR) \
-               $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) $(OBJECTS)
-
-
-depend: $(C_SOURCES) $(ASM_SOURCES)
-       touch depend
-       $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDE_DIRS) $(C_SOURCES) $(ASM_SOURCES) \
-               >& /dev/null
-
-
-# Emacs tags
-tags:
-       etags `find . -name \*.[ch]` `find ../include`
-
-
-clean:
-       -rm -f *.o server/*.o
-
+include ../Makefile.template
 
-include depend
+symlinks:
index 3d1be4c902f57979fefb8901198db43f8e141add..829ad04c7e546a31ddfea9df9f2c480ce7c35f23 100644 (file)
@@ -91,7 +91,7 @@ static void i810Clear( GLcontext *ctx, GLbitfield mask, GLboolean all,
       {         
         int nr = MIN2(i + I810_NR_SAREA_CLIPRECTS, imesa->numClipRects);
         drm_clip_rect_t *box = imesa->pClipRects;       
-        drm_clip_rect_t *b = imesa->sarea->boxes;
+        drm_clip_rect_t *b = (drm_clip_rect_t *)imesa->sarea->boxes;
         int n = 0;
 
         if (!all) {
@@ -156,13 +156,13 @@ void i810CopyBuffer( const __DRIdrawablePrivate *dPriv )
    I810_FIREVERTICES( imesa );
    LOCK_HARDWARE( imesa );
    
-   pbox = dPriv->pClipRects;
+   pbox = (drm_clip_rect_t *)dPriv->pClipRects;
    nbox = dPriv->numClipRects;
 
    for (i = 0 ; i < nbox ; )
    {
       int nr = MIN2(i + I810_NR_SAREA_CLIPRECTS, dPriv->numClipRects);
-      drm_clip_rect_t *b = imesa->sarea->boxes;
+      drm_clip_rect_t *b = (drm_clip_rect_t *)imesa->sarea->boxes;
 
       imesa->sarea->nbox = nr - i;
 
@@ -204,8 +204,8 @@ void i810PageFlip( const __DRIdrawablePrivate *dPriv )
   LOCK_HARDWARE( imesa );
   
   if (dPriv->pClipRects) {
-    *imesa->sarea->boxes = dPriv->pClipRects[0];
-    imesa->sarea->nbox = 1;
+     imesa->sarea->boxes[0] = dPriv->pClipRects[0];
+     imesa->sarea->nbox = 1;
   }
   ret = drmCommandNone(imesa->driFd, DRM_I810_FLIP);
   if (ret) {
@@ -403,7 +403,7 @@ void i810FlushPrimsLocked( i810ContextPtr imesa )
       for (i = 0 ; i < nbox ; )
       {
         int nr = MIN2(i + I810_NR_SAREA_CLIPRECTS, nbox);
-        drm_clip_rect_t *b = sarea->boxes;
+        drm_clip_rect_t *b = (drm_clip_rect_t *)sarea->boxes;
 
         if (imesa->scissor) {
            sarea->nbox = 0;
index a095b28add1b280d98981a2237eef34d3267d395..8bb62217a927756a67e3af9bbbddb5163b6a3111 100644 (file)
@@ -50,7 +50,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "i810ioctl.h"
 
 #ifndef _SOLO
-#include "glxextensions.h"
+#include "GL/internal/dri_interface.h"
 #endif
 
 #ifdef USE_NEW_INTERFACE
index 2931988c879e243e0b9ec4d625623a254fc0af8d..cfca20a95b855865df837cc2a95e4469a9e1db85 100644 (file)
@@ -78,7 +78,7 @@ typedef struct {
    unsigned int dirty;
 
    unsigned int nbox;
-   drm_clip_rect_t boxes[I810_NR_SAREA_CLIPRECTS];
+   XF86DRIClipRectRec boxes[I810_NR_SAREA_CLIPRECTS];
 
    /* Maintain an LRU of contiguous regions of texture space.  If
     * you think you own a region of texture memory, and it has an
index f6ba1fa62162b4ad0c8178e943bffe226c9ef72f..8a75927081d24adafb4619471cc0f4db5e1a83d6 100644 (file)
@@ -34,5 +34,7 @@ C_SOURCES = \
 ASM_SOURCES = 
 
 
+
 include ../Makefile.template
 
+symlinks:
index 77cc9420bf9d3241508180d6b8908fe2167e9cae..c855f4d882a06385414de0ab9cef812b110f08ac 100644 (file)
@@ -5,16 +5,6 @@ include $(TOP)/configs/current
 
 LIBNAME = mach64_dri.so
 
-DEFINES += \
-       -D_HAVE_SWRAST=1 \
-       -D_HAVE_SWTNL=1 \
-       -D_HAVE_SANITY=1 \
-       -D_HAVE_CODEGEN=1 \
-       -D_HAVE_LIGHTING=1 \
-       -D_HAVE_TEXGEN=1 \
-       -D_HAVE_USERCLIP=1 \
-       -DGLX_DIRECT_RENDERING
-
 # Not yet
 # MINIGLX_SOURCES = server/mach64_dri.c 
 
@@ -42,79 +32,10 @@ DRIVER_SOURCES = \
 
 C_SOURCES = \
        $(COMMON_SOURCES) \
-       $(MINIGLX_SOURCES) \
        $(DRIVER_SOURCES)
 
-# Include directories
-INCLUDE_DIRS = \
-       -I. \
-       -I../common \
-       -Iserver \
-       -I$(TOP)/src/glx/mini \
-       -I$(TOP)/include \
-       -I$(DRM_SOURCE_PATH)/shared \
-       -I$(TOP)/src/mesa \
-       -I$(TOP)/src/mesa/main \
-       -I$(TOP)/src/mesa/glapi \
-       -I$(TOP)/src/mesa/math \
-       -I$(TOP)/src/mesa/transform \
-       -I$(TOP)/src/mesa/shader \
-       -I$(TOP)/src/mesa/swrast \
-       -I$(TOP)/src/mesa/swrast_setup
-
-# Core Mesa objects
-MESA_MODULES = $(TOP)/src/mesa/mesa.a
-
-# Libraries that the driver shared lib depends on
-LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -lexpat -ldl -lc
-
-
-ifeq ($(WINDOW_SYSTEM),dri)
-WINOBJ=$(MESABUILDDIR)/dri/dri.a
-WINLIB=
-else
-WINOBJ=
-WINLIB=-L$(MESA)/src/glx/mini
-endif
-
 ASM_SOURCES = 
 
-OBJECTS = $(C_SOURCES:.c=.o) \
-         $(ASM_SOURCES:.S=.o) 
-
-
-##### RULES #####
-
-.c.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES)  $< -o $@
-
-
-##### TARGETS #####
-
-default: depend $(LIB_DIR)/$(LIBNAME)
-
-
-$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
-       $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(LIB_DIR) \
-               $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) $(OBJECTS)
-
-
-depend: $(C_SOURCES) $(ASM_SOURCES)
-       touch depend
-       $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDE_DIRS) $(C_SOURCES) $(ASM_SOURCES) \
-               >& /dev/null
-
-
-# Emacs tags
-tags:
-       etags `find . -name \*.[ch]` `find ../include`
-
-
-clean:
-       -rm -f *.o server/*.o
-
+include ../Makefile.template
 
-include depend
+symlinks:
index 03b90a44717443e6ed60d8b8f7eddb1249fde8b8..e424c0bbbfba7d0b51303042d8bb0d3270010ec4 100644 (file)
@@ -116,6 +116,8 @@ typedef struct {
 } mach64_vertex;
 #endif
 
+#define CARD32 GLuint          /* KW: For building in mesa tree */
+
 /* The size of this union is not of relevence:
  */
 union mach64_vertex_t {
index 6ef16c11b27525a41a08727798c35d47597cc3b1..4d36369ce9d2889dadb18ba33d9a566813a8ecb9 100644 (file)
@@ -41,7 +41,7 @@
 #include "vblank.h"
 
 #ifndef _SOLO
-#include "glxextensions.h"
+#include "GL/internal/dri_interface.h"
 #endif
 
 /* Mach64 configuration
@@ -452,6 +452,10 @@ mach64InitDriver( __DRIscreenPrivate *driScreen )
  */
 void __driRegisterExtensions( void )
 {
+#if 0
+   /* KW: This is handled differently in the other drivers, not sure
+    * what to do here.
+    */
    PFNGLXENABLEEXTENSIONPROC glx_enable_extension;
 
    if ( driCompareGLXAPIVersion( 20030317 ) >= 0 ) {
@@ -464,6 +468,7 @@ void __driRegisterExtensions( void )
         glx_enable_extension( "GLX_MESA_swap_control", GL_FALSE );
       }
    }
+#endif
 }
 #endif
 
index 249d810e0c835c565eddd450a936f1981eddc939..58c925da487acf69de85d7771b51220b7d0e93fb 100644 (file)
@@ -5,16 +5,6 @@ include $(TOP)/configs/current
 
 LIBNAME = mga_dri.so
 
-DEFINES += \
-       -D_HAVE_SWRAST=1 \
-       -D_HAVE_SWTNL=1 \
-       -D_HAVE_SANITY=1 \
-       -D_HAVE_CODEGEN=1 \
-       -D_HAVE_LIGHTING=1 \
-       -D_HAVE_TEXGEN=1 \
-       -D_HAVE_USERCLIP=1 \
-       -DGLX_DIRECT_RENDERING
-
 MINIGLX_SOURCES = server/mga_dri.c 
 
 COMMON_SOURCES = \
@@ -30,9 +20,7 @@ DRIVER_SOURCES = \
        mgaioctl.c \
        mgarender.c \
        mgastate.c \
-       mgatris.c
-
-FULL_DRIVER_SOURCES = \
+       mgatris.c \
        mgapixel.c \
        mgaspan.c \
        mgatex.c \
@@ -44,80 +32,11 @@ FULL_DRIVER_SOURCES = \
 
 C_SOURCES = \
        $(COMMON_SOURCES) \
-       $(MINIGLX_SOURCES) \
-       $(DRIVER_SOURCES) \
-       $(FULL_DRIVER_SOURCES)
-
-# Include directories
-INCLUDE_DIRS = \
-       -I. \
-       -I../common \
-       -Iserver \
-       -I$(TOP)/src/glx/mini \
-       -I$(TOP)/include \
-       -I$(DRM_SOURCE_PATH)/shared \
-       -I$(TOP)/src/mesa \
-       -I$(TOP)/src/mesa/main \
-       -I$(TOP)/src/mesa/glapi \
-       -I$(TOP)/src/mesa/math \
-       -I$(TOP)/src/mesa/transform \
-       -I$(TOP)/src/mesa/shader \
-       -I$(TOP)/src/mesa/swrast \
-       -I$(TOP)/src/mesa/swrast_setup
-
-# Core Mesa objects
-MESA_MODULES = $(TOP)/src/mesa/mesa.a
-
-# Libraries that the driver shared lib depends on
-LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -lexpat -ldl -lc
-
+       $(DRIVER_SOURCES) 
 
-ifeq ($(WINDOW_SYSTEM),dri)
-WINOBJ=$(MESABUILDDIR)/dri/dri.a
-WINLIB=
-else
-WINOBJ=
-WINLIB=-L$(MESA)/src/glx/mini
-endif
 
 ASM_SOURCES = 
 
-OBJECTS = $(C_SOURCES:.c=.o) \
-         $(ASM_SOURCES:.S=.o) 
-
-
-##### RULES #####
-
-.c.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES)  $< -o $@
-
-
-##### TARGETS #####
-
-default: depend $(LIB_DIR)/$(LIBNAME)
-
-
-$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
-       $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(LIB_DIR) \
-               $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) $(OBJECTS)
-
-
-depend: $(C_SOURCES) $(ASM_SOURCES)
-       touch depend
-       $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDE_DIRS) $(C_SOURCES) $(ASM_SOURCES) \
-               >& /dev/null
-
-
-# Emacs tags
-tags:
-       etags `find . -name \*.[ch]` `find ../include`
-
-
-clean:
-       -rm -f *.o server/*.o
-
+include ../Makefile.template
 
-include depend
+symlinks:
index 0a00b347b38f9c1261c8ddcf8568dd49c9cf8e1f..df7856241fbd78725cad0e300f50066780688081 100644 (file)
@@ -60,7 +60,7 @@
 #include "vblank.h"
 
 #ifndef _SOLO
-#include "glxextensions.h"
+#include "GL/internal/dri_interface.h"
 #endif
 
 /* MGA configuration
index 20434987015892a56adb85a8883b7adf834782f1..bcda0a4d7d6ad381b23ade1019f0e86a1bc472cc 100644 (file)
@@ -5,16 +5,6 @@ include $(TOP)/configs/current
 
 LIBNAME = r128_dri.so
 
-DEFINES += \
-       -D_HAVE_SWRAST=1 \
-       -D_HAVE_SWTNL=1 \
-       -D_HAVE_SANITY=1 \
-       -D_HAVE_CODEGEN=1 \
-       -D_HAVE_LIGHTING=1 \
-       -D_HAVE_TEXGEN=1 \
-       -D_HAVE_USERCLIP=1 \
-       -DGLX_DIRECT_RENDERING
-
 MINIGLX_SOURCES = server/r128_dri.c 
 
 COMMON_SOURCES = \
@@ -41,79 +31,11 @@ DRIVER_SOURCES = \
 
 C_SOURCES = \
        $(COMMON_SOURCES) \
-       $(DRIVER_SOURCES) \
-       $(MINIGLX_SOURCES)
-
-# Include directories
-INCLUDE_DIRS = \
-       -I. \
-       -I../common \
-       -Iserver \
-       -I$(TOP)/src/glx/mini \
-       -I$(TOP)/include \
-       -I$(DRM_SOURCE_PATH)/shared \
-       -I$(TOP)/src/mesa \
-       -I$(TOP)/src/mesa/main \
-       -I$(TOP)/src/mesa/glapi \
-       -I$(TOP)/src/mesa/math \
-       -I$(TOP)/src/mesa/transform \
-       -I$(TOP)/src/mesa/shader \
-       -I$(TOP)/src/mesa/swrast \
-       -I$(TOP)/src/mesa/swrast_setup
-
-# Core Mesa objects
-MESA_MODULES = $(TOP)/src/mesa/mesa.a
-
-# Libraries that the driver shared lib depends on
-LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -lexpat -ldl -lc
-
-
-ifeq ($(WINDOW_SYSTEM),dri)
-WINOBJ=$(MESABUILDDIR)/dri/dri.a
-WINLIB=
-else
-WINOBJ=
-WINLIB=-L$(MESA)/src/glx/mini
-endif
+       $(DRIVER_SOURCES) 
 
 ASM_SOURCES = 
 
-OBJECTS = $(C_SOURCES:.c=.o) \
-         $(ASM_SOURCES:.S=.o) 
-
-
-##### RULES #####
-
-.c.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES)  $< -o $@
-
-
-##### TARGETS #####
-
-default: depend $(LIB_DIR)/$(LIBNAME)
-
-
-$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
-       $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(LIB_DIR) \
-               $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) $(OBJECTS)
-
-
-depend: $(C_SOURCES) $(ASM_SOURCES)
-       touch depend
-       $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDE_DIRS) $(C_SOURCES) $(ASM_SOURCES) \
-               >& /dev/null
-
-
-# Emacs tags
-tags:
-       etags `find . -name \*.[ch]` `find ../include`
-
-
-clean:
-       -rm -f *.o server/*.o
 
+include ../Makefile.template
 
-include depend
+symlinks:
index 6ea8d529652b5eab1a5b86fcdec98e4e833ec9c7..d9fc02501a79d6b717087484fa4be1706534876f 100644 (file)
@@ -44,12 +44,6 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #include "vblank.h"
 
-#ifdef _SOLO
-/* temporary - should really split r128_reg.h into r128_reg.h & r128_macros.h
- * like the radeon */
-#include "r128_macros.h"
-#endif
-
 #define R128_TIMEOUT        2048
 #define R128_IDLE_RETRY       32
 
@@ -221,6 +215,7 @@ static void delay( void ) {
 
 #define R128_MAX_OUTSTANDING   2
 
+
 /* Throttle the frame rate -- only allow one pending swap buffers
  * request at a time.
  * GH: We probably don't want a timeout here, as we can wait as
@@ -235,7 +230,8 @@ static int r128WaitForFrameCompletion( r128ContextPtr rmesa )
    int wait = 0;
 
    while ( 1 ) {
-      frame = INREG( R128_LAST_FRAME_REG );
+      frame = *(volatile unsigned int *)(R128MMIO + R128_LAST_FRAME_REG);
+
       if ( rmesa->sarea->last_frame - frame <= R128_MAX_OUTSTANDING ) {
         break;
       }
index f77c325db1922a30b659d258f19b0ae7adfbee05..5825e95ef260059965cb064652258cd71349efeb 100644 (file)
@@ -47,7 +47,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "vblank.h"
 
 #ifndef _SOLO
-#include "glxextensions.h"
+#include "GL/internal/dri_interface.h"
 #endif
 
 /* R128 configuration
@@ -345,7 +345,12 @@ r128InitDriver( __DRIscreenPrivate *sPriv )
  */
 void __driRegisterExtensions( void )
 {
-   PFNGLXENABLEEXTENSIONPROC glx_enable_extension;
+#if 0
+   /* KW: This is done slightly differently to the other drivers and
+      dri_interface.h doesn't seem to cope. 
+   */
+   PFNGLXENABLEEXTENSIONPROC
+   glx_enable_extension;
 
    if ( driCompareGLXAPIVersion( 20030317 ) >= 0 ) {
       glx_enable_extension = (PFNGLXENABLEEXTENSIONPROC)
@@ -357,6 +362,7 @@ void __driRegisterExtensions( void )
         glx_enable_extension( "GLX_MESA_swap_control", GL_FALSE );
       }
    }
+#endif
 }
 #endif
 
index 7a3b248c0c21bcca3916b7dd7aebef003dbc557a..137660b3712035a2169eb0dc128f7219ebbb68f7 100644 (file)
@@ -1,21 +1,10 @@
 # src/mesa/drivers/dri/r200/Makefile
-# Note, this Makefile requires GNU make
 
 TOP = ../../../../..
 include $(TOP)/configs/current
 
 LIBNAME = r200_dri.so
 
-DEFINES += \
-       -D_HAVE_SWRAST=1 \
-       -D_HAVE_SWTNL=1 \
-       -D_HAVE_SANITY=1 \
-       -D_HAVE_CODEGEN=1 \
-       -D_HAVE_LIGHTING=1 \
-       -D_HAVE_TEXGEN=1 \
-       -D_HAVE_USERCLIP=1 \
-       -DGLX_DIRECT_RENDERING
-
 MINIGLX_SOURCES = server/radeon_dri.c 
 
 COMMON_SOURCES = \
@@ -47,96 +36,25 @@ DRIVER_SOURCES = r200_context.c \
                 r200_vtxfmt_sse.c \
                 r200_vtxfmt_x86.c 
 
-C_SOURCES = $(COMMON_SOURCES) $(MINIGLX_SOURCES) $(DRIVER_SOURCES)
-
-
-# Include directories
-INCLUDE_DIRS = \
-       -I. \
-       -I../common \
-       -Iserver \
-       -I$(TOP)/src/glx/mini \
-       -I$(TOP)/include \
-       -I$(DRM_SOURCE_PATH)/shared \
-       -I$(TOP)/src/mesa \
-       -I$(TOP)/src/mesa/main \
-       -I$(TOP)/src/mesa/glapi \
-       -I$(TOP)/src/mesa/math \
-       -I$(TOP)/src/mesa/transform \
-       -I$(TOP)/src/mesa/swrast \
-       -I$(TOP)/src/mesa/swrast_setup
-
-
-# Core Mesa objects
-MESA_MODULES = $(TOP)/src/mesa/mesa.a
-
-
-# Libraries that the driver shared lib depends on
-LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -lexpat -ldl -lc
-
-
-ifeq ($(WINDOW_SYSTEM),dri)
-WINOBJ=$(MESABUILDDIR)/dri/dri.a
-WINLIB=
-else
-WINOBJ=
-WINLIB=-L$(MESA)/src/glx/mini
-endif
+C_SOURCES = $(COMMON_SOURCES) $(DRIVER_SOURCES)
 
 ASM_SOURCES = 
 
-OBJECTS = $(C_SOURCES:.c=.o) \
-         $(ASM_SOURCES:.S=.o) 
-
 SYMLINKS = \
-       server/radeon_common.h \
        server/radeon_dri.c \
        server/radeon_dri.h \
        server/radeon.h \
        server/radeon_macros.h \
-       server/radeon_reg.h \
-       server/radeon_sarea.h \
-
-
-
-##### RULES #####
-
-.c.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES)  $< -o $@
-
+       server/radeon_reg.h 
 
 ##### TARGETS #####
 
-default: depend $(SYMLINKS) $(LIB_DIR)/$(LIBNAME)
-
-$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
-       $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(LIB_DIR) \
-               $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) $(OBJECTS)
 
+include ../Makefile.template
 
 $(SYMLINKS):
        mkdir -p server
-       cd server
-       rm -f $@ && ln -s ../../radeon/$@ $@
-
-
-depend: $(C_SOURCES) $(ASM_SOURCES)
-       touch depend
-       $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDE_DIRS) $(C_SOURCES) $(ASM_SOURCES) \
-               >& /dev/null
-
-
-# Emacs tags
-tags:
-       etags `find . -name \*.[ch]` `find ../include`
-
-
-clean:
-       -rm -f *.o server/*.o
-       -rm -f $(SYMLINKS)
+       for i in $(SYMLINKS) ; do rm -f $$i && test -f ../radeon/$$i && ln -s ../../radeon/$$i $$i ; done
 
+symlinks: $(SYMLINKS)
 
-include depend
index fa37d2b2e2c3dc82b401fa1a29efaa729663811a..95c7c3236272e25185920eb2c4ceb0e13c71b9a5 100644 (file)
@@ -128,6 +128,7 @@ static const char * const card_extensions[] =
     "GL_ARB_texture_env_combine",
     "GL_ARB_texture_env_dot3",
     "GL_ARB_texture_mirrored_repeat",
+    "GL_ARB_vertex_buffer_object",
     "GL_EXT_blend_logic_op",
     "GL_EXT_blend_minmax",
     "GL_EXT_blend_subtract",
index d115ef20fca90313adcec5b554b98f80f182d702..c5c29dd587dc8adc379113b95ea0e70351a265c8 100644 (file)
@@ -51,7 +51,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "utils.h"
 #include "vblank.h"
 #ifndef _SOLO
-#include "glxextensions.h"
+#include "GL/internal/dri_interface.h"
 #endif
 
 /* R200 configuration
index 2037d591010d5c76653e7e900c34ae2d516481ec..e6f7c29d1ae33b4bbab388501f6623fd918dc249 100644 (file)
@@ -4,30 +4,7 @@
 TOP = ../../../../..
 include $(TOP)/configs/current
 
-ifeq ($(EMBEDDED),true)
-LIBNAME = radeon_es_dri.so
-DEFINES += \
-       -D_EMBEDDED \
-       -D_HAVE_SWRAST=0 \
-       -D_HAVE_SWTNL=0 \
-       -D_HAVE_SANITY=0 \
-       -D_HAVE_CODEGEN=0 \
-       -D_HAVE_LIGHTING=0 \
-       -D_HAVE_TEXGEN=0 \
-       -D_HAVE_USERCLIP=0 \
-       -DGLX_DIRECT_RENDERING
-else
 LIBNAME = radeon_dri.so
-DEFINES += \
-       -D_HAVE_SWRAST=1 \
-       -D_HAVE_SWTNL=1 \
-       -D_HAVE_SANITY=1 \
-       -D_HAVE_CODEGEN=1 \
-       -D_HAVE_LIGHTING=1 \
-       -D_HAVE_TEXGEN=1 \
-       -D_HAVE_USERCLIP=1 \
-       -DGLX_DIRECT_RENDERING
-endif
 
 MINIGLX_SOURCES = server/radeon_dri.c 
 
@@ -45,16 +22,7 @@ DRIVER_SOURCES = \
        radeon_lock.c \
        radeon_screen.c \
        radeon_state.c \
-       radeon_state_init.c
-
-SUBSET_DRIVER_SOURCES = \
-       radeon_subset_bitmap.c \
-       radeon_subset_readpix.c \
-       radeon_subset_select.c \
-       radeon_subset_tex.c \
-       radeon_subset_vtx.c 
-
-FULL_DRIVER_SOURCES = \
+       radeon_state_init.c \
        radeon_tex.c \
        radeon_texmem.c \
        radeon_texstate.c \
@@ -69,91 +37,14 @@ FULL_DRIVER_SOURCES = \
        radeon_vtxfmt_sse.c \
        radeon_vtxfmt_x86.c 
 
-ifeq ($(EMBEDDED),true)
-C_SOURCES = \
-       $(COMMON_SOURCES) \
-       $(MINIGLX_SOURCES) \
-       $(DRIVER_SOURCES) \
-       $(SUBSET_DRIVER_SOURCES)
-else
 C_SOURCES = \
        $(COMMON_SOURCES) \
-       $(MINIGLX_SOURCES) \
-       $(DRIVER_SOURCES) \
-       $(FULL_DRIVER_SOURCES)
-endif
-
-
-# Include directories
-INCLUDE_DIRS = \
-       -I. \
-       -I../common \
-       -Iserver \
-       -I$(TOP)/src/glx/mini \
-       -I$(TOP)/include \
-       -I$(DRM_SOURCE_PATH)/shared \
-       -I$(TOP)/src/mesa \
-       -I$(TOP)/src/mesa/main \
-       -I$(TOP)/src/mesa/glapi \
-       -I$(TOP)/src/mesa/math \
-       -I$(TOP)/src/mesa/transform \
-       -I$(TOP)/src/mesa/shader \
-       -I$(TOP)/src/mesa/swrast \
-       -I$(TOP)/src/mesa/swrast_setup
+       $(DRIVER_SOURCES) 
 
-# Core Mesa objects
-MESA_MODULES = $(TOP)/src/mesa/mesa.a
-
-# Libraries that the driver shared lib depends on
-LIB_DEPS = $(GL_LIB_DEPS)
-
-
-ifeq ($(WINDOW_SYSTEM),dri)
-WINOBJ=$(MESABUILDDIR)/dri/dri.a
-WINLIB=
-else
-WINOBJ=
-WINLIB=-L$(MESA)/src/glx/mini
-endif
 
 ASM_SOURCES = 
 
-OBJECTS = $(C_SOURCES:.c=.o) \
-         $(ASM_SOURCES:.S=.o) 
-
-
-##### RULES #####
-
-.c.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES)  $< -o $@
-
-
-##### TARGETS #####
-
-default: depend $(LIB_DIR)/$(LIBNAME)
-
-
-$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
-       $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(LIB_DIR) \
-               $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(OBJECTS) $(MESA_MODULES)
-
-
-depend: $(C_SOURCES) $(ASM_SOURCES)
-       touch depend
-       $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDE_DIRS) $(C_SOURCES) $(ASM_SOURCES) \
-               >& /dev/null
-
-
-# Emacs tags
-tags:
-       etags `find . -name \*.[ch]` `find ../include`
-
-
-clean:
-       -rm -f *.o server/*.o
 
+include ../Makefile.template
 
-include depend
+symlinks:
index 14ea13648c9187ef281d20964a02cbed199c0069..f080d47446294bbc81574609118faf31584615fb 100644 (file)
@@ -49,7 +49,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "vblank.h"
 
 #ifndef _SOLO
-#include "glxextensions.h"
+#include "GL/internal/dri_interface.h"
 #endif
 
 /* Radeon configuration
index 5c80281777f5a74788e8ed5ebe3a30e782a76459..d501fa1f2388c18e12ee2f8fb87cdb10d2f3b67d 100644 (file)
@@ -43,7 +43,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  * IMPORTS: these headers contain all the DRI, X and kernel-related
  * definitions that we need.
  */
-#include "dri_util.h"
+/* #include "dri_util.h" */
 #include "radeon_dri.h"
 #include "radeon_reg.h"
 #include "drm_sarea.h"
index 0ecc6e56e05051acad7d5d4cb968f0a7623c1638..0c1c5081c747b5ad089f528519fb44df881296e0 100644 (file)
@@ -5,15 +5,6 @@ include $(TOP)/configs/current
 
 LIBNAME = sis_dri.so
 
-DEFINES += \
-       -D_HAVE_SWRAST=1 \
-       -D_HAVE_SWTNL=1 \
-       -D_HAVE_SANITY=1 \
-       -D_HAVE_CODEGEN=1 \
-       -D_HAVE_LIGHTING=1 \
-       -D_HAVE_TEXGEN=1 \
-       -D_HAVE_USERCLIP=1 \
-       -DGLX_DIRECT_RENDERING
 
 # Not yet
 # MINIGLX_SOURCES = server/sis_dri.c 
@@ -44,79 +35,10 @@ DRIVER_SOURCES = \
 
 C_SOURCES = \
        $(COMMON_SOURCES) \
-       $(MINIGLX_SOURCES) \
        $(DRIVER_SOURCES)
 
-# Include directories
-INCLUDE_DIRS = \
-       -I. \
-       -I../common \
-       -Iserver \
-       -I$(TOP)/src/glx/mini \
-       -I$(TOP)/include \
-       -I$(DRM_SOURCE_PATH)/shared \
-       -I$(TOP)/src/mesa \
-       -I$(TOP)/src/mesa/main \
-       -I$(TOP)/src/mesa/glapi \
-       -I$(TOP)/src/mesa/math \
-       -I$(TOP)/src/mesa/transform \
-       -I$(TOP)/src/mesa/shader \
-       -I$(TOP)/src/mesa/swrast \
-       -I$(TOP)/src/mesa/swrast_setup
-
-# Core Mesa objects
-MESA_MODULES = $(TOP)/src/mesa/mesa.a
-
-# Libraries that the driver shared lib depends on
-LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -lexpat -ldl -lc
-
-
-ifeq ($(WINDOW_SYSTEM),dri)
-WINOBJ=$(MESABUILDDIR)/dri/dri.a
-WINLIB=
-else
-WINOBJ=
-WINLIB=-L$(MESA)/src/glx/mini
-endif
-
 ASM_SOURCES = 
 
-OBJECTS = $(C_SOURCES:.c=.o) \
-         $(ASM_SOURCES:.S=.o) 
-
-
-##### RULES #####
-
-.c.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES)  $< -o $@
-
-
-##### TARGETS #####
-
-default: depend $(LIB_DIR)/$(LIBNAME)
-
-
-$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
-       $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(LIB_DIR) \
-               $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) $(OBJECTS)
-
-
-depend: $(C_SOURCES) $(ASM_SOURCES)
-       touch depend
-       $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDE_DIRS) $(C_SOURCES) $(ASM_SOURCES) \
-               >& /dev/null
-
-
-# Emacs tags
-tags:
-       etags `find . -name \*.[ch]` `find ../include`
-
-
-clean:
-       -rm -f *.o server/*.o
-
+include ../Makefile.template
 
-include depend
+symlinks:
index ddbbc416bc548874c42f69c3f441912ab7bbc069..6517285e4baab11efeacd9f65c10f9a0c0aa2d08 100644 (file)
@@ -5,16 +5,6 @@ include $(TOP)/configs/current
 
 LIBNAME = tdfx_dri.so
 
-DEFINES += \
-       -D_HAVE_SWRAST=1 \
-       -D_HAVE_SWTNL=1 \
-       -D_HAVE_SANITY=1 \
-       -D_HAVE_CODEGEN=1 \
-       -D_HAVE_LIGHTING=1 \
-       -D_HAVE_TEXGEN=1 \
-       -D_HAVE_USERCLIP=1 \
-       -DGLX_DIRECT_RENDERING
-
 # not yet
 # MINIGLX_SOURCES = server/tdfx_dri.c 
 
@@ -43,79 +33,13 @@ DRIVER_SOURCES = \
 
 C_SOURCES = \
        $(COMMON_SOURCES) \
-       $(MINIGLX_SOURCES) \
        $(DRIVER_SOURCES)
 
-# Include directories
-INCLUDE_DIRS = \
-       -I. \
-       -I../common \
-       -Iserver \
-       -I$(TOP)/src/glx/mini \
-       -I$(TOP)/include \
-       -I$(DRM_SOURCE_PATH)/shared \
-       -I$(TOP)/src/mesa \
-       -I$(TOP)/src/mesa/main \
-       -I$(TOP)/src/mesa/glapi \
-       -I$(TOP)/src/mesa/math \
-       -I$(TOP)/src/mesa/transform \
-       -I$(TOP)/src/mesa/shader \
-       -I$(TOP)/src/mesa/swrast \
-       -I$(TOP)/src/mesa/swrast_setup
-
-# Core Mesa objects
-MESA_MODULES = $(TOP)/src/mesa/mesa.a
-
-# Libraries that the driver shared lib depends on
-LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -lexpat -ldl -lc
-
-
-ifeq ($(WINDOW_SYSTEM),dri)
-WINOBJ=$(MESABUILDDIR)/dri/dri.a
-WINLIB=
-else
-WINOBJ=
-WINLIB=-L$(MESA)/src/glx/mini
-endif
 
 ASM_SOURCES = 
 
-OBJECTS = $(C_SOURCES:.c=.o) \
-         $(ASM_SOURCES:.S=.o) 
-
-
-##### RULES #####
-
-.c.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES)  $< -o $@
-
-
-##### TARGETS #####
-
-default: depend $(LIB_DIR)/$(LIBNAME)
-
-
-$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
-       $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(LIB_DIR) \
-               $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) $(OBJECTS)
-
-
-depend: $(C_SOURCES) $(ASM_SOURCES)
-       touch depend
-       $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDE_DIRS) $(C_SOURCES) $(ASM_SOURCES) \
-               >& /dev/null
-
-
-# Emacs tags
-tags:
-       etags `find . -name \*.[ch]` `find ../include`
-
+include ../Makefile.template
 
-clean:
-       -rm -f *.o server/*.o
+symlinks:
 
 
-include depend
index 1af4f23af1edad7f33985d95e17970cd4d672c04..5cef902860d746429967e232d779c745cb453194 100644 (file)
@@ -5,16 +5,6 @@ include $(TOP)/configs/current
 
 LIBNAME = unichrome_dri.so
 
-DEFINES += \
-       -D_HAVE_SWRAST=1 \
-       -D_HAVE_SWTNL=1 \
-       -D_HAVE_SANITY=1 \
-       -D_HAVE_CODEGEN=1 \
-       -D_HAVE_LIGHTING=1 \
-       -D_HAVE_TEXGEN=1 \
-       -D_HAVE_USERCLIP=1 \
-       -DGLX_DIRECT_RENDERING
-
 MINIGLX_SOURCES = server/via_dri.c 
 
 COMMON_SOURCES = \
@@ -42,79 +32,11 @@ DRIVER_SOURCES = \
 
 C_SOURCES = \
        $(COMMON_SOURCES) \
-       $(MINIGLX_SOURCES) \
        $(DRIVER_SOURCES)
 
-# Include directories
-INCLUDE_DIRS = \
-       -I. \
-       -I../common \
-       -Iserver \
-       -I$(TOP)/src/glx/mini \
-       -I$(TOP)/include \
-       -I$(DRM_SOURCE_PATH)\shared \
-       -I$(TOP)/src/mesa \
-       -I$(TOP)/src/mesa/main \
-       -I$(TOP)/src/mesa/glapi \
-       -I$(TOP)/src/mesa/math \
-       -I$(TOP)/src/mesa/transform \
-       -I$(TOP)/src/mesa/shader \
-       -I$(TOP)/src/mesa/swrast \
-       -I$(TOP)/src/mesa/swrast_setup
-
-# Core Mesa objects
-MESA_MODULES = $(TOP)/src/mesa/mesa.a
-
-# Libraries that the driver shared lib depends on
-LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -lexpat -ldl -lc
-
-
-ifeq ($(WINDOW_SYSTEM),dri)
-WINOBJ=$(MESABUILDDIR)/dri/dri.a
-WINLIB=
-else
-WINOBJ=
-WINLIB=-L$(MESA)/src/glx/mini
-endif
-
 ASM_SOURCES = 
 
-OBJECTS = $(C_SOURCES:.c=.o) \
-         $(ASM_SOURCES:.S=.o) 
-
-
-##### RULES #####
-
-.c.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES) $< -o $@
-
-.S.o:
-       $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(DEFINES)  $< -o $@
-
-
-##### TARGETS #####
-
-default: depend $(LIB_DIR)/$(LIBNAME)
-
-
-$(LIB_DIR)/$(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(WINOBJ) Makefile
-       $(TOP)/bin/mklib -o $(LIBNAME) -noprefix -install $(LIB_DIR) \
-               $(WINLIB) $(LIB_DEPS) $(WINOBJ) $(MESA_MODULES) $(OBJECTS)
-
-
-depend: $(C_SOURCES) $(ASM_SOURCES)
-       touch depend
-       $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDE_DIRS) $(C_SOURCES) $(ASM_SOURCES) \
-               >& /dev/null
-
-
-# Emacs tags
-tags:
-       etags `find . -name \*.[ch]` `find ../include`
-
-
-clean:
-       -rm -f *.o server/*.o
 
+include ../Makefile.template
 
-include depend
+symlinks:
index 80b573e0e51c89bbfcda87f20d8146c39e3c7cac..9986bede6f59cdd22b2d47ad641bfc0c5b71b915 100644 (file)
@@ -454,7 +454,7 @@ viaCreateContext(const __GLcontextModes *mesaVis,
     _tnl_allow_vertex_fog(ctx, GL_TRUE);
 
 #ifndef _SOLO
-    vmesa->display = dpy;
+/*     vmesa->display = dpy; */
     vmesa->display = sPriv->display;
 #endif
     
@@ -545,7 +545,7 @@ viaCreateContext(const __GLcontextModes *mesaVis,
     {
        GLboolean saam;
        int count = 0, fbSize;
-#ifdef _SOLO
+#ifndef USE_XINERAMA
         vmesa->saam = 0;
 #else
        saam = XineramaIsActive(vmesa->display);
@@ -706,7 +706,7 @@ void viaXMesaWindowMoved(viaContextPtr vmesa)
         break;
     }
 
-#ifdef _SOLO
+#ifndef USE_XINERAMA
     vmesa->viaScreen->fbOffset = 0;
     vmesa->saam &= ~S1;
     vmesa->saam |= S0;
index 14123605914e7b22cf41becf18d1964940c5a5da..25d9325288f1f5f94439886395991df98e079798 100644 (file)
@@ -44,7 +44,7 @@ typedef struct via_texture_object_t *viaTextureObjectPtr;
 #include "via_tex.h"
 #include "via_common.h"
 #include "xf86drmVIA.h"
-#ifndef _SOLO
+#ifdef USE_XINERAMA
 #include "../../../../../include/extensions/Xinerama.h"
 #endif
 #define VIA_FALLBACK_TEXTURE                   0x1
@@ -264,7 +264,7 @@ struct via_context_t {
     int drawW;                  
     int drawH;
     GLuint saam;
-#ifndef _SOLO
+#ifdef USE_XINERAMA
     XineramaScreenInfo *xsi;
 #endif
     int drawXoffSaam;
index aef0ac4ba0fd00c04c399fad525ea152031329ff..9c17cf6b1d85c272a1d4bbe876c3fc40100bbd12 100644 (file)
@@ -29,7 +29,7 @@ typedef struct {
     int priv2;
     int fbOffset;
     int fbSize;
-#ifndef _SOLO
+#ifdef USE_XINERAMA
     Bool drixinerama;
 #endif
     int backOffset;
index e0f64cf94d69b62880aae0f8ce6617cf10cf08ee..dd65b30f896b1b994f7108328e25cba0fa7966f6 100644 (file)
@@ -88,7 +88,7 @@ viaInitDriver(__DRIscreenPrivate *sPriv)
     viaScreen->bytesPerPixel = gDRIPriv->bytesPerPixel;
     viaScreen->fbOffset = 0;
     viaScreen->fbSize = gDRIPriv->fbSize;
-#ifndef _SOLO
+#ifdef USE_XINERAMA
     viaScreen->drixinerama = gDRIPriv->drixinerama;
 #endif
     /*=* John Sheng [2003.12.9] Tuxracer & VQ *=*/
index f8d2b9c57a66cbb9697ea48e0503631998e6103b..e34636df7e408c2c3d7c33a1292c2b84a83bd0b4 100644 (file)
@@ -43,7 +43,7 @@ typedef struct {
     int fbFormat;
     int fbOffset;
     int fbSize;
-#ifndef _SOLO
+#ifdef USE_XINERAMA
     Bool drixinerama;
 #endif