diff options
Diffstat (limited to 'src/mesa/drivers/glide/fxvb.c')
-rw-r--r-- | src/mesa/drivers/glide/fxvb.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/mesa/drivers/glide/fxvb.c b/src/mesa/drivers/glide/fxvb.c index 13bc1b3ecd8..27cb164a3c3 100644 --- a/src/mesa/drivers/glide/fxvb.c +++ b/src/mesa/drivers/glide/fxvb.c @@ -55,7 +55,14 @@ static void copy_pv( GLcontext *ctx, GLuint edst, GLuint esrc ) GrVertex *dst = fxMesa->verts + edst; GrVertex *src = fxMesa->verts + esrc; +#if FX_PACKEDCOLOR *(GLuint *)&dst->pargb = *(GLuint *)&src->pargb; +#else /* !FX_PACKEDCOLOR */ + *(GLuint *)&dst->r = *(GLuint *)&src->r; + *(GLuint *)&dst->g = *(GLuint *)&src->g; + *(GLuint *)&dst->b = *(GLuint *)&src->b; + *(GLuint *)&dst->a = *(GLuint *)&src->a; +#endif /* !FX_PACKEDCOLOR */ } static void copy_pv2( GLcontext *ctx, GLuint edst, GLuint esrc ) @@ -64,8 +71,18 @@ static void copy_pv2( GLcontext *ctx, GLuint edst, GLuint esrc ) GrVertex *dst = fxMesa->verts + edst; GrVertex *src = fxMesa->verts + esrc; +#if FX_PACKEDCOLOR *(GLuint *)&dst->pargb = *(GLuint *)&src->pargb; *(GLuint *)&dst->pspec = *(GLuint *)&src->pspec; +#else /* !FX_PACKEDCOLOR */ + *(GLuint *)&dst->r = *(GLuint *)&src->r; + *(GLuint *)&dst->g = *(GLuint *)&src->g; + *(GLuint *)&dst->b = *(GLuint *)&src->b; + *(GLuint *)&dst->a = *(GLuint *)&src->a; + *(GLuint *)&dst->r1 = *(GLuint *)&src->r1; + *(GLuint *)&dst->g1 = *(GLuint *)&src->g1; + *(GLuint *)&dst->b1 = *(GLuint *)&src->b1; +#endif /* !FX_PACKEDCOLOR */ } static struct { |