Mesa (mesa_7_7_branch): softpipe: fix bug in perspective corrected interpolants for lines
Brian Paul
brianp at kemper.freedesktop.org
Fri Feb 5 19:58:09 UTC 2010
Module: Mesa
Branch: mesa_7_7_branch
Commit: 3ca6cb3440705ffec470beb601cdc0c22089e3f1
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3ca6cb3440705ffec470beb601cdc0c22089e3f1
Author: Brian Paul <brianp at vmware.com>
Date: Fri Feb 5 12:48:37 2010 -0700
softpipe: fix bug in perspective corrected interpolants for lines
Thanks to Michal for finding this.
This will get fixed on the gallium-cylindrical-wrap branch and
then merged to master.
---
src/gallium/drivers/softpipe/sp_setup.c | 3 +--
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 478d8ef..4cd11dd 100644
--- a/src/gallium/drivers/softpipe/sp_setup.c
+++ b/src/gallium/drivers/softpipe/sp_setup.c
@@ -805,7 +805,6 @@ line_persp_coeff(const struct setup_context *setup,
struct tgsi_interp_coef *coef,
uint vertSlot, uint i)
{
- /* XXX double-check/verify this arithmetic */
const float a0 = setup->vmin[vertSlot][i] * setup->vmin[0][3];
const float a1 = setup->vmax[vertSlot][i] * setup->vmax[0][3];
const float da = a1 - a0;
@@ -813,7 +812,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] = (setup->vmin[vertSlot][i] -
+ coef->a0[i] = (a0 -
(dadx * (setup->vmin[0][0] - setup->pixel_offset) +
dady * (setup->vmin[0][1] - setup->pixel_offset)));
}
More information about the mesa-commit
mailing list