summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2011-01-25 11:57:35 -0700
committerBrian Paul <brianp@vmware.com>2011-02-21 17:29:18 -0700
commitfa5c4b988a750ec1fd84ab355d4dac83bbd74f13 (patch)
tree9e8f6677c2155e80bd5637e614dfd99aa1afc27b /src
parent0a218b00e7deeea0c217c5854eda0b667d98384a (diff)
softpipe: fix off-by-one error in setup_fragcoord_coeff()
If we invert Y, need to subtract one from the surface height. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=26795 for softpipe. NOTE: This is a candidate for the 7.9 and 7.10 branches. (cherry picked from commit 40ac24e631e694e00652a2df6c0ac5d0f07f620f)
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/softpipe/sp_setup.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/softpipe/sp_setup.c b/src/gallium/drivers/softpipe/sp_setup.c
index 5d727dc00df..0ce28f4c6ee 100644
--- a/src/gallium/drivers/softpipe/sp_setup.c
+++ b/src/gallium/drivers/softpipe/sp_setup.c
@@ -575,7 +575,7 @@ setup_fragcoord_coeff(struct setup_context *setup, uint slot)
setup->coef[slot].dady[0] = 0.0;
/*Y*/
setup->coef[slot].a0[1] =
- (spfs->origin_lower_left ? setup->softpipe->framebuffer.height : 0)
+ (spfs->origin_lower_left ? setup->softpipe->framebuffer.height-1 : 0)
+ (spfs->pixel_center_integer ? 0.0 : 0.5);
setup->coef[slot].dadx[1] = 0.0;
setup->coef[slot].dady[1] = spfs->origin_lower_left ? -1.0 : 1.0;