blob: c483e205dd156caa5fee6c6db85a4dca88a3f052 [file] [log] [blame]
/* $XFree86: xc/lib/GL/mesa/src/drv/ffb/ffb_pointtmp.h,v 1.3 2002/02/22 21:32:59 dawes Exp $ */
static INLINE void TAG(ffb_draw_point)(GLcontext *ctx, ffb_vertex *tmp )
{
ffbContextPtr fmesa = FFB_CONTEXT(ctx);
ffb_fbcPtr ffb = fmesa->regs;
FFB_DELAYED_VIEWPORT_VARS;
#ifdef FFB_POINT_TRACE
fprintf(stderr, "FFB: ffb_point ["
#if (IND & FFB_POINT_AA_BIT)
"AA"
#endif
"] X(%f) Y(%f) Z(%f)\n",
tmp->x, tmp->y, tmp->z);
#endif
#if (IND & FFB_POINT_AA_BIT)
FFBFifo(fmesa, 4);
ffb->fg = FFB_PACK_CONST_UBYTE_ARGB_COLOR( tmp->color[0] );
ffb->z = FFB_GET_Z(tmp);
ffb->y = FFB_GET_Y(tmp) + 0x8000 /* FIX ME */;
ffb->x = FFB_GET_X(tmp) + 0x8000 /* FIX ME */;
#else
{
unsigned int const_fg, const_z, h, w;
const_fg = FFB_PACK_CONST_UBYTE_ARGB_COLOR( tmp->color[0] );
const_z = Z_FROM_MESA(FFB_Z_TO_FLOAT(FFB_GET_Z(tmp)));
h = FFB_GET_Y(tmp) >> 16;
w = FFB_GET_X(tmp) >> 16;
#ifdef FFB_POINT_TRACE
fprintf(stderr, "FFB: ffb_point fg(%08x) z(%08x) h(%08x) w(%08x)\n",
const_fg, const_z, h, w);
#endif
FFBFifo(fmesa, 4);
ffb->fg = const_fg;
ffb->constz = const_z;
ffb->bh = h;
ffb->bw = w;
}
#endif
fmesa->ffbScreen->rp_active = 1;
}
static void TAG(init)(void)
{
ffb_point_tab[IND] = TAG(ffb_draw_point);
}
#undef IND
#undef TAG