summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/nouveau/nv30_fragprog.c
diff options
context:
space:
mode:
authorBen Skeggs <darktama@iinet.net.au>2006-11-26 10:19:44 +0000
committerBen Skeggs <darktama@iinet.net.au>2006-11-26 10:19:44 +0000
commit6ff3d2577ec1099a90cce9292118814c00ab0e6a (patch)
tree5061a00a856dc98f25ed5d8795bfd79e29f570de /src/mesa/drivers/dri/nouveau/nv30_fragprog.c
parent9c9e6abbf82fbf591575a9c352f86721bc72aa90 (diff)
Fix progs/fp/tri-xpd
Fragprog consts are inlined, so make sure we update *all* occurances of a param :)
Diffstat (limited to 'src/mesa/drivers/dri/nouveau/nv30_fragprog.c')
-rw-r--r--src/mesa/drivers/dri/nouveau/nv30_fragprog.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/nouveau/nv30_fragprog.c b/src/mesa/drivers/dri/nouveau/nv30_fragprog.c
index 2e35d08c07..46391eb911 100644
--- a/src/mesa/drivers/dri/nouveau/nv30_fragprog.c
+++ b/src/mesa/drivers/dri/nouveau/nv30_fragprog.c
@@ -60,11 +60,15 @@ NV30FPUploadToHW(GLcontext *ctx, nouveauShader *nvs)
static void
NV30FPUpdateConst(GLcontext *ctx, nouveauShader *nvs, int id)
{
- uint32_t *current = nvs->program + nvs->params[id].hw_index;
uint32_t *new = nvs->params[id].source_val ?
nvs->params[id].source_val : nvs->params[id].val;
+ uint32_t *current;
+ int i;
- COPY_4V(current, new);
+ for (i=0; i<nvs->params[id].hw_index_cnt; i++) {
+ current = nvs->program + nvs->params[id].hw_index[i];
+ COPY_4V(current, new);
+ }
nvs->on_hardware = 0;
}