* Authors:
* Keith Whitwell <keith@tungstengraphics.com>
*/
-/* $XFree86: xc/lib/GL/mesa/src/drv/mga/mga_xmesa.h,v 1.12 2002/12/16 16:18:52 dawes Exp $ */
#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 "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;
unsigned int depthOffset;
unsigned int depthPitch;
- int depthCpp;
-
- unsigned int dmaOffset;
unsigned int textureOffset[MGA_NR_TEX_HEAPS];
unsigned int textureSize[MGA_NR_TEX_HEAPS];
- int logTextureGranularity[MGA_NR_TEX_HEAPS];
char *texVirtual[MGA_NR_TEX_HEAPS];
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 );
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
#define MGA_BASE( reg ) ((unsigned long)(mmesa->mgaScreen->mmio.map))
#define MGA_ADDR( reg ) (MGA_BASE(reg) + reg)
-#define MGA_DEREF( reg ) *(volatile int32_t *)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