| /* $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 |