summaryrefslogtreecommitdiff
path: root/src/mesa
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2008-02-04 16:48:00 -0700
committerBen Skeggs <skeggsb@gmail.com>2008-02-15 13:50:30 +1100
commitd17e3362592c58f0d5d47745fd97b3b31d1a684a (patch)
tree95f4e42e17c964d4be6beb54cb7ddeca7987fbd0 /src/mesa
parent790eec9666ae6cc37ce4ba54cceff97e9eeb5ce3 (diff)
Cell: fix small sampling error in sample_texture_bilinear()
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/pipe/cell/spu/spu_texture.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/mesa/pipe/cell/spu/spu_texture.c b/src/mesa/pipe/cell/spu/spu_texture.c
index 9ee2b45e24..01ff33a857 100644
--- a/src/mesa/pipe/cell/spu/spu_texture.c
+++ b/src/mesa/pipe/cell/spu/spu_texture.c
@@ -150,6 +150,8 @@ sample_texture_bilinear(vector float texcoord)
static const vector unsigned int offset01 = {0, 1, 0, 0};
vector float tc = spu_mul(texcoord, spu.tex_size);
+ tc = spu_add(tc, spu_splats(-0.5f)); /* half texel bias */
+
/* integer texcoords S,T: */
vector unsigned int itc00 = spu_convtu(tc, 0); /* convert to int */
vector unsigned int itc01 = spu_add(itc00, offset01);