diff options
author | Ian Romanick <idr@us.ibm.com> | 2007-01-04 18:37:10 -0800 |
---|---|---|
committer | Ian Romanick <idr@us.ibm.com> | 2007-01-04 18:37:10 -0800 |
commit | 16f0efca605600bdac83898f1505af99c4c71048 (patch) | |
tree | f2c7e42f8f56fac25eb79e5fb434b99d9c5eaa59 /src/mesa | |
parent | 5ca107a4f215b84176123fd7a2d5fe14508a9f62 (diff) | |
parent | 1d312ae0137eb39bf74fac91eb97ed25c289a4ca (diff) |
Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/mesa/mesa
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/r300/r300_fragprog.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_fragprog.c b/src/mesa/drivers/dri/r300/r300_fragprog.c index f00162a6dc..179bc58e9e 100644 --- a/src/mesa/drivers/dri/r300/r300_fragprog.c +++ b/src/mesa/drivers/dri/r300/r300_fragprog.c @@ -257,7 +257,7 @@ static const GLuint undef = REG(REG_TYPE_TEMP, GL_FALSE); /* constant one source */ -static const GLuint pfs_one = REG(REG_TYPE_TEMP, +static const GLuint pfs_one = REG(REG_TYPE_CONST, 0, SWIZZLE_111, SWIZZLE_ONE, @@ -265,7 +265,7 @@ static const GLuint pfs_one = REG(REG_TYPE_TEMP, GL_TRUE); /* constant half source */ -static const GLuint pfs_half = REG(REG_TYPE_TEMP, +static const GLuint pfs_half = REG(REG_TYPE_CONST, 0, SWIZZLE_HHH, SWIZZLE_HALF, @@ -273,7 +273,7 @@ static const GLuint pfs_half = REG(REG_TYPE_TEMP, GL_TRUE); /* constant zero source */ -static const GLuint pfs_zero = REG(REG_TYPE_TEMP, +static const GLuint pfs_zero = REG(REG_TYPE_CONST, 0, SWIZZLE_000, SWIZZLE_ZERO, @@ -463,7 +463,8 @@ static int swz_native(struct r300_fragment_program *rp, GLuint arbneg) { /* Native swizzle, handle negation */ - src |= ((arbneg >> 3) & 1) << REG_NEGS_SHIFT; + src = (src & ~REG_NEGS_SHIFT) | + (((arbneg >> 3) & 1) << REG_NEGS_SHIFT); if ((arbneg & 0x7) == 0x0) { src = src & ~REG_NEGV_MASK; |