1 /* $XFree86: xc/lib/GL/mesa/src/drv/i810/i810ioctl.h,v 1.7 2002/10/30 12:51:33 alanh Exp $ */
6 #include "i810context.h"
8 void i810EmitPrim( i810ContextPtr imesa
);
9 void i810FlushPrims( i810ContextPtr mmesa
);
10 void i810FlushPrimsLocked( i810ContextPtr mmesa
);
11 void i810FlushPrimsGetBuffer( i810ContextPtr imesa
);
13 void i810WaitAgeLocked( i810ContextPtr imesa
, int age
);
14 void i810WaitAge( i810ContextPtr imesa
, int age
);
15 void i810DmaFinish( i810ContextPtr imesa
);
16 void i810RegetLockQuiescent( i810ContextPtr imesa
);
17 void i810InitIoctlFuncs( struct dd_function_table
*functions
);
18 void i810CopyBuffer( const __DRIdrawablePrivate
*dpriv
);
19 void i810PageFlip( const __DRIdrawablePrivate
*dpriv
);
20 int i810_check_copy(int fd
);
22 #define I810_STATECHANGE(imesa, flag) \
24 if (imesa->vertex_low != imesa->vertex_last_prim) \
25 i810FlushPrims(imesa); \
26 imesa->dirty |= flag; \
30 #define I810_FIREVERTICES(imesa) \
32 if (imesa->vertex_buffer) { \
33 i810FlushPrims(imesa); \
37 static __inline GLuint
*i810AllocDmaLow( i810ContextPtr imesa
, int bytes
)
39 if (imesa
->vertex_low
+ bytes
> imesa
->vertex_high
)
40 i810FlushPrimsGetBuffer( imesa
);
43 GLuint
*start
= (GLuint
*)(imesa
->vertex_addr
+ imesa
->vertex_low
);
44 imesa
->vertex_low
+= bytes
;