-/* $Id: xm_line.c,v 1.12 2000/11/22 07:32:18 joukj Exp $ */
+/* $Id: xm_line.c,v 1.13 2000/12/13 16:24:40 brianp Exp $ */
/*
* Mesa 3-D graphics library
/*
* Render an array of points into a pixmap, any pixel format.
*/
+#if 000
+/* XXX don't use this, it doesn't dither correctly */
static void draw_points_ANY_pixmap( GLcontext *ctx, const SWvertex *vert )
{
XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
XMesaDrawPoint( dpy, buffer, gc, x, y);
}
}
-
+#endif
/* Override the swrast point-selection function. Try to use one of
*/
void xmesa_choose_point( GLcontext *ctx )
{
+#if 0
XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
SWcontext *swrast = SWRAST_CONTEXT(ctx);
else {
_swrast_choose_point( ctx );
}
+#else
+ _swrast_choose_point( ctx );
+#endif
}
-/* $Id: xm_tri.c,v 1.13 2000/11/24 10:25:09 keithw Exp $ */
+/* $Id: xm_tri.c,v 1.14 2000/12/13 16:24:39 brianp Exp $ */
/*
* Mesa 3-D graphics library
#define INNER_LOOP( LEFT, RIGHT, Y ) \
{ \
GLint i, len = RIGHT-LEFT; \
+ GLint yy = FLIP(xmesa->xm_buffer, Y); \
(void) fffog; \
for (i=0;i<len;i++) { \
GLdepth z = FixedToDepth(ffz); \
if (z < zRow[i]) { \
- PACK_TRUEDITHER(pRow[i], LEFT+i, Y, FixedToInt(ffr), \
+ PACK_TRUEDITHER(pRow[i], LEFT+i, yy, FixedToInt(ffr), \
FixedToInt(ffg), FixedToInt(ffb) ); \
zRow[i] = z; \
} \
#define INNER_LOOP( LEFT, RIGHT, Y ) \
{ \
GLint i, len = RIGHT-LEFT; \
- (void) fffog; \
+ GLint yy = FLIP(xmesa->xm_buffer, Y); \
+ (void) fffog; \
for (i=0;i<len;i++) { \
DEPTH_TYPE z = FixedToDepth(ffz); \
if (z < zRow[i]) { \
- PACK_TRUEDITHER(pRow[i], LEFT+i, Y, color[RCOMP], \
+ PACK_TRUEDITHER(pRow[i], LEFT+i, yy, color[RCOMP], \
color[GCOMP], color[BCOMP]); \
zRow[i] = z; \
} \
#define SETUP_CODE \
FLAT_DITHER_SETUP( v0->color[0], v0->color[1], v0->color[2] );
-#define INNER_LOOP( LEFT, RIGHT, Y ) \
-{ \
- GLint i, xx = LEFT, len = RIGHT-LEFT; \
- FLAT_DITHER_ROW_SETUP(FLIP(xmesa->xm_buffer, Y)); \
- (void) fffog; \
- for (i=0;i<len;i++,xx++) { \
- GLdepth z = FixedToDepth(ffz); \
- if (z < zRow[i]) { \
- pRow[i] = (PIXEL_TYPE) FLAT_DITHER(xx); \
- zRow[i] = z; \
- } \
- ffz += fdzdx; \
- } \
+#define INNER_LOOP( LEFT, RIGHT, Y ) \
+{ \
+ GLint i, xx = LEFT, yy = FLIP(xmesa->xm_buffer,Y), len = RIGHT-LEFT; \
+ FLAT_DITHER_ROW_SETUP(FLIP(xmesa->xm_buffer, yy)); \
+ (void) fffog; \
+ for (i=0;i<len;i++,xx++) { \
+ GLdepth z = FixedToDepth(ffz); \
+ if (z < zRow[i]) { \
+ pRow[i] = (PIXEL_TYPE) FLAT_DITHER(xx); \
+ zRow[i] = z; \
+ } \
+ ffz += fdzdx; \
+ } \
}
#include "swrast/s_tritemp.h"
}
#define BYTES_PER_ROW (xmesa->xm_buffer->backimage->bytes_per_line)
#define INNER_LOOP( LEFT, RIGHT, Y ) \
{ \
- GLint xx; \
+ GLint xx, yy = FLIP(xmesa->xm_buffer, Y); \
PIXEL_TYPE *pixel = pRow; \
for (xx=LEFT;xx<RIGHT;xx++,pixel++) { \
- PACK_TRUEDITHER(*pixel, xx, Y, FixedToInt(ffr), \
+ PACK_TRUEDITHER(*pixel, xx, yy, FixedToInt(ffr), \
FixedToInt(ffg), FixedToInt(ffb) ); \
ffr += fdrdx; ffg += fdgdx; ffb += fdbdx; \
} \
#define BYTES_PER_ROW (xmesa->xm_buffer->backimage->bytes_per_line)
#define INNER_LOOP( LEFT, RIGHT, Y ) \
{ \
- GLint xx; \
+ GLint xx, yy = FLIP(xmesa->xm_buffer, Y); \
PIXEL_TYPE *pixel = pRow; \
for (xx=LEFT;xx<RIGHT;xx++,pixel++) { \
- PACK_TRUEDITHER(*pixel, xx, Y, color[RCOMP], \
+ PACK_TRUEDITHER(*pixel, xx, yy, color[RCOMP], \
color[GCOMP], color[BCOMP]); \
} \
}