All elements of pre-DRI_NEW_INTERFACE_ONLY are removed. This allows
[mesa.git] / src / mesa / drivers / dri / mga / mga_xmesa.h
index d372abe0120c19689a35c0c70b9efa69263b5df3..0ab0c63f781b373a5566308b8cb43e2174fff31d 100644 (file)
 #ifndef _MGA_INIT_H_
 #define _MGA_INIT_H_
 
-#ifdef GLX_DIRECT_RENDERING
-
 #include <sys/time.h>
 #include "dri_util.h"
+#include "mga_drm.h"
 #include "mtypes.h"
 #include "mgaregs.h"
-#include "mga_common.h"
 #include "xmlconfig.h"
 
 typedef struct mga_screen_private_s {
-
+   /**
+    * Chipset "family" of this card.  Currently only \c MGA_CARD_TYPE_G200 and
+    * \c MGA_CARD_TYPE_G400 are possible.
+    */
    int chipset;
-   int width;
-   int height;
-   int mem;
 
-   int cpp;                    /* for front and back buffers */
-   GLint agpMode;
-   unsigned int irq;           /* IRQ number (0 means none) */
-   GLboolean  linecomp_sane;    /* GL_TRUE if line comp. programmed correctly
-                                * by the DDX driver.
-                                */
 
-   unsigned int mAccess;
+   /**
+    * Characters (bytes) per-pixel for both the front and back buffers.
+    * 
+    * \note
+    * This is also implicitly the bytes per-pixel for the depth-buffer.
+    */
+   int cpp;
+
+   GLint agpMode;
+   unsigned int irq;           /**< IRQ number (0 means none) */
 
    unsigned int frontOffset;
    unsigned int frontPitch;
@@ -61,30 +62,35 @@ typedef struct mga_screen_private_s {
 
    unsigned int depthOffset;
    unsigned int depthPitch;
-   int depthCpp;
-
-   unsigned int dmaOffset;
 
-   unsigned int textureOffset[DRM_MGA_NR_TEX_HEAPS];
-   unsigned int textureSize[DRM_MGA_NR_TEX_HEAPS];
-   int logTextureGranularity[DRM_MGA_NR_TEX_HEAPS];
-   char *texVirtual[DRM_MGA_NR_TEX_HEAPS];
+   unsigned int textureOffset[MGA_NR_TEX_HEAPS];
+   unsigned int textureSize[MGA_NR_TEX_HEAPS];
+   char *texVirtual[MGA_NR_TEX_HEAPS];
 
 
    __DRIscreenPrivate *sPriv;
    drmBufMapPtr  bufs;
 
    drmRegion mmio;
-   drmRegion status;
    drmRegion primary;
-   drmRegion buffers;
    unsigned int sarea_priv_offset;
 
-   /* Configuration cache with default values for all contexts */
+   /** Configuration cache with default values for all contexts */
    driOptionCache optionCache;
 } mgaScreenPrivate;
 
 
+/**
+ * mgaRenderbuffer, derived from Mesa's gl_renderbuffer
+ */
+typedef struct {
+   struct gl_renderbuffer Base;
+   /* XXX per-window info should go here */
+   int foo, bar;
+} mgaRenderbuffer;
+
+
+
 #include "mgacontext.h"
 
 extern void mgaGetLock( mgaContextPtr mmesa, GLuint flags );
@@ -92,7 +98,6 @@ extern void mgaEmitHwStateLocked( mgaContextPtr mmesa );
 extern void mgaEmitScissorValues( mgaContextPtr mmesa, int box_nr, int emit );
 
 #define GET_DISPATCH_AGE( mmesa ) mmesa->sarea->last_dispatch
-#define GET_ENQUEUE_AGE( mmesa ) mmesa->sarea->last_enqueue
 
 
 
@@ -144,9 +149,7 @@ do {                                                \
 #define MGA_BASE( reg )                ((unsigned long)(mmesa->mgaScreen->mmio.map))
 #define MGA_ADDR( reg )                (MGA_BASE(reg) + reg)
 
-#define MGA_DEREF( reg )       *(volatile CARD32 *)MGA_ADDR( reg )
+#define MGA_DEREF( reg )       *(volatile u_int32_t *)MGA_ADDR( reg )
 #define MGA_READ( reg )                MGA_DEREF( reg )
-#define MGA_WRITE( reg, val )  do { MGA_DEREF( reg ) = val; } while (0)
 
 #endif
-#endif