Module: Mesa
Branch: 7.8
Commit: 88f785935e43701a1ac56dae3952a915a9dd201b
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=88f785935e43701a1ac56dae3952a915a9dd201b

Author: Maciej Cencora <[email protected]>
Date:   Sun Mar 21 12:12:05 2010 +0100

r300: fix off by one

R300_PVS_MAX_CONST_ADDR field holds highest const addr, not
const count.

Fixes missing models and others rendering errors for vertex
program using 256 params.

---

 src/mesa/drivers/dri/r300/r300_vertprog.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/r300/r300_vertprog.c 
b/src/mesa/drivers/dri/r300/r300_vertprog.c
index 53fe948..a1fe378 100644
--- a/src/mesa/drivers/dri/r300/r300_vertprog.c
+++ b/src/mesa/drivers/dri/r300/r300_vertprog.c
@@ -409,6 +409,6 @@ void r300SetupVertexProgram(r300ContextPtr rmesa)
        rmesa->hw.pvs.cmd[R300_PVS_CNTL_1] = (0 << R300_PVS_FIRST_INST_SHIFT) | 
(inst_count << R300_PVS_XYZW_VALID_INST_SHIFT) |
                                (inst_count << R300_PVS_LAST_INST_SHIFT);
 
-       rmesa->hw.pvs.cmd[R300_PVS_CNTL_2] = (0 << 
R300_PVS_CONST_BASE_OFFSET_SHIFT) | (param_count << 
R300_PVS_MAX_CONST_ADDR_SHIFT);
+       rmesa->hw.pvs.cmd[R300_PVS_CNTL_2] = (0 << 
R300_PVS_CONST_BASE_OFFSET_SHIFT) | ((param_count - 1) << 
R300_PVS_MAX_CONST_ADDR_SHIFT);
        rmesa->hw.pvs.cmd[R300_PVS_CNTL_3] = (inst_count << 
R300_PVS_LAST_VTX_SRC_INST_SHIFT);
 }

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to