diff options
author | Rune Petersen <rune@megahurts.dk> | 2006-07-15 10:44:25 +0000 |
---|---|---|
committer | Rune Petersen <rune@megahurts.dk> | 2006-07-15 10:44:25 +0000 |
commit | 416ac254c262d307608c14509725d1574205deff (patch) | |
tree | 021ac5030a9c58033e786d0d4452a01f5febd5c7 | |
parent | f4e46e1a463be580d14d1b14fe1b9c85d4572e61 (diff) |
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?).
-rw-r--r-- | src/mesa/drivers/dri/r300/r300_fragprog.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_fragprog.c b/src/mesa/drivers/dri/r300/r300_fragprog.c index e045f0c6a1..61efdec6a8 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, |