summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2010-02-05 12:57:11 -0700
committerMichal Krol <michal@vmware.com>2010-02-09 15:33:06 +0100
commita1a441179bacdd33e83a48651c7a7a2cc4a8a665 (patch)
treecfba98a3b3568156f6669979f54d6e89a6e1cf00
parentfd6701029b15260ecf26d4139defc51cd8546ee7 (diff)
fix bug in perspective corrected interpolants for lines
-rw-r--r--src/gallium/drivers/softpipe/sp_setup.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/gallium/drivers/softpipe/sp_setup.c b/src/gallium/drivers/softpipe/sp_setup.c
index 9036f32c09..b8590a8cc2 100644
--- a/src/gallium/drivers/softpipe/sp_setup.c
+++ b/src/gallium/drivers/softpipe/sp_setup.c
@@ -908,7 +908,6 @@ line_persp_coeff(const struct setup_context *setup,
uint i,
const float v[2])
{
- /* XXX double-check/verify this arithmetic */
const float a0 = v[0] * setup->vmin[0][3];
const float a1 = v[1] * setup->vmax[0][3];
const float da = a1 - a0;
@@ -916,7 +915,7 @@ line_persp_coeff(const struct setup_context *setup,
const float dady = da * setup->emaj.dy * setup->oneoverarea;
coef->dadx[i] = dadx;
coef->dady[i] = dady;
- coef->a0[i] = (v[0] - /* XXX: <-- shouldn't that be a0? */
+ coef->a0[i] = (a0 -
(dadx * (setup->vmin[0][0] - setup->pixel_offset) +
dady * (setup->vmin[0][1] - setup->pixel_offset)));
}