#ifndef _I810_DRI_
#define _I810_DRI_
#include "xf86drm.h"
#include "i810_common.h"
#define I810_MAX_DRAWABLES 256
typedef struct {
drmHandle regs;
drmSize regsSize;
drmAddress regsMap;
drmSize backbufferSize;
drmHandle backbuffer;
drmSize depthbufferSize;
drmHandle depthbuffer;
drmHandle textures;
int textureSize;
drmHandle agp_buffers;
drmSize agp_buf_size;
int deviceID;
int width;
int height;
int mem;
int cpp;
int bitsPerPixel;
int fbOffset;
int fbStride;
int backOffset;
int depthOffset;
int auxPitch;
int auxPitchBits;
int logTextureGranularity;
int textureOffset;
int ringOffset;
int ringSize;
drmBufMapPtr drmBufs;
int irq;
unsigned int sarea_priv_offset;
} I810DRIRec, *I810DRIPtr;
#define I810_UPLOAD_TEX0IMAGE 0x1
#define I810_UPLOAD_TEX1IMAGE 0x2
#define I810_UPLOAD_CTX 0x4
#define I810_UPLOAD_BUFFERS 0x8
#define I810_UPLOAD_TEX0 0x10
#define I810_UPLOAD_TEX1 0x20
#define I810_UPLOAD_CLIPRECTS 0x40
typedef struct {
unsigned char next, prev;
unsigned char in_use;
int age;
} I810TexRegionRec, *I810TexRegionPtr;
typedef struct {
unsigned int ContextState[I810_CTX_SETUP_SIZE];
unsigned int BufferState[I810_DEST_SETUP_SIZE];
unsigned int TexState[2][I810_TEX_SETUP_SIZE];
unsigned int dirty;
unsigned int nbox;
XF86DRIClipRectRec boxes[I810_NR_SAREA_CLIPRECTS];
drmTextureRegion texList[I810_NR_TEX_REGIONS + 1];
int texAge;
int last_enqueue;
int last_dispatch;
int last_quiescent;
int ctxOwner;
int vertex_prim;
int pf_enabled;
int pf_active;
int pf_current_page;
} I810SAREARec, *I810SAREAPtr;
typedef struct {
int dummy;
} I810ConfigPrivRec, *I810ConfigPrivPtr;
typedef struct {
int dummy;
} I810DRIContextRec, *I810DRIContextPtr;
#endif