From: Rune Petersen Date: Sat, 15 Jul 2006 10:44:25 +0000 (+0000) Subject: A small logic error. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=416ac254c262d307608c14509725d1574205deff;p=mesa.git A small logic error. We need to call do_swizzle() when the scaler _or_ vector unit have a swizzle other 000/ZERO/111/ONE. This ensures that the gloss on banners in ut2004 is not angel-dependent (since when was banners glossy?). --- diff --git a/src/mesa/drivers/dri/r300/r300_fragprog.c b/src/mesa/drivers/dri/r300/r300_fragprog.c index e045f0c6a1e..61efdec6a8d 100644 --- a/src/mesa/drivers/dri/r300/r300_fragprog.c +++ b/src/mesa/drivers/dri/r300/r300_fragprog.c @@ -529,7 +529,7 @@ static pfs_reg_t t_src(struct r300_fragment_program *rp, } /* no point swizzling ONE/ZERO/HALF constants... */ - if (r.v_swz < SWIZZLE_111 && r.s_swz < SWIZZLE_ZERO) + if (r.v_swz < SWIZZLE_111 || r.s_swz < SWIZZLE_ZERO) r = do_swizzle(rp, r, fpsrc.Swizzle, fpsrc.NegateBase); #if 0 /* WRONG! Need to be able to do individual component negation,